QCManager< TPModel, TPSystem > Class Template Reference

#include <QCManager.hpp>

List of all members.


Detailed Description

template<class TPModel, class TPSystem>
class QCManager< TPModel, TPSystem >

The manager of the application.

class : QCManager

The manager of the application. It knows all the components. It can drive the run. The model is a template parameter. So that, CQCManager knows the precise class of the model in the hierarchy of quantum model classes. Thus, it isn't necessary to use virtual keyword. The dynamic polymorphism spends calculation time at the execution. So, it's replaced by template collaborations.

Definition at line 43 of file QCManager.hpp.

Public Types

typedef TPModel TModel
typedef TModel::TParam TParam
typedef TSystem::TSolver TSolver
typedef TPSystem TSystem

Public Member Functions

int evaluateMemorySize (void)
 Evaluate the memory used by temprory array in the application.
QCFilesfiles (void)
const QCFiles getFiles (void) const
const QCGeneralDatagetGeneralData (void) const
QCMemorygetMemory (void)
TModelgetModel (void)
int getNbAtomTypes (void)
const TParamgetParameter (const int index)
const TParamgetParameters (void) const
QCPartitioner< TPSystem > *& getPartitioner (void)
QCPartitioner< TPSystem > * getPartitioner (void) const
TSystemgetSystem (void)
void init (const QCFiles &files, const QCGeneralData &data, const string &path)
void initTools (const QCFiles &files, const QCGeneralData &data, const string &path)
bool isDCComputation (void) const
 QCManager (int &argc, char **&argv)
 QCManager (void)
void readAtoms (const string &path)
void readParameters (const string &path)
void runComputations (void)
 The method to perform the calculation.
void setFiles (const QCFiles &infiles)
void setGeneralities (const QCGeneralData &data)
 ~QCManager (void)

Private Attributes

QCFiles _files
QCGeneralData generalData
QCMemory memory
 The memory manager.
TPModel model
int nbParam
TParamparameters
QCPartitioner< TPSystem > * partitioner
TSolver solver
TSystem system


Member Typedef Documentation

template<class TPModel, class TPSystem>
typedef TPModel QCManager< TPModel, TPSystem >::TModel
 

Definition at line 53 of file QCManager.hpp.

template<class TPModel, class TPSystem>
typedef TModel::TParam QCManager< TPModel, TPSystem >::TParam
 

Definition at line 54 of file QCManager.hpp.

template<class TPModel, class TPSystem>
typedef TSystem::TSolver QCManager< TPModel, TPSystem >::TSolver
 

Definition at line 56 of file QCManager.hpp.

template<class TPModel, class TPSystem>
typedef TPSystem QCManager< TPModel, TPSystem >::TSystem
 

Definition at line 55 of file QCManager.hpp.


Constructor & Destructor Documentation

template<class TPModel, class TPSystem>
QCManager< TPModel, TPSystem >::QCManager void   ) 
 

default Constructor

Definition at line 53 of file QCManager.cpp.

template<class TPModel, class TPSystem>
QCManager< TPModel, TPSystem >::QCManager int &  argc,
char **&  argv
 

Constructor with the arguments of the application. This constructor is needed in the initialization of mpi (parallel version)

Definition at line 43 of file QCManager.cpp.

template<class TPModel, class TPSystem>
QCManager< TPModel, TPSystem >::~QCManager void   ) 
 

Definition at line 62 of file QCManager.cpp.

References QCManager< TPModel, TPSystem >::parameters, QCManager< TPModel, TPSystem >::partitioner, and QC_TRACE_END.


Member Function Documentation

template<class TPModel, class TPSystem>
int QCManager< TPModel, TPSystem >::evaluateMemorySize void   ) 
 

Evaluate the memory used by temprory array in the application.

template<class TPModel, class TPSystem>
QCFiles& QCManager< TPModel, TPSystem >::files void   )  [inline]
 

Definition at line 92 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::_files.

template<class TPModel, class TPSystem>
const QCFiles QCManager< TPModel, TPSystem >::getFiles void   )  const [inline]
 

Definition at line 91 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::_files.

Referenced by main().

template<class TPModel, class TPSystem>
const QCGeneralData& QCManager< TPModel, TPSystem >::getGeneralData void   )  const [inline]
 

Definition at line 98 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::generalData.

Referenced by main().

template<class TPModel, class TPSystem>
QCMemory& QCManager< TPModel, TPSystem >::getMemory void   )  [inline]
 

Definition at line 135 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::memory.

