00001 // Components.h: interface for the CComponents class. 00002 // 00004 00005 #if !defined(AFX_COMPONENTS_H__B03B7767_4F0E_11D3_8AFC_00105AC65E34__INCLUDED_) 00006 #define AFX_COMPONENTS_H__B03B7767_4F0E_11D3_8AFC_00105AC65E34__INCLUDED_ 00007 00008 #if _MSC_VER >= 1000 00009 #pragma once 00010 #endif // _MSC_VER >= 1000 00011 00012 class CCell; 00013 00014 #define NBIOVARS 20 00015 00016 class CComponents 00017 { 00018 public: 00019 00020 void NextY(); 00021 void Divide(); 00022 void ResetY(int i); 00023 double GetDY9(); 00024 double GetDY8S(); 00025 double GetDY6S(); 00026 void FirstInt(); 00027 double GetY(int i); 00028 void StartAverages(); 00029 void Initialize(); 00030 void Integrate(); 00031 CComponents(const CComponents& rComp, CCell* pCell); 00032 int test; 00033 CComponents(CCell* pCell); //constructor 00034 virtual ~CComponents(); 00035 CComponents& operator=(const CComponents& rhs); //assignment operator 00036 CComponents(const CComponents& rComp); //copy constructor 00037 double DT; //Time step 00038 double DEV; //Allowable deviation in corrector 00039 private: 00040 int ITN; 00041 int NT2; 00042 void Flux(double* Y, double* DY); 00043 void CheckNegConc(); 00044 void TruncatedError(); 00045 void DecideStepSize(); 00046 void PredictorCorrector(); 00047 CComponents(); //default constructor not to be used 00048 CCell* m_pCell; //pointer to parent cell 00049 int NDimensions; //Number of dimensions 00050 double InitialValues[NBIOVARS]; //dynamically allocated initial values array 00051 double Averages[NBIOVARS]; //array for time average of component over a generation 00052 double KR[27]; //ratio for adjusting kinetics 00053 double Y0[NBIOVARS]; 00054 double Y1[NBIOVARS]; 00055 double Y2[NBIOVARS]; 00056 double Y2EST[NBIOVARS]; 00057 double E3Rate; //Rate constant for E3 00058 //double CPDnaA; //Rate of DnaA production 00059 double TotalTime; //For computing averages 00060 double Y[NBIOVARS]; //array of components 00061 double DY6S; //Protein synthesis 00062 double DY8S; //DNA synthesis 00063 double DY9; //Cell envelope synthesis 00064 double CA1; //External ammonium ion concentration 00065 double CA2; //External glucose concentration 00066 double CA3; //external ribonucleotide concentration 00067 }; 00068 00069 #endif