1 #ifndef EO3DPREC_S_CPREC_T_CLOVER_FERMACT_W_H
2 #define EO3DPREC_S_CPREC_T_CLOVER_FERMACT_W_H
4 #include "qdp_config.h"
15 namespace EO3DPrecSpaceCentralPrecTimeCloverFermActEnv
21 class EO3DPrecSpaceCentralPrecTimeCloverFermAct :
22 public EO3DPrecSpaceCentralPrecTimeConstDetWilsonTypeFermAct<
24 multi1d<LatticeColorMatrix>,
25 multi1d<LatticeColorMatrix> >
28 typedef LatticeFermion
T;
29 typedef multi1d<LatticeColorMatrix>
P;
30 typedef multi1d<LatticeColorMatrix>
Q;
33 ~EO3DPrecSpaceCentralPrecTimeCloverFermAct(){}
36 EO3DPrecSpaceCentralPrecTimeCloverFermAct( Handle< CreateFermState<T,P,Q> > cfs_,
38 const AnisoParam_t& aniso_) : cfs(cfs_) {
40 param.anisoParam = aniso_;
44 EO3DPrecSpaceCentralPrecTimeCloverFermAct( Handle< CreateFermState<T,P,Q> > cfs_,
45 const CloverFermActParams& param_ ) : cfs(cfs_), param(param_) {}
48 EO3DPrecSpaceCentralPrecTimeCloverFermAct(
const EO3DPrecSpaceCentralPrecTimeCloverFermAct&
a) :
49 cfs(
a.cfs), param(
a.param) {}
52 EO3DPrecSpaceCentralPrecTimeCloverFermAct& operator=(
const EO3DPrecSpaceCentralPrecTimeCloverFermAct&
a)
60 EO3DPrecSpaceCentralPrecTimeLinearOperator<T,P,Q>* linOp( Handle< FermState<T,P,Q> >
state)
const;
63 LinearOperator<T>* hermitianLinOp(Handle< FermState<T,P,Q> >
state)
const
65 return new lgherm<T>(linOp(
state));
70 const CreateFermState<T,P,Q>& getCreateState()
const {
return *cfs;}
73 EO3DPrecSpaceCentralPrecTimeCloverFermAct(){}
77 Handle< CreateFermState<T,P,Q> > cfs;
78 CloverFermActParams param;
Parameters for Clover fermion action.
ILUPreconditioned spatial Preconditioned Temporal Wilson like fermion action.
bool registerAll()
Register all the factories.
const std::string name
Name to be used.
multi1d< LatticeColorMatrix > P
Asqtad Staggered-Dirac operator.
LinOpSysSolverMGProtoClover::Q Q
LinOpSysSolverMGProtoClover::T T
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state