Ipopt  trunk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SensAlgorithm.hpp
Go to the documentation of this file.
00001 // Copyright 2009, 2011 Hans Pirnay
00002 // All Rights Reserved.
00003 // This code is published under the Eclipse Public License.
00004 //
00005 // Date   : 2009-05-06
00006 
00007 #ifndef __SENSALGORITHM_HPP__
00008 #define __SENSALGORITHM_HPP__
00009 
00010 #include "IpAlgStrategy.hpp"
00011 #include "SensStepCalc.hpp"
00012 #include "SensMeasurement.hpp"
00013 #include "SensSchurDriver.hpp"
00014 #include "SensUtils.hpp"
00015 
00016 namespace Ipopt
00017 {
00018 
00019   class SensAlgorithm : public AlgorithmStrategyObject
00020   {
00024   public:
00025 
00026     SensAlgorithm(std::vector< SmartPtr<SchurDriver> >& driver_vec,
00027                   SmartPtr<SensitivityStepCalculator> sens_step_calc,
00028                   SmartPtr<Measurement> measurement,
00029                   Index n_sens_steps);
00030 
00031     virtual ~SensAlgorithm();
00032 
00033     virtual bool InitializeImpl(const OptionsList& options,
00034                                 const std::string& prefix);
00035 
00039     SensAlgorithmExitStatus Run();
00040 
00041   private:
00042 
00043     std::vector< SmartPtr<SchurDriver> > driver_vec_;
00044     SmartPtr<SensitivityStepCalculator> sens_step_calc_;
00045     SmartPtr<Measurement> measurement_;
00046     Index n_sens_steps_; // I think it is useful to state this number explicitly in the constructor and here.
00047 
00048   };
00049 }
00050 
00051 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines