CHROMA
schr_coupling_gaugebc.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Schroedinger BC - use for coupling determinations
4  */
5 
6 #ifndef __schr_coupling_gaugebc_h__
7 #define __schr_coupling_gaugebc_h__
8 
11 
12 namespace Chroma
13 {
14 
15  /*! @ingroup gaugebcs */
16  namespace SchrCouplingGaugeBCEnv
17  {
18  extern const std::string name;
19  bool registerAll();
20  }
21 
22 
23  //! Concrete class for Schroedinger BC - use for coupling determination
24  /*! @ingroup gaugebcs
25  *
26  * Schroedinger BC for gauge actions
27  */
29  {
30  public:
31  //! Only full constructor
33 
34  //! Destructor is automatic
36 
37  //! Decay direction
38  int getDir() const {return param.decay_dir;}
39 
40  //! Mask which lattice sites have fixed gauge links
41  const multi1d<LatticeBoolean>& lSFmask() const {return mask;}
42 
43  //! Fixed gauge links on only the lSFmask() sites
44  const multi1d<LatticeColorMatrix>& SFBndFld() const {return fld;}
45 
46  protected:
47  //! Maximum plaquette size. This is what knows about 1x1 plaq or 1x2 rect.
48  /*! \return 1 for 1x1 plaq or 2 for 1x2 rect in decay_dir */
49  int getMaxExtent() const {return param.loop_extent;}
50 
51  //! Multiplier on phases
52  const Real& SchrPhiMult() const {return param.SchrPhiMult;}
53 
54  //! Get the angles on the boundaries
55  const Phases_t& getPhases() const {return phases;}
56 
57  //! Initialize the phases
58  void initPhases();
59 
60  private:
61  // Hide default constuctor
64 
65  private:
68  multi1d<LatticeBoolean> mask;
69  multi1d<LatticeColorMatrix> fld;
70  };
71 
72 }
73 
74 #endif
Concrete class for Schroedinger BC - use for coupling determination.
const Real & SchrPhiMult() const
Multiplier on phases.
~SchrCouplingGaugeBC()
Destructor is automatic.
const Phases_t & getPhases() const
Get the angles on the boundaries.
const multi1d< LatticeColorMatrix > & SFBndFld() const
Fixed gauge links on only the lSFmask() sites.
void operator=(const SchrCouplingGaugeBC &)
multi1d< LatticeColorMatrix > fld
multi1d< LatticeBoolean > mask
const multi1d< LatticeBoolean > & lSFmask() const
Mask which lattice sites have fixed gauge links.
int getMaxExtent() const
Maximum plaquette size. This is what knows about 1x1 plaq or 1x2 rect.
void initPhases()
Initialize the phases.
int getDir() const
Decay direction.
Abstract class for SOME Schroedinger gauge BC.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
Schroedinger functional gauge boundary conditions.
Schroedinger gauge boundary conditions.
Structure holding phases.