template<class TPModel, class TPSystem>
TModel& QCManager< TPModel, TPSystem >::getModel void   )  [inline]
 

Definition at line 113 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::model.

template<class TPModel, class TPSystem>
int QCManager< TPModel, TPSystem >::getNbAtomTypes void   )  [inline]
 

Definition at line 120 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::nbParam.

template<class TPModel, class TPSystem>
const TParam& QCManager< TPModel, TPSystem >::getParameter const int  index  )  [inline]
 

Definition at line 128 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::parameters.

template<class TPModel, class TPSystem>
const TParam* QCManager< TPModel, TPSystem >::getParameters void   )  const [inline]
 

Definition at line 106 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::parameters.

template<class TPModel, class TPSystem>
QCPartitioner<TPSystem>* & QCManager< TPModel, TPSystem >::getPartitioner void   )  [inline]
 

Definition at line 145 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::partitioner.

template<class TPModel, class TPSystem>
QCPartitioner<TPSystem>* QCManager< TPModel, TPSystem >::getPartitioner void   )  const [inline]
 

Definition at line 142 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::partitioner.

Referenced by main().

template<class TPModel, class TPSystem>
TSystem& QCManager< TPModel, TPSystem >::getSystem void   )  [inline]
 

Definition at line 84 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::system.

Referenced by main().

template<class TPModel, class TPSystem>
void QCManager< TPModel, TPSystem >::init const QCFiles files,
const QCGeneralData data,
const string &  path
 

Definition at line 116 of file QCManager.cpp.

References QCManager< TPModel, TPSystem >::_files, QCCommon::DataBaseDirName, QCOverlapGtr< TPMatrix >::FillExpHalfVector(), QCGeneralData::isDCComputation(), QCManager< TPModel, TPSystem >::nbParam, QCManager< TPModel, TPSystem >::parameters, QC_TRACE_INIT, QCManager< TPModel, TPSystem >::readAtoms(), QCManager< TPModel, TPSystem >::readParameters(), QCManager< TPModel, TPSystem >::setFiles(), QCManager< TPModel, TPSystem >::setGeneralities(), QCManager< TPModel, TPSystem >::solver, and QCManager< TPModel, TPSystem >::system.

Referenced by main().

Here is the call graph for this function:

template<class TPModel, class TPSystem>
void QCManager< TPModel, TPSystem >::initTools const QCFiles files,
const QCGeneralData data,
const string &  path
 

init manager for tools programm

Definition at line 99 of file QCManager.cpp.

References QCCommon::DataBaseDirName, QCManager< TPModel, TPSystem >::nbParam, QCManager< TPModel, TPSystem >::parameters, QC_TRACE_INIT, QCManager< TPModel, TPSystem >::readAtoms(), QCManager< TPModel, TPSystem >::readParameters(), QCManager< TPModel, TPSystem >::setFiles(), QCManager< TPModel, TPSystem >::setGeneralities(), and QCManager< TPModel, TPSystem >::system.

Referenced by main().

Here is the call graph for this function:

template<class TPModel, class TPSystem>
bool QCManager< TPModel, TPSystem >::isDCComputation void   )  const [inline]
 

Definition at line 77 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::generalData, and QCGeneralData::isDCComputation().

Here is the call graph for this function:

template<class TPModel, class TPSystem>
void QCManager< TPModel, TPSystem >::readAtoms const string &  path  ) 
 

Definition at line 78 of file QCManager.cpp.

References INPUT_SUFFIX(), QCReader::readAtomsFile(), and QCManager< TPModel, TPSystem >::system.

Referenced by QCManager< TPModel, TPSystem >::init(), and QCManager< TPModel, TPSystem >::initTools().

Here is the call graph for this function:

template<class TPModel, class TPSystem>
void QCManager< TPModel, TPSystem >::readParameters const string &  path  ) 
 

Definition at line 88 of file QCManager.cpp.

References INPUT_SUFFIX(), QCManager< TPModel, TPSystem >::nbParam, QCManager< TPModel, TPSystem >::parameters, and QCReader::readParameterFile().

Referenced by QCManager< TPModel, TPSystem >::init(), and QCManager< TPModel, TPSystem >::initTools().

Here is the call graph for this function:

template<class TPModel, class TPSystem>
void QCManager< TPModel, TPSystem >::runComputations void   ) 
 

The method to perform the calculation.

Definition at line 160 of file QCManager.cpp.

