ProtoMol - an object-oriented component based framework for Molecular Dynamics simulations.

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

ProtoMol::Output Class Reference

#include <Output.h>

Inheritance diagram for ProtoMol::Output:

ProtoMol::Makeable ProtoMol::OutputDCDTrajectory ProtoMol::OutputFile ProtoMol::OutputFinalPDBPos ProtoMol::OutputFinalPSF ProtoMol::OutputFinalXSC ProtoMol::OutputFinalXYZBinPos ProtoMol::OutputFinalXYZBinVel ProtoMol::OutputFinalXYZPos ProtoMol::OutputFinalXYZVel ProtoMol::OutputPDBFramePos ProtoMol::OutputScreen ProtoMol::OutputXYZTrajectoryForce ProtoMol::OutputXYZTrajectoryPos ProtoMol::OutputXYZTrajectoryVel List of all members.

Public Member Functions

 Output ()
 Output (int freq)
void initialize (const Configuration *config, const Integrator *integrator, const GenericTopology *topo, const Vector3DBlock *pos, const Vector3DBlock *vel, const ScalarStructure *energies)
void run (int step)
void finalize (int step)
Outputmake (std::string &errMsg, const std::vector< Value > &values) const
virtual bool isIdDefined (const Configuration *config) const
virtual bool addDoKeyword () const
void setCache (const OutputCache *cache)
int getFirstStep () const
int getLastStep () const
int getOutputFreq () const
int getNext () const
bool first () const
virtual std::string getScope () const

Static Public Attributes

const std::string scope

Protected Attributes

int myOutputFreq
const ConfigurationmyConfig
const GenericTopologymyTopology
const IntegratormyIntegrator
const ScalarStructuremyEnergies
const Vector3DBlockmyPositions
const Vector3DBlockmyVelocities
const OutputCachemyCache

Private Member Functions

virtual void doInitialize ()=0
virtual void doRun (int step)=0
virtual void doFinalize (int step)=0
virtual OutputdoMake (std::string &errMsg, const std::vector< Value > &values) const=0

Private Attributes

int myFirstStep
int myLastStep
int myNextStep
bool myFirst

Detailed Description

Base class of all Output classes to dump data at a given frequency. The actual output frequency is defined by global output frequency times the the frequency of the concrete class. The global output frequency is also used to define the number of steps to run the integrator. It keeps pointers to the topology, positions, velocities, integrator and to a cache object. The cache object provides method the retrieve values such that other output objects can reuse the values rather to recompute them again. Output objects are aggregated in OutputCollection, which invokes them one by one at application level. If you only need to print some output to a file you should rather inherit from OutputFile, then inherit directly from Output.


Constructor & Destructor Documentation

ProtoMol::Output::Output  ) 
 

ProtoMol::Output::Output int  freq  ) 
 


Member Function Documentation

virtual bool ProtoMol::Output::addDoKeyword  )  const [inline, virtual]
 

Defines if the output object supports do<getId()> to enable or disable the output.

Reimplemented in ProtoMol::OutputScreen.

virtual void ProtoMol::Output::doFinalize int  step  )  [private, pure virtual]
 

Hook method of finalize, implemented in the concrete class.

Implemented in ProtoMol::OutputDCDTrajectory, ProtoMol::OutputDihedrals, ProtoMol::OutputFile, ProtoMol::OutputFinalPDBPos, ProtoMol::OutputFinalXYZBinPos, ProtoMol::OutputFinalXYZBinVel, ProtoMol::OutputFinalXYZPos, ProtoMol::OutputFinalXYZVel, ProtoMol::OutputPDBFramePos, ProtoMol::OutputScreen, ProtoMol::OutputXYZTrajectoryForce, ProtoMol::OutputXYZTrajectoryPos, ProtoMol::OutputXYZTrajectoryVel, ProtoMol::OutputFinalPSF, and ProtoMol::OutputFinalXSC.

virtual void ProtoMol::Output::doInitialize  )  [private, pure virtual]
 

Hook method of initialize, implemented in the concrete class.

Implemented in ProtoMol::OutputDCDTrajectory, ProtoMol::OutputDiffusion, ProtoMol::OutputDihedrals, ProtoMol::OutputEnergies, ProtoMol::OutputFinalPDBPos, ProtoMol::OutputFinalXYZBinPos, ProtoMol::OutputFinalXYZBinVel, ProtoMol::OutputFinalXYZPos, ProtoMol::OutputFinalXYZVel, ProtoMol::OutputMomentum, ProtoMol::OutputPaulTrap, ProtoMol::OutputPDBFramePos, ProtoMol::OutputScreen, ProtoMol::OutputTemperatures, ProtoMol::OutputXYZTrajectoryForce, ProtoMol::OutputXYZTrajectoryPos, ProtoMol::OutputXYZTrajectoryVel, ProtoMol::OutputFinalPSF, ProtoMol::OutputFinalXSC, and ProtoMol::OutputISGProperties.

