# 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