17 #ifndef QMCPLUSPLUS_WAVEFUNCTIONPOOL_H 18 #define QMCPLUSPLUS_WAVEFUNCTIONPOOL_H 29 class ParticleSetPool;
41 using PoolType = std::map<std::string, const std::unique_ptr<TrialWaveFunction>>;
46 const char* aname =
"wavefunction");
54 bool put(xmlNodePtr cur);
67 return myPool.begin()->second.get();
70 return pit->second.get();
86 void addFactory(std::unique_ptr<TrialWaveFunction> psi,
bool primary);
WaveFunctionPool & operator=(const WaveFunctionPool &)=delete
Base class for any object which needs to know about a MPI communicator.
helper functions for EinsplineSetBuilder
TrialWaveFunction * primary_psi_
pointer to the primary TrialWaveFunction
xmlNodePtr getWaveFunctionNode(const std::string &id)
return a xmlNode containing Jastrow
void addFactory(std::unique_ptr< TrialWaveFunction > psi, bool primary)
add a TrialWaveFunction* to myPool
declaration of MPIObjectBase
const RuntimeOptions & runtime_options_
top-level runtime options from project data information
Declaration of OhmmsElementBase and define xml-related macros.
Wrapping information on parallelism.
Manage a collection of ParticleSet objects.
ParticleSetPool & ptcl_pool_
pointer to ParticleSetPool
WaveFunctionPool(const RuntimeOptions &runtime_options, ParticleSetPool &pset_pool, Communicate *c, const char *aname="wavefunction")
Class to represent a many-body trial wave function.
Declaration of a WaveFunctionFactory.
const PoolType & getPool() const
get the Pool object
std::map< std::string, const std::unique_ptr< TrialWaveFunction > > PoolType
TrialWaveFunction * getWaveFunction(const std::string &pname)
PoolType myPool
storage of WaveFunctionFactory
Manage a collection of TrialWaveFunction objects.
TrialWaveFunction * getPrimary()