Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

SingleNetworkMinimizableOLD.h

Go to the documentation of this file.
00001 // SingleNetworkMinimizable.h: interface for the SingleNetworkMinimizable class.
00002 //
00004 
00005 #if !defined(AFX_SINGLENETWORKMINIMIZABLE_H__8F38BFB2_7B39_41DB_A979_3A20AD69180D__INCLUDED_)
00006 #define AFX_SINGLENETWORKMINIMIZABLE_H__8F38BFB2_7B39_41DB_A979_3A20AD69180D__INCLUDED_
00007 
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011 
00012 #include <iomanip>
00013 #include <cmath>
00014 #include <assert.h>
00015 #include "SubjectObserver.h"
00016 #include "NLLSMinimizable.h"
00017 #include "Experiment.h"
00018 #include "ReactionMover.h"
00019 #include "CellAverageObserver.h"
00020 #include "ConversionFactor.h"
00021 
00022 class SingleNetworkMinimizable : public NLLSMinimizable, public Subject  
00023 {
00024 public:
00025         // default construction gives no free parameters (nothing to optimize)
00026         SingleNetworkMinimizable();
00027         SingleNetworkMinimizable(Experiment *experiment,CReactionMover *reactionMover,bool rateConstantsOptimizable,bool initialChemConcOptimizable,bool logsInObjectiveFunction,double timeSeriesWeight,double rateConstantsWeight,double initialChemConcWeight,int nCells=1);
00028         // probably only necessary temporarily
00029         void Initialize(Experiment *experiment, CReactionMover *reactionMover, int nCells, bool rateConstantsOptimizable, bool initialChemConcOptimizable, bool logsInObjectiveFunction, double timeSeriesWeight, double rateConstantsWeight, double initialChemConcWeight);
00030         virtual ~SingleNetworkMinimizable();
00031         // Get() functions
00032         Experiment *GetExperiment() {return experiment;}
00033         CellAverageObserver *GetCellObserver() {return cellObserver;}
00034         int GetNCells() {return nCells;} 
00035         bool GetRateConstantsOptimizable() const {return rateConstantsOptimizable;}
00036         bool GetInitialChemConcOptimizable() const {return initialChemConcOptimizable;}
00037         bool GetLogsInObjectiveFunction() const {return logsInObjectiveFunction;}
00038         double GetTimeSeriesWeight() const {return timeSeriesWeight;}
00039         double GetRateConstantsWeight() const {return rateConstantsWeight;}
00040         double GetInitialChemConcWeight() const {return initialChemConcWeight;}
00041         void SetTimeSeriesWeight(double timeSeriesWeight) {this->timeSeriesWeight = timeSeriesWeight;}
00042         void SetRateConstantsWeight(double rateConstantsWeight) {this->rateConstantsWeight = rateConstantsWeight;}
00043         void SetInitialChemConcWeight(double initialChemConcWeight) {this->initialChemConcWeight = initialChemConcWeight;}
00044         //double *GetParameters();
00045         double GetParameter(int parIndex);
00046         // overloaded from base classes
00047         int GetNParameters();
00048         double ComputeResiduals(double *parameters);
00049         CConversionFactor *GetConversionFactor(int factorIndex) {return m_pConversionFactors[factorIndex];} 
00050         virtual double ComputeES(double *parameters, double T);
00051         virtual double EntropyShift(double T);
00052         virtual double F(double *parameters, double T);
00053         virtual double F0(double *parameters, double T);
00054         int GetNBFactors() {return m_iNBFactors;}
00055 private:
00056         bool rateConstantsOptimizable;
00057         bool initialChemConcOptimizable;
00058         bool logsInObjectiveFunction;
00059         Experiment *experiment;
00060         CReactionMover *reactionMover;
00061         CellAverageObserver *cellObserver;
00062         int nCells;
00063         double timeSeriesWeight;
00064         double rateConstantsWeight;
00065         double initialChemConcWeight;
00066         double *initialNetworkData;
00067         double *currentNetworkData;
00068         std::vector<CConversionFactor *> m_pConversionFactors;
00069         // maybe don't need
00070         int m_iNBFactors;
00071 };
00072 
00073 #endif // !defined(AFX_SINGLENETWORKMINIMIZABLE_H__8F38BFB2_7B39_41DB_A979_3A20AD69180D__INCLUDED_)

Generated on Mon Nov 3 09:38:15 2003 by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002