sc::Compute Class Reference

The Compute class provides a means of keeping results up to date. More...

#include <compute.h>

Inheritance diagram for sc::Compute:

sc::Function sc::MolecularEnergy sc::Volume sc::Wavefunction sc::BatchElectronDensity sc::ElectronDensity sc::Shape sc::MBPT2 sc::OneBodyWavefunction sc::PsiWavefunction sc::ConnollyShape sc::UnionShape sc::MBPT2_R12 sc::SCF sc::PsiCCSD sc::PsiCCSD_T sc::PsiSCF sc::DiscreteConnollyShape sc::VDWShape sc::CLSCF sc::HSOSSCF sc::UnrestrictedSCF sc::PsiCLHF sc::PsiHSOSHF sc::PsiUHF sc::CLHF sc::CLKS sc::HSOSHF sc::HSOSKS sc::UHF sc::UKS List of all members.

Public Member Functions

virtual void obsolete ()
 Marks all results as being out of date.

Protected Member Functions

virtual void compute ()=0
 Recompute at least the results that have compute true and are not already computed.

Friends

class ResultInfo
class AccResultInfo

Detailed Description

The Compute class provides a means of keeping results up to date.

Derived classes can have member data which is registered with the compute class. When this member data is accessed and it is not available, the compute member function is called. The compute member must be implemented in derived classes and is responsible for computed the requested result.


Member Function Documentation

virtual void sc::Compute::compute (  )  [protected, pure virtual]

Recompute at least the results that have compute true and are not already computed.

This should only be called by Result's members.

Implemented in sc::MBPT2, sc::MBPT2_R12, sc::PsiWavefunction, sc::SCF, sc::ElectronDensity, sc::BatchElectronDensity, sc::Shape, and sc::Volume.

virtual void sc::Compute::obsolete (  )  [virtual]

Marks all results as being out of date.

Any subsequent access to results will cause Compute::compute() to be called.

Reimplemented in sc::MBPT2, sc::MBPT2_R12, sc::SCF, and sc::Wavefunction.


The documentation for this class was generated from the following file:
Generated at Mon Dec 3 23:24:01 2007 for MPQC 2.3.1 using the documentation package Doxygen 1.5.2.