CHROMA
multi_syssolver_linop_factory.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Factory for producing system solvers for M*psi = chi
4  */
5 
6 #ifndef __multi_syssolver_linop_factory_h__
7 #define __multi_syssolver_linop_factory_h__
8 
9 #include "singleton.h"
10 #include "objfactory.h"
11 #include "linearop.h"
13 
14 namespace Chroma
15 {
16 
17  //! LinOp system solver factory (foundry)
18  /*! @ingroup invert */
19  typedef SingletonHolder<
20  ObjectFactory<LinOpMultiSystemSolver<LatticeFermion>,
22  TYPELIST_3(XMLReader&, const std::string&, Handle< LinearOperator<LatticeFermion> >),
23  LinOpMultiSystemSolver<LatticeFermion>* (*)(XMLReader&,
24  const std::string&,
25  Handle< LinearOperator<LatticeFermion> >),
26  StringFactoryError> >
28 
29 
30 #if 0
31  //! LinOp system solver factory (foundry)
32  /*! @ingroup invert */
33  typedef SingletonHolder<
38  const std::string&,
41  TheLinOpFermMultiSystemSolverArrayFactory;
42 #endif
43 
44 
45  //! LinOp system solver factory (foundry)
46  /*! @ingroup invert */
47  typedef SingletonHolder<
52  const std::string&,
56 
57 }
58 
59 
60 #endif
Class for counted reference semantics.
Definition: handle.h:33
Linear Operator to arrays.
Definition: linearop.h:61
Linear Operator.
Definition: linearop.h:27
Object factory class.
Definition: objfactory.h:82
SingletonHolder< ObjectFactory< LinOpMultiSystemSolver< LatticeFermion >, std::string, TYPELIST_3(XMLReader &, const std::string &, Handle< LinearOperator< LatticeFermion > >), LinOpMultiSystemSolver< LatticeFermion > *(*)(XMLReader &, const std::string &, Handle< LinearOperator< LatticeFermion > >), StringFactoryError > > TheLinOpFermMultiSystemSolverFactory
LinOp system solver factory (foundry)
SingletonHolder< ObjectFactory< LinOpMultiSystemSolver< LatticeStaggeredFermion >, std::string, TYPELIST_3(XMLReader &, const std::string &, Handle< LinearOperator< LatticeStaggeredFermion > >), LinOpMultiSystemSolver< LatticeStaggeredFermion > *(*)(XMLReader &, const std::string &, Handle< LinearOperator< LatticeStaggeredFermion > >), StringFactoryError > > TheLinOpStagFermMultiSystemSolverFactory
LinOp system solver factory (foundry)
Linear Operators.
Disambiguator for multi-shift linop system solvers.
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.
SystemSolver disambiguator.
#define TYPELIST_3(T1, T2, T3)
Definition: typelist.h:45