00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _ENZ_BASE_H
00011 #define _ENZ_BASE_H
00012
00018 class EnzBase
00019 {
00020 public:
00021 EnzBase();
00022 virtual ~EnzBase();
00023
00025
00027 void setKm( const Eref& e, double v );
00028 double getKm( const Eref& e ) const;
00029 void setNumKm( const Eref& e, double v );
00030 double getNumKm( const Eref& e ) const;
00031 void setKcat( const Eref& e, double v );
00032 double getKcat( const Eref& e ) const;
00033
00034
00035 unsigned int getNumSub( const Eref& e ) const;
00036
00038
00040 virtual void vSetKm( const Eref& e, double v ) = 0;
00041 virtual double vGetKm( const Eref& e ) const = 0;
00042 virtual void vSetNumKm( const Eref& e, double v ) = 0;
00043 virtual double vGetNumKm( const Eref& e ) const = 0;
00044 virtual void vSetKcat( const Eref& e, double v ) = 0;
00045 virtual double vGetKcat( const Eref& e ) const = 0;
00046
00048
00050 void process( const Eref& e, ProcPtr p );
00051 void reinit( const Eref& e, ProcPtr p );
00052 void sub( double n );
00053 void enz( double n );
00054 void prd( double n );
00055 void remesh( const Eref& e );
00057
00059 virtual void vProcess( const Eref& e, ProcPtr p );
00060 virtual void vReinit( const Eref& e, ProcPtr p );
00061 virtual void vSub( double n );
00062 virtual void vEnz( double n );
00063 virtual void vRemesh( const Eref& e );
00064
00066
00068 static void zombify( Element* original, const Cinfo* zClass,
00069 Id solver );
00071 virtual void setSolver( Id solver, Id orig );
00072
00074
00075 static const Cinfo* initCinfo();
00076 private:
00077 };
00078
00079 #endif // ENZ_BASE_H