QMCPACK
RMCFactory.h
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2016 Jeongnim Kim and QMCPACK developers.
6 //
7 // File developed by: Jeremy McMinnis, jmcminis@gmail.com, University of Illinois at Urbana-Champaign
8 // Raymond Clay III, j.k.rofling@gmail.com, Lawrence Livermore National Laboratory
9 //
10 // File created by: Jeremy McMinnis, jmcminis@gmail.com, University of Illinois at Urbana-Champaign
11 //////////////////////////////////////////////////////////////////////////////////////
12 
13 
14 #ifndef QMCPLUSPLUS_RMC_FACTORY_H
15 #define QMCPLUSPLUS_RMC_FACTORY_H
16 #include "QMCDrivers/QMCDriver.h"
17 
18 namespace qmcplusplus
19 {
20 class ParticleSetPool;
21 class HamiltonianPool;
22 
24 {
25 private:
26  int RMCMode;
27  xmlNodePtr myNode;
28 
29 public:
30  RMCFactory(int vmode, xmlNodePtr cur) : RMCMode(vmode), myNode(cur) {}
31 
32  std::unique_ptr<QMCDriver> create(const ProjectData& project_data,
34  TrialWaveFunction& psi,
35  QMCHamiltonian& h,
36  Communicate* comm);
37 };
38 } // namespace qmcplusplus
39 
40 #endif
A set of walkers that are to be advanced by Metropolis Monte Carlo.
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
class ProjectData
Definition: ProjectData.h:36
Collection of Local Energy Operators.
Wrapping information on parallelism.
Definition: Communicate.h:68
RMCFactory(int vmode, xmlNodePtr cur)
Definition: RMCFactory.h:30
Declaration of QMCDriver.
std::unique_ptr< QMCDriver > create(const ProjectData &project_data, MCWalkerConfiguration &w, TrialWaveFunction &psi, QMCHamiltonian &h, Communicate *comm)
Definition: RMCFactory.cpp:20
Class to represent a many-body trial wave function.