#include <RateTerm.h>
Public Member Functions | |
StochNOrder (double k, vector< unsigned int > v) | |
double | operator() (const double *S) const |
Computes the rate. The argument is the molecule array. | |
RateTerm * | copyWithVolScaling (double vol, double sub, double prd) const |
This is an unpleasant case, like the StochSecondOrderSingleSubstrate. Here we deal with the possibility that one or more of the substrates may be of order greater than one. If so, we need to diminish the N of each substrate by one for each time the substrate is factored into the rate.
StochNOrder::StochNOrder | ( | double | k, | |
vector< unsigned int > | v | |||
) |
Referenced by copyWithVolScaling().
RateTerm* StochNOrder::copyWithVolScaling | ( | double | vol, | |
double | sub, | |||
double | prd | |||
) | const [inline, virtual] |
Duplicates rate term and then applies volume scaling. Arguments are volume of reference voxel, product of vol/refVol for all substrates: applied to R1 product of vol/refVol for all products: applied to R2
Note that unless the reaction is cross-compartment, the vol/refVol will be one.
Reimplemented from NOrder.
References ZeroOrder::k_, NA, StochNOrder(), and NOrder::v_.
double StochNOrder::operator() | ( | const double * | S | ) | const [virtual] |
Computes the rate. The argument is the molecule array.
Reimplemented from NOrder.
References ZeroOrder::k_, NOrder::v_, and y.