20 "Sends out increment of molecules on product each timestep"
28 "Sends out increment of molecules on product each timestep"
40 "Michaelis-Menten constant in SI conc units (milliMolar)",
47 "Michaelis-Menten constant in number units, volume dependent",
54 "Forward rate constant for enzyme, units 1/sec",
61 "Number of substrates in this MM reaction. Usually 1."
62 "Does not include the enzyme itself",
68 "Number of products in this MM reaction. Usually 1.",
77 "Handles process call",
81 "Handles reinit call",
91 "Tells the MMEnz to recompute its numKm after remeshing",
98 "Handles # of molecules of Enzyme",
101 "Handles # of molecules of substrate",
104 "Handles # of molecules of product. Dummy.",
106 static Finfo* subShared[] = {
110 static Finfo* prdShared[] = {
114 "Connects to substrate molecule",
115 subShared,
sizeof( subShared ) /
sizeof(
const Finfo* )
118 "Connects to product molecule",
119 prdShared,
sizeof( prdShared ) /
sizeof(
const Finfo* )
121 static Finfo* procShared[] = {
125 "Shared message for process and reinit",
126 procShared,
sizeof( procShared ) /
sizeof(
const Finfo* )
129 static Finfo* enzBaseFinfos[] = {
142 static string doc[] =
145 "Author",
"Upi Bhalla",
146 "Description",
"Abstract base class for enzymes."
153 sizeof( enzBaseFinfos ) /
sizeof (
Finfo* ),
156 sizeof( doc )/
sizeof(
string ),
263 const vector< MsgFuncBinding >* mfb =
266 return ( mfb->size() );
271 const vector< MsgFuncBinding >* mfb =
274 return ( mfb->size() );
293 if ( orig->
cinfo() == zClass )
299 vector< double > Km( num, 0.0 );
300 vector< double > kcat( num, 0.0 );
301 for (
unsigned int i = 0; i < num; ++i ) {
302 Eref er( orig, i + start );
306 Km[ i ] = eb->
getKm( er );
309 for (
unsigned int i = 0; i < num; ++i ) {
310 Eref er( orig, i + start );
314 eb->
setKm( er, Km[i] );
virtual void vReinit(const Eref &e, ProcPtr p)
virtual double vGetKcat(const Eref &e) const =0
unsigned int getNumPrd(const Eref &e) const
static SrcFinfo2< double, double > * subOut()
static const Cinfo * enzBaseCinfo
void setNumKm(const Eref &e, double v)
double getKm(const Eref &e) const
double getNumKm(const Eref &e) const
static void zombify(Element *original, const Cinfo *zClass, Id solver)
virtual double vGetNumKm(const Eref &e) const =0
virtual void zombieSwap(const Cinfo *zCinfo)
virtual func, this base version must be called by all derived classes
Element * element() const
virtual double vGetKm(const Eref &e) const =0
virtual void vEnz(double n)
unsigned int getNumSub(const Eref &e) const
void setKm(const Eref &e, double v)
virtual void vProcess(const Eref &e, ProcPtr p)
const vector< MsgFuncBinding > * getMsgAndFunc(BindIndex b) const
const Cinfo * cinfo() const
virtual void vSetKcat(const Eref &e, double v)=0
void remesh(const Eref &e)
virtual unsigned int localDataStart() const =0
Returns index of first data entry on this node.
virtual unsigned int numLocalData() const =0
Returns number of local data entries on this node.
virtual void vSetKm(const Eref &e, double v)=0
double getKcat(const Eref &e) const
virtual void vRemesh(const Eref &e)
static const Cinfo * initCinfo()
void process(const Eref &e, ProcPtr p)
static SrcFinfo2< double, double > * prdOut()
virtual void vSetNumKm(const Eref &e, double v)=0
void setKcat(const Eref &e, double v)
virtual void vSub(double n)
static const Cinfo * initCinfo()
void reinit(const Eref &e, ProcPtr p)
virtual void setSolver(Id solver, Id orig)
Assign solver info.