CHROMA
stout_fermstate_w.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! @file
3  * @brief Connection State for Stout state (.cpp file)
4  */
5 
6 #include "chromabase.h"
8 #include "util/gauge/expmat.h"
9 #include "util/gauge/taproj.h"
10 
14 
15 namespace Chroma
16 {
17 
18  /*! \ingroup fermstates */
19  namespace CreateStoutFermStateEnv
20  {
21  CreateFermState<LatticeFermion,
22  multi1d<LatticeColorMatrix>,
23  multi1d<LatticeColorMatrix> >* createFerm(XMLReader& xml,
24  const std::string& path)
25  {
26  return new CreateStoutFermState< LatticeFermion,
27  multi1d<LatticeColorMatrix>,
28  multi1d<LatticeColorMatrix> >(WilsonTypeFermBCEnv::reader(xml, path),
29  StoutFermStateParams(xml, path));
30  }
31 
32  const std::string name = "STOUT_FERM_STATE";
33 
34  //! Local registration flag
35  static bool registered = false;
36 
37  //! Register all the factories
38  bool registerAll()
39  {
40  bool success = true;
41  if (! registered)
42  {
43  success &= Chroma::TheCreateFermStateFactory::Instance().registerObject(name, createFerm);
44  registered = true;
45  }
46  return success;
47  }
48  }
49 
50  /*! \ingroup fermstates */
51  namespace CreateSLICFermStateEnv
52  {
53  CreateFermState<LatticeFermion,
54  multi1d<LatticeColorMatrix>,
55  multi1d<LatticeColorMatrix> >* createFerm(XMLReader& xml,
56  const std::string& path)
57  {
58  return new CreateSLICFermState<LatticeFermion,
59  multi1d<LatticeColorMatrix>,
60  multi1d<LatticeColorMatrix> >(WilsonTypeFermBCEnv::reader(xml, path),
61  StoutFermStateParams(xml, path));
62  }
63 
64  const std::string name = "SLIC_FERM_STATE";
65 
66  //! Local registration flag
67  static bool registered = false;
68 
69  //! Register all the factories
70  bool registerAll()
71  {
72  bool success = true;
73  if (! registered)
74  {
75  success &= Chroma::TheCreateFermStateFactory::Instance().registerObject(name, createFerm);
76  registered = true;
77  }
78  return success;
79  }
80  }
81 
82 
83 
84 
85 
86 } // End namespace Chroma
Primary include file for CHROMA library code.
Create a fermion connection state.
Definition: create_state.h:69
Create a SLIC ferm connection state.
Create a stout ferm connection state.
static T & Instance()
Definition: singleton.h:432
Exponentiate a SU(n) lie algebra element by some method,.
All ferm create-state method.
Fermion create state factory.
Fermionic boundary condition reader.
Handle< FermBC< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > reader(XMLReader &xml_in, const std::string &path)
Helper function for the FermionAction readers.
bool registerAll()
Register all the factories.
CreateFermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * createFerm(XMLReader &xml, const std::string &path)
static bool registered
Local registration flag.
bool registerAll()
Register all the factories.
CreateFermState< LatticeFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * createFerm(XMLReader &xml, const std::string &path)
static bool registered
Local registration flag.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
Stout field state for stout links and a creator.
Take the traceless antihermitian projection of a color matrix.