#include <observable.hh>
Observables keep track of the counts of specific Molecule configurations in the system. Observables use TemplateMolecules to determine if a Molecule configuration should be counted as an Observable. Users have the choice of computing Observables on the fly so that they are incrementally updated after each event or recomputing all Observables before each output step.
Public Member Functions | |
Observable (string name) | |
virtual | ~Observable () |
virtual Observable * | clone ()=0 |
void | add () |
void | straightAdd () |
void | subtract () |
void | straightSubtract () |
void | clear () |
int | getCount () const |
string | getName () const |
int | getType () const |
void | getTemplateMoleculeList (int &n_templates, TemplateMolecule **&tmList) |
void | addReferenceToMyself (mu::Parser *p) |
void | addReferenceToMyself (string referenceName, mu::Parser *p) |
void | addDependentRxn (ReactionClass *r) |
virtual int | isObservable (Molecule *m) const =0 |
virtual int | isObservable (Complex *c) const =0 |
Static Public Attributes | |
static const int | NO_RELATION = -1 |
static const int | EQUALS = 0 |
static const int | NOT_EQUALS = 1 |
static const int | GREATER_THAN = 2 |
static const int | LESS_THAN = 3 |
static const int | GREATOR_OR_EQUAL_TO = 4 |
static const int | LESS_THAN_OR_EQUAL_TO = 5 |
static const int | NO_TYPE = 0 |
static const int | MOLECULES = 1 |
static const int | SPECIES = 2 |
Protected Attributes | |
string | obsName |
int | type |
double | count |
int | n_templates |
TemplateMolecule ** | templateMolecules |
int | n_dependentRxns |
ReactionClass ** | dependentRxns |
Observable::Observable | ( | string | name | ) |
Constructor that creates a basic Observable which monitors the given TemplateMolecule and can be referenced via the alias name
Deconstructor that doesn't do too much. It doesn't free the memory associated with the TemplateMolecule because the MoleculeType class handles that.
Observable::~Observable | ( | ) | [virtual] |
virtual Observable* NFcore::Observable::clone | ( | ) | [pure virtual] |
Implemented in NFcore::MoleculesObservable, and NFcore::SpeciesObservable.
void Observable::add | ( | ) |
void Observable::straightAdd | ( | ) |
void Observable::subtract | ( | ) |
void Observable::straightSubtract | ( | ) |
void NFcore::Observable::clear | ( | ) | [inline] |
int NFcore::Observable::getCount | ( | ) | const [inline] |
string NFcore::Observable::getName | ( | ) | const [inline] |
int NFcore::Observable::getType | ( | ) | const [inline] |
void Observable::getTemplateMoleculeList | ( | int & | n_templates, | |
TemplateMolecule **& | tmList | |||
) |
void Observable::addReferenceToMyself | ( | mu::Parser * | p | ) |
void Observable::addReferenceToMyself | ( | string | referenceName, | |
mu::Parser * | p | |||
) |
void Observable::addDependentRxn | ( | ReactionClass * | r | ) |
virtual int NFcore::Observable::isObservable | ( | Molecule * | m | ) | const [pure virtual] |
Implemented in NFcore::MoleculesObservable, and NFcore::SpeciesObservable.
virtual int NFcore::Observable::isObservable | ( | Complex * | c | ) | const [pure virtual] |
Implemented in NFcore::MoleculesObservable, and NFcore::SpeciesObservable.
const int NFcore::Observable::NO_RELATION = -1 [static] |
const int NFcore::Observable::EQUALS = 0 [static] |
const int NFcore::Observable::NOT_EQUALS = 1 [static] |
const int NFcore::Observable::GREATER_THAN = 2 [static] |
const int NFcore::Observable::LESS_THAN = 3 [static] |
const int NFcore::Observable::GREATOR_OR_EQUAL_TO = 4 [static] |
const int NFcore::Observable::LESS_THAN_OR_EQUAL_TO = 5 [static] |
const int NFcore::Observable::NO_TYPE = 0 [static] |
const int NFcore::Observable::MOLECULES = 1 [static] |
const int NFcore::Observable::SPECIES = 2 [static] |
string NFcore::Observable::obsName [protected] |
int NFcore::Observable::type [protected] |
double NFcore::Observable::count [protected] |
int NFcore::Observable::n_templates [protected] |
TemplateMolecule** NFcore::Observable::templateMolecules [protected] |
int NFcore::Observable::n_dependentRxns [protected] |
ReactionClass** NFcore::Observable::dependentRxns [protected] |