References QCMemory::evaluateUsedMemory(), QCManager< TPModel, TPSystem >::generalData, QCGeneralData::getComputationType(), QCManager< TPModel, TPSystem >::memory, QC_ENERGY_DERIV, QCManager< TPModel, TPSystem >::solver, and QCManager< TPModel, TPSystem >::system.

Referenced by main().

Here is the call graph for this function:

template<class TPModel, class TPSystem>
void QCManager< TPModel, TPSystem >::setFiles const QCFiles infiles  )  [inline]
 

Definition at line 153 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::_files.

Referenced by QCManager< TPModel, TPSystem >::init(), and QCManager< TPModel, TPSystem >::initTools().

template<class TPModel, class TPSystem>
void QCManager< TPModel, TPSystem >::setGeneralities const QCGeneralData data  )  [inline]
 

Definition at line 162 of file QCManager.hpp.

References QCManager< TPModel, TPSystem >::generalData.

Referenced by QCManager< TPModel, TPSystem >::init(), and QCManager< TPModel, TPSystem >::initTools().


Member Data Documentation

template<class TPModel, class TPSystem>
QCFiles QCManager< TPModel, TPSystem >::_files [private]
 

Definition at line 220 of file QCManager.hpp.

Referenced by QCManager< TPModel, TPSystem >::files(), QCManager< TPModel, TPSystem >::getFiles(), QCManager< TPModel, TPSystem >::init(), and QCManager< TPModel, TPSystem >::setFiles().

template<class TPModel, class TPSystem>
QCGeneralData QCManager< TPModel, TPSystem >::generalData [private]
 

Definition at line 225 of file QCManager.hpp.

Referenced by QCManager< TPModel, TPSystem >::getGeneralData(), QCManager< TPModel, TPSystem >::isDCComputation(), QCManager< TPModel, TPSystem >::runComputations(), and QCManager< TPModel, TPSystem >::setGeneralities().

template<class TPModel, class TPSystem>
QCMemory QCManager< TPModel, TPSystem >::memory [private]
 

The memory manager.

Definition at line 248 of file QCManager.hpp.

Referenced by QCManager< TPModel, TPSystem >::getMemory(), and QCManager< TPModel, TPSystem >::runComputations().

template<class TPModel, class TPSystem>
TPModel QCManager< TPModel, TPSystem >::model [private]
 

Definition at line 240 of file QCManager.hpp.

Referenced by QCManager< TPModel, TPSystem >::getModel().

template<class TPModel, class TPSystem>
int QCManager< TPModel, TPSystem >::nbParam [private]
 

Definition at line 235 of file QCManager.hpp.

Referenced by QCManager< TPModel, TPSystem >::getNbAtomTypes(), QCManager< TPModel, TPSystem >::init(), QCManager< TPModel, TPSystem >::initTools(), and QCManager< TPModel, TPSystem >::readParameters().

template<class TPModel, class TPSystem>
TParam* QCManager< TPModel, TPSystem >::parameters [private]
 

Definition at line 230 of file QCManager.hpp.

Referenced by QCManager< TPModel, TPSystem >::getParameter(), QCManager< TPModel, TPSystem >::getParameters(), QCManager< TPModel, TPSystem >::init(), QCManager< TPModel, TPSystem >::initTools(), QCManager< TPModel, TPSystem >::readParameters(), and QCManager< TPModel, TPSystem >::~QCManager().

template<class TPModel, class TPSystem>
QCPartitioner<TPSystem>* QCManager< TPModel, TPSystem >::partitioner [private]
 

Definition at line 253 of file QCManager.hpp.

Referenced by QCManager< TPModel, TPSystem >::getPartitioner(), and QCManager< TPModel, TPSystem >::~QCManager().

template<class TPModel, class TPSystem>
TSolver QCManager< TPModel, TPSystem >::solver [private]
 

Definition at line 245 of file QCManager.hpp.

Referenced by QCManager< TPModel, TPSystem >::init(), and QCManager< TPModel, TPSystem >::runComputations().

template<class TPModel, class TPSystem>
TSystem QCManager< TPModel, TPSystem >::system [private]
 

Definition at line 215 of file QCManager.hpp.

Referenced by QCManager< TPModel, TPSystem >::getSystem(), QCManager< TPModel, TPSystem >::init(), QCManager< TPModel, TPSystem >::initTools(), QCManager< TPModel, TPSystem >::readAtoms(), and QCManager< TPModel, TPSystem >::runComputations().


The documentation for this class was generated from the following files:
Generated on Sat Jan 28 21:07:34 2006 for QC++ by  doxygen 1.4.4