CHROMA
md_integrator_factory.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Integrator factories
4  */
5 
6 #ifndef __md_integrator_factory_h__
7 #define __md_integrator_factory_h__
8 
9 #include "singleton.h"
10 #include "objfactory.h"
11 #include "chromabase.h"
12 
15 
16 #include <string>
17 
18 
19 namespace Chroma
20 {
21 
22 
23  // Hack -- For some reason TYPELIST3 doesn't like having an
24  // Abs Hamiltonian with 2 template params in Typelist. It seems
25  // (to be confirmed) to think that the 2 template parameters mean
26  // that we should be using typelist 4. This hacks around that using
27  // a convenience typedef
28  /*! @ingroup integrator */
29  typedef AbsHamiltonian<multi1d<LatticeColorMatrix>,multi1d<LatticeColorMatrix> > LCMHam;
30 
31  //! A factory for component integrators
32  /*! @ingroup integrator */
33  typedef SingletonHolder<
36  multi1d<LatticeColorMatrix> >,
38 
39  TYPELIST_2(XMLReader&,
40  const std::string&),
41 
42 
44  multi1d<LatticeColorMatrix> >* (*)(
45  XMLReader&,
46  const std::string&),
49 
50 
51 } // End namespace Chroma
52 
53 
54 #endif
Abstract Hamiltonian.
Integrators.
Primary include file for CHROMA library code.
MD integrator that can be used as a component for other integrators.
New Abstract Hamiltonian.
Object factory class.
Definition: objfactory.h:82
SingletonHolder< ObjectFactory< AbsComponentIntegrator< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >, std::string, TYPELIST_2(XMLReader &, const std::string &), AbsComponentIntegrator< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > *(*)(XMLReader &, const std::string &), StringFactoryError > > TheMDComponentIntegratorFactory
A factory for component integrators.
AbsHamiltonian< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > LCMHam
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
Factory class for objects from XML input.
Singleton support.
#define TYPELIST_2(T1, T2)
Definition: typelist.h:43