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::OutputCollection Class Reference

#include <OutputCollection.h>

List of all members.

Public Types

typedef std::list< Output
* >::const_iterator 
const_iterator

Public Member Functions

 OutputCollection ()
 ~OutputCollection ()
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)
int getNext () const
void adoptOutput (Output *output)
template<class T> void addToCache (const T &obj)
const_iterator begin () const
const_iterator end () const

Private Types

typedef std::list< Output * > Container
typedef std::list< Output
* >::iterator 
iterator

Private Member Functions

iterator begin ()
iterator end ()

Private Attributes

Container myOutputList
OutputCachemyCache
const ConfigurationmyConfig
const GenericTopologymyTopology
const IntegratormyIntegrator
const ScalarStructuremyEnergies
const Vector3DBlockmyPositions
const Vector3DBlockmyVelocities

Friends

class OutputFactoryDetails


Detailed Description

Container class for Output objects invoked at application level. Holds a cache object for reuse of values, which need to be computed from volatile values. The cache is cleared before invoking the first Output object.


Member Typedef Documentation

typedef std::list<Output*>::const_iterator ProtoMol::OutputCollection::const_iterator
 

typedef std::list<Output*> ProtoMol::OutputCollection::Container [private]
 

typedef std::list<Output*>::iterator ProtoMol::OutputCollection::iterator [private]
 


Constructor & Destructor Documentation

ProtoMol::OutputCollection::OutputCollection  ) 
 

ProtoMol::OutputCollection::~OutputCollection  ) 
 


Member Function Documentation

template<class T>
void ProtoMol::OutputCollection::addToCache const T &  obj  )  [inline]
 

Add a structure or value to Cache.

void ProtoMol::OutputCollection::adoptOutput Output output  ) 
 

Add new Output object to the collection.

iterator ProtoMol::OutputCollection::begin  )  [inline, private]
 

Iterators.

const_iterator ProtoMol::OutputCollection::begin  )  const [inline]
 

Iterators, const.

iterator ProtoMol::OutputCollection::end  )  [inline, private]
 

const_iterator ProtoMol::OutputCollection::end  )  const [inline]
 

void ProtoMol::OutputCollection::finalize int  step  ) 
 

Finalize all Outout objects.

int ProtoMol::OutputCollection::getNext  )  const
 

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

Initialize all Output objects.

void ProtoMol::OutputCollection::run int  step  ) 
 

Invoke all Output objects with run().


Friends And Related Function Documentation

friend class OutputFactoryDetails [friend]
 


Member Data Documentation

OutputCache* ProtoMol::OutputCollection::myCache [private]
 

const Configuration* ProtoMol::OutputCollection::myConfig [private]
 

const ScalarStructure* ProtoMol::OutputCollection::myEnergies [private]
 

const Integrator* ProtoMol::OutputCollection::myIntegrator [private]
 

Container ProtoMol::OutputCollection::myOutputList [private]
 

const Vector3DBlock* ProtoMol::OutputCollection::myPositions [private]
 

const GenericTopology* ProtoMol::OutputCollection::myTopology [private]
 

const Vector3DBlock* ProtoMol::OutputCollection::myVelocities [private]
 


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.