virtual Output* ProtoMol::Output::doMake std::string &  errMsg,
const std::vector< Value > &  values
const [private, pure virtual]
 

Implemented in ProtoMol::OutputDCDTrajectory, ProtoMol::OutputDiffusion, ProtoMol::OutputDihedrals, ProtoMol::OutputEnergies, ProtoMol::OutputFinalPDBPos, ProtoMol::OutputFinalXYZBinPos, ProtoMol::OutputFinalXYZBinVel, ProtoMol::OutputFinalXYZPos, ProtoMol::OutputFinalXYZVel, ProtoMol::OutputMomentum, ProtoMol::OutputPaulTrap, ProtoMol::OutputPDBFramePos, ProtoMol::OutputScreen, ProtoMol::OutputTemperatures, ProtoMol::OutputXYZTrajectoryForce, ProtoMol::OutputXYZTrajectoryPos, ProtoMol::OutputXYZTrajectoryVel, ProtoMol::OutputFinalPSF, ProtoMol::OutputFinalXSC, and ProtoMol::OutputISGProperties.

virtual void ProtoMol::Output::doRun int  step  )  [private, pure virtual]
 

Hook method of run, implemented in the concrete class.

Implemented in ProtoMol::OutputDCDTrajectory, ProtoMol::OutputFile, ProtoMol::OutputFinalPDBPos, ProtoMol::OutputFinalXYZBinPos, ProtoMol::OutputFinalXYZBinVel, ProtoMol::OutputFinalXYZPos, ProtoMol::OutputFinalXYZVel, ProtoMol::OutputPDBFramePos, ProtoMol::OutputScreen, ProtoMol::OutputXYZTrajectoryForce, ProtoMol::OutputXYZTrajectoryPos, ProtoMol::OutputXYZTrajectoryVel, ProtoMol::OutputFinalPSF, and ProtoMol::OutputFinalXSC.

void ProtoMol::Output::finalize int  step  ) 
 

bool ProtoMol::Output::first  )  const [inline]
 

int ProtoMol::Output::getFirstStep  )  const [inline]
 

int ProtoMol::Output::getLastStep  )  const [inline]
 

int ProtoMol::Output::getNext  )  const [inline]
 

int ProtoMol::Output::getOutputFreq  )  const [inline]
 

virtual std::string ProtoMol::Output::getScope  )  const [inline, virtual]
 

Implements ProtoMol::Makeable.

void ProtoMol::Output::initialize const Configuration config,
const Integrator integrator,
const GenericTopology topo,
const Vector3DBlock pos,
const Vector3DBlock vel,
const ScalarStructure energies
 

To initialize the object, before the simulation starts.

bool ProtoMol::Output::isIdDefined const Configuration config  )  const [virtual]
 

Should return true if the concrete object is defined/specified in Configuration by the user. Normally if gedId() has a valid value in Configuration.

Reimplemented in ProtoMol::OutputScreen.

Output* ProtoMol::Output::make std::string &  errMsg,
const std::vector< Value > &  values
const
 

Factory method to create a complete output object from its prototype.

void ProtoMol::Output::run int  step  ) 
 

void ProtoMol::Output::setCache const OutputCache cache  ) 
 

Set the cache object, such that not each output object has to re-compute same values of interest. the cache object is shared among all output objects in OutputCollection.


Member Data Documentation

const OutputCache* ProtoMol::Output::myCache [protected]
 

Pointer to the shared cache object.

const Configuration* ProtoMol::Output::myConfig [protected]
 

const ScalarStructure* ProtoMol::Output::myEnergies [protected]
 

bool ProtoMol::Output::myFirst [private]
 

int ProtoMol::Output::myFirstStep [private]
 

const Integrator* ProtoMol::Output::myIntegrator [protected]
 

int ProtoMol::Output::myLastStep [private]
 

int ProtoMol::Output::myNextStep [private]
 

int ProtoMol::Output::myOutputFreq [protected]
 

Output freqeuncy.

const Vector3DBlock* ProtoMol::Output::myPositions [protected]
 

const GenericTopology* ProtoMol::Output::myTopology [protected]
 

const Vector3DBlock* ProtoMol::Output::myVelocities [protected]
 

const string ProtoMol::Output::scope [static]
 


The documentation for this class was generated from the following files: Last update: . GNU GENERAL PUBLIC LICENSE, copyrighted by the University of Notre Dame and the University of Bergen, Norway.