CHROMA
schr_sf_gaugebc.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! @file
3  * @brief Schroedinger gauge boundary conditions
4  */
5 
6 #ifndef __schr_sf_gaugebc_h__
7 #define __schr_sf_gaugebc_h__
8 
10 
11 namespace Chroma
12 {
13 
14  //! Abstract class for SOME Schroedinger gauge BC
15  /*! @ingroup gaugebc
16  *
17  * Schroedinger BC implies periodic in dirs orthog to decay dir, and some
18  * kind of fixed BC in the decay dir.
19  */
20  class SchrSFGaugeBC : public SchrGaugeBC
21  {
22  public:
23  //! Virtual destructor
24  virtual ~SchrSFGaugeBC() {}
25 
26  //! Decay direction
27  virtual int getDir() const = 0;
28 
29  protected:
30  //! Construct the mask and boundary fields
31  virtual void initBnd(multi1d<LatticeColorMatrix>& SFBndFld,
32  multi1d<LatticeBoolean>& lSFmask) const;
33 
34  //! Maximum plaquette size. This is what knows about 1x1 plaq or 1x2 rect.
35  /*! \return 1 for 1x1 plaq or 2 for 1x2 rect in decay_dir */
36  virtual int getMaxExtent() const = 0;
37 
38  //! Multiplier on phases
39  virtual const Real& SchrPhiMult() const = 0;
40 
41  //! Structure holding phases
42  struct Phases_t
43  {
44  multi1d<Real> lower;
45  multi1d<Real> upper;
46  };
47 
48  //! Get the angles on the boundaries
49  virtual const Phases_t& getPhases() const = 0;
50  };
51 
52 }
53 
54 
55 
56 #endif
Abstract class for all gauge action boundary conditions with Schroedinger BC.
virtual const multi1d< LatticeColorMatrix > & SFBndFld() const =0
Fixed gauge links on only the lSFmask() sites.
virtual const multi1d< LatticeBoolean > & lSFmask() const =0
Mask which lattice sites have fixed gauge links.
Abstract class for SOME Schroedinger gauge BC.
virtual const Real & SchrPhiMult() const =0
Multiplier on phases.
virtual int getDir() const =0
Decay direction.
virtual int getMaxExtent() const =0
Maximum plaquette size. This is what knows about 1x1 plaq or 1x2 rect.
virtual const Phases_t & getPhases() const =0
Get the angles on the boundaries.
virtual void initBnd(multi1d< LatticeColorMatrix > &SFBndFld, multi1d< LatticeBoolean > &lSFmask) const
Construct the mask and boundary fields.
virtual ~SchrSFGaugeBC()
Virtual destructor.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
Schroedinger Gauge boundary conditions.
Structure holding phases.