7 #ifndef __gaugeactt_h__
8 #define __gaugeactt_h__
23 template<
typename P,
typename Q>
52 virtual const Set&
getSet(
void)
const = 0;
58 QDPIO::cerr <<
"GaugeAction::deriv not implemented" << std::endl;
82 typedef multi1d<LatticeColorMatrix>
P;
83 typedef multi1d<LatticeColorMatrix>
Q;
92 virtual void staple(LatticeColorMatrix& result,
94 int mu,
int cb)
const = 0;
Create a gauge connection state.
Abstract base class for gauge actions.
virtual GaugeState< P, Q > * createState(const Q &q) const
Given links, create the state.
virtual const Set & getSet(void) const =0
Return the set on which the gauge action is defined.
virtual Double S(const Handle< GaugeState< P, Q > > &state) const =0
Compute the action on a gauge configuration.
virtual void deriv(P &result, const Handle< GaugeState< P, Q > > &state) const
Compute dS/dU.
virtual const GaugeBC< P, Q > & getGaugeBC() const
Return the gauge BC object for this action.
virtual ~GaugeAction()
Virtual destructor to help with cleanup;.
virtual const CreateGaugeState< P, Q > & getCreateState() const =0
Return the factory object that produces a state.
Base class for all gauge action boundary conditions.
Support class for fermion actions and linear operators.
Class for counted reference semantics.
Base class for gauge actions with links appearing linearly in the action.
multi1d< LatticeColorMatrix > Q
multi1d< LatticeColorMatrix > P
virtual ~LinearGaugeAction()
Virtual destructor to help with cleanup;.
virtual void staple(LatticeColorMatrix &result, const Handle< GaugeState< P, Q > > &state, int mu, int cb) const =0
Compute staple.
Create a connection state.
Gauge boundary conditions.
Asqtad Staggered-Dirac operator.
LinOpSysSolverMGProtoClover::Q Q
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
FloatingPoint< double > Double
Support class for fermion actions and linear operators.
multi1d< LatticeColorMatrix > P