CHROMA
simple_fermbc_s.cc
Go to the documentation of this file.
1 /*! \file
2  * \brief Simple fermionic BC
3  */
4 
7 
8 namespace Chroma
9 {
10 
11  //! Name and registration
12  namespace StaggeredTypeSimpleFermBCEnv
13  {
14  //! Callback function
15  FermBC<LatticeStaggeredFermion,
16  multi1d<LatticeColorMatrix>,
17  multi1d<LatticeColorMatrix> >* createFermBC(XMLReader& xml_in, const std::string& path)
18  {
19  SimpleFermBCParams bc(xml_in, path);
20  return new SimpleFermBC<LatticeStaggeredFermion,
21  multi1d<LatticeColorMatrix>,
22  multi1d<LatticeColorMatrix> >(bc.boundary);
23  }
24 
25  //! Name to be used
26  const std::string name = "SIMPLE_FERMBC";
27 
28  static bool registered = false;
29 
30  //! Register all objects
31  bool registerAll()
32  {
33  bool success = true;
34  if (! registered)
35  {
36  success &= TheStaggeredTypeFermBCFactory::Instance().registerObject(name, createFermBC);
37  registered = true;
38  }
39  return success;
40  }
41  }
42 
43 }
Base class for all fermion action boundary conditions.
Definition: fermbc.h:20
Concrete class for all gauge actions with simple boundary conditions.
Definition: simple_fermbc.h:42
static T & Instance()
Definition: singleton.h:432
Fermion Boundary Condition factories.
multi1d< int > bc
FermBC< LatticeStaggeredFermion, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * createFermBC(XMLReader &xml_in, const std::string &path)
Callback function.
const std::string name
Name to be used.
bool registerAll()
Register all objects.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
Simple fermionic BC.
Params for simple fermbc.
Definition: simple_fermbc.h:20