CHROMA
syssolver_mdagm_factory.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Factory for producing system solvers for MdagM*psi = chi
4  */
5 
6 #ifndef __syssolver_mdagm_factory_h__
7 #define __syssolver_mdagm_factory_h__
8 
9 #include "chromabase.h"
10 #include "state.h"
11 #include "singleton.h"
12 #include "objfactory.h"
13 #include "linearop.h"
14 #include "typelist.h"
16 
17 using namespace QDP;
18 
19 namespace Chroma
20 {
21 
22  namespace FactoryEnv {
26  }
27 
28  //! MdagM system solver factory (foundry)
29  /*! @ingroup invert */
30  typedef SingletonHolder<
34  MdagMSystemSolver<LatticeFermion>* (*)(XMLReader&,
35  const std::string&,
40 
41  typedef SingletonHolder<
45  MdagMSystemSolver<LatticeFermionF>* (*)(XMLReader&,
46  const std::string&,
51 
52  typedef SingletonHolder<
56  MdagMSystemSolver<LatticeFermionD>* (*)(XMLReader&,
57  const std::string&,
62 
63 
64  //! MdagM system solver factory (foundry)
65  /*! @ingroup invert */
66  typedef SingletonHolder<
71  const std::string&,
76 
77 
78  //! MdagM system solver factory (foundry)
79  /*! @ingroup invert */
80  typedef SingletonHolder<
85  const std::string&,
89 
90 }
91 
92 
93 #endif
Primary include file for CHROMA library code.
Class for counted reference semantics.
Definition: handle.h:33
Linear Operator to arrays.
Definition: linearop.h:61
SystemSolver disambiguator.
Object factory class.
Definition: objfactory.h:82
SingletonHolder< ObjectFactory< MdagMSystemSolver< LatticeFermion >, std::string, TYPELIST_4(XMLReader &, const std::string &, FactoryEnv::FSHandle, Handle< LinearOperator< LatticeFermion > >), MdagMSystemSolver< LatticeFermion > *(*)(XMLReader &, const std::string &, FactoryEnv::FSHandle, Handle< LinearOperator< LatticeFermion > >), StringFactoryError > > TheMdagMFermSystemSolverFactory
MdagM system solver factory (foundry)
SingletonHolder< ObjectFactory< MdagMSystemSolverArray< LatticeFermion >, std::string, TYPELIST_4(XMLReader &, const std::string &, FactoryEnv::FSHandle, Handle< LinearOperatorArray< LatticeFermion > >), MdagMSystemSolverArray< LatticeFermion > *(*)(XMLReader &, const std::string &, FactoryEnv::FSHandle, Handle< LinearOperatorArray< LatticeFermion > >), StringFactoryError > > TheMdagMFermSystemSolverArrayFactory
MdagM system solver factory (foundry)
SingletonHolder< ObjectFactory< MdagMSystemSolver< LatticeStaggeredFermion >, std::string, TYPELIST_3(XMLReader &, const std::string &, Handle< LinearOperator< LatticeStaggeredFermion > >), MdagMSystemSolver< LatticeStaggeredFermion > *(*)(XMLReader &, const std::string &, Handle< LinearOperator< LatticeStaggeredFermion > >), StringFactoryError > > TheMdagMStagFermSystemSolverFactory
MdagM system solver factory (foundry)
Linear Operators.
Handle< FermState< LatticeFermionF, multi1d< LatticeColorMatrixF >, multi1d< LatticeColorMatrixF > > > FSHandleF
Handle< FermState< LatticeFermionD, multi1d< LatticeColorMatrixD >, multi1d< LatticeColorMatrixD > > > FSHandleD
Handle< FermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > FSHandle
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
SingletonHolder< ObjectFactory< MdagMSystemSolver< LatticeFermionD >, std::string, TYPELIST_4(XMLReader &, const std::string &, FactoryEnv::FSHandleD, Handle< LinearOperator< LatticeFermionD > >), MdagMSystemSolver< LatticeFermionD > *(*)(XMLReader &, const std::string &, FactoryEnv::FSHandleD, Handle< LinearOperator< LatticeFermionD > >), StringFactoryError > > TheMdagMFermDSystemSolverFactory
SingletonHolder< ObjectFactory< MdagMSystemSolver< LatticeFermionF >, std::string, TYPELIST_4(XMLReader &, const std::string &, FactoryEnv::FSHandleF, Handle< LinearOperator< LatticeFermionF > >), MdagMSystemSolver< LatticeFermionF > *(*)(XMLReader &, const std::string &, FactoryEnv::FSHandleF, Handle< LinearOperator< LatticeFermionF > >), StringFactoryError > > TheMdagMFermFSystemSolverFactory
::std::string string
Definition: gtest.h:1979
Factory class for objects from XML input.
Singleton support.
Support class for fermion actions and linear operators.
Disambiguator for MdagM system solvers.
Typelist support.
#define TYPELIST_3(T1, T2, T3)
Definition: typelist.h:45
#define TYPELIST_4(T1, T2, T3, T4)
Definition: typelist.h:47