#include <Observable.hh>
Inherits prf::Named.
Inherited by ContactOrder, prf::AtomDistance, prf::Chi, prf::ContactMap, prf::Energy, prf::MCTotEnergy, prf::NativenessQ, prf::OligoOrient, prf::ProteinRMSD, prf::RC_phi, prf::RC_psi, prf::RCAngleRMSD, prf::RCBin, and prf::Rg.
Inheritance diagram for prf::Observable:

Public Member Functions | |
| void | set (std::string cmd) |
| Give the object an instruction to process during initialization. | |
| virtual int | init_obs () |
| All observables must implement one initialize routine. | |
| virtual void | refresh (int tindx=0) |
| Necessary before an observable value is used. | |
| virtual void | rangeEstimate (double &x1, double &x2) |
| Estimate a range in which values of this observable are expected. | |
| double | operator() () |
| Retrieve the value of the observable. | |
| double | Value () |
| Retrieve the value of the observable. | |
| int Observable::init_obs | ( | ) | [virtual] |
Even if it seems that one particular observable might need additional arguments during initialization, it is advantageous to have a uniform syntax for all of them. So, when additional arguments are needed, one should provide them in a separate function called before initialization, and then call init_obs without arguments. The name init_obs instead of a more natural "init" or "initialize" is because an Observable often inherits from other classes which represent its character more fundamentally. So, the names such as "init" are kept free for such base classes.
Reimplemented in prf::AtomDistance, prf::ContactMap, ContactOrder, prf::NativenessQ, prf::OligoOrient, prf::ProteinRMSD, prf::RCAngleRMSD, prf::Rg, and prf::RCBin.
| void Observable::refresh | ( | int | tindx = 0 |
) | [virtual] |
This is done because complex observables like RMSD are not evaluated at every step. A call to refresh() would make sure that the Observable has its most current value. The optional argument tindx was introduced in version 1.1 when management of histograms was relocated from ObsHandler class to the Observable class. The argument tells the Observable object about a "temperature index" which it can use to put the current data in the appropriate histogram block.
Reimplemented in prf::MCTotEnergy, prf::Energy, prf::AtomDistance, prf::ContactMap, ContactOrder, prf::NativenessQ, prf::OligoOrient, prf::ProteinRMSD, prf::RCAngleRMSD, prf::Rg, and prf::RCBin.
| void Observable::rangeEstimate | ( | double & | x1, | |
| double & | x2 | |||
| ) | [virtual] |
The default is between 0 and 1. So, for observables with values always between 0 and 1, you need not over-write this virtual function. Sometimes the observable will have a different fixed range, determined by its definition. Sometimes the range can not be determined perfectly. In such a case, let this function just return something reasonable.
Reimplemented in prf::MCTotEnergy, prf::Bias, prf::Energy, prf::ExVol, prf::HBMM, prf::HBMS, prf::Hydrophobicity, prf::LocExVol, prf::AtomDistance, prf::ContactMap, ContactOrder, prf::OligoOrient, prf::RC_phi, prf::RC_psi, prf::Chi, prf::ProteinRMSD, prf::RCAngleRMSD, prf::Rg, and prf::RCBin.