17 #ifndef QMCPLUSPLUS_QMCHAMILTONIANS_H 18 #define QMCPLUSPLUS_QMCHAMILTONIANS_H 30 class MCWalkerConfiguration;
31 class ParticleSetPool;
32 class WaveFunctionPool;
43 using PoolType = std::map<std::string, HamiltonianFactory*>;
48 const char* aname =
"hamiltonian");
55 bool put(xmlNodePtr cur);
56 bool get(std::ostream& os)
const;
73 PoolType::iterator hit(
myPool.find(pname));
79 return (*(
myPool.begin())).second->getH();
82 return (*hit).second->getH();
QMCHamiltonian * primaryH
pointer to the primary QMCHamiltonian
class that handles xmlDoc
Base class for any object which needs to know about a MPI communicator.
helper functions for EinsplineSetBuilder
Libxml2Document * curDoc
point to the working document
HamiltonianPool(ParticleSetPool &pset_pool, WaveFunctionPool &psi_pool, Communicate *c, const char *aname="hamiltonian")
Collection of Local Energy Operators.
declaration of MPIObjectBase
Declaration of OhmmsElementBase and define xml-related macros.
Wrapping information on parallelism.
WaveFunctionPool & psi_pool_
pointer to WaveFunctionPool
std::map< std::string, HamiltonianFactory * > PoolType
Manage a collection of ParticleSet objects.
ParticleSetPool & ptcl_pool_
pointer to ParticleSetPool
void setDocument(Libxml2Document *doc)
Declaration of a HamiltonianFactory.
QMCHamiltonian * curH
pointer to a current QMCHamiltonian to be built.
QMCHamiltonian * getHamiltonian(const std::string &pname)
return the pointer to a QMCHamiltonian with the name
QMCHamiltonian * getPrimary()
return the pointer to the primary QMCHamiltonian
PoolType myPool
storage for HamiltonianFactory
Manage a collection of TrialWaveFunction objects.
Manage a collection of QMCHamiltonian objects.
HamiltonianPool & operator=(const HamiltonianPool &)=delete