6 #ifndef __simple_gaugebc_h__
7 #define __simple_gaugebc_h__
15 namespace SimpleGaugeBCEnv
42 template<
typename P,
typename Q>
65 for(
int m = 0;
m <
Nd; ++
m)
68 u[
m] *= where(Layout::latticeCoordinate(
m) == Layout::lattSize()[
m]-1,
Base class for all gauge action boundary conditions.
Concrete class for gauge actions with simple boundary conditions.
multi1d< Complex > boundary
void operator=(const SimpleGaugeBC< P, Q > &a)
Hide assignment.
SimpleGaugeBC(const SimpleGaugeBCParams &p)
From param struct.
SimpleGaugeBC(const multi1d< Complex > &boundary_)
Only full constructor.
~SimpleGaugeBC()
Destructor is automatic.
void zero(P &u) const
Zero the U fields in place on the masked links.
bool nontrivialP() const
Says if there are non-trivial BC links.
void modify(Q &u) const
Modify U fields in place.
Gauge boundary conditions.
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams ¶m)
Read parameters.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
static multi1d< LatticeColorMatrix > u
LinOpSysSolverMGProtoClover::Q Q
multi1d< Complex > boundary
multi1d< LatticeColorMatrix > P