10 #ifndef _hex_fermstate_h
11 #define _hex_fermstate_h
24 namespace CreateHexFermStateEnv
37 template<
typename T,
typename P,
typename Q>
79 throw std::domain_error(
"HEX smearing is currently not supported in the Hybrid Monte Carlo algorithm.")
90 throw std::domain_error(
"HEX smearing is currently not supported in the Hybrid Monte Carlo algorithm.")
121 if(
fbc->nontrivialP() ) {
153 template<
typename T,
typename P,
typename Q >
Create a fermion connection state.
Create a hex ferm connection state.
CreateHexFermState(Handle< FermBC< T, P, Q > > fbc_, const HexFermStateParams &p_)
Full constructor.
void operator=(const CreateHexFermState &)
Handle< FermBC< T, P, Q > > fbc
HexFermState< T, P, Q > * operator()(const Q &q) const
Construct a ConnectState.
const FermBC< T, P, Q > & getBC() const
Return the ferm BC object for this state.
HexFermStateParams params
~CreateHexFermState()
Destructor.
Handle< FermBC< T, P, Q > > getFermBC() const
Return the ferm BC object for this state.
Base class for all fermion action boundary conditions.
Support class for fermion actions and linear operators.
Class for counted reference semantics.
virtual void deriv(P &F) const
Handle< FermBC< T, P, Q > > getFermBC() const
Return the ferm BC object for this state.
const Q & getThinLinks() const
HexFermState(Handle< FermBC< T, P, Q > > fbc_, const HexFermStateParams &p_, const Q &u_)
Constructor only from a parameter structure.
void fatForceToThin(const P &F_fat, P &F_thin) const
HexFermStateParams params
void create(Handle< FermBC< T, P, Q > > fbc_, const HexFermStateParams &p_, const Q &u_)
Handle< FermBC< T, P, Q > > fbc
const FermBC< T, P, Q > & getBC() const
Return the ferm BC object for this state.
const Q & getLinks() const
Return FAT Linke.
virtual ~HexFermState()
Destructor is automagic.
Create a connection state.
void Hex_Smear(const multi1d< LatticeColorMatrix > &u, multi1d< LatticeColorMatrix > &u_hyp, const int nstep)
Construct nstep iterations of the "hex-smeared" links of Capitani et al.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
LinOpSysSolverMGProtoClover::Q Q
Support class for fermion actions and linear operators.
multi1d< LatticeColorMatrix > P
static INTERNAL_PRECISION F