CHROMA
central_tprec_fermact_w.h
Go to the documentation of this file.
1 #ifndef CENTRAL_TPREC_FERMACT_W_H
2 #define CENTRAL_TPREC_FERMACT_W_H
3 
4 #include "qdp_config.h"
5 
6 #if QDP_NS == 4
7 #if QDP_NC == 3
8 #if QDP_ND == 4
9 
10 #include "wilstype_fermact_w.h"
11 #include "central_tprec_linop.h"
12 
13 namespace Chroma {
14 
15  //-------------------------------------------------------------------------------------------
16  //! Wilson-like fermion actions
17  /*! @ingroup actions
18  *
19  * Wilson-like fermion actions
20  */
21  template<typename T, typename P, typename Q>
22  class CentralTimePrecFermAct : public WilsonTypeFermAct<T,P,Q>
23  {
24  public:
25  //! Virtual destructor to help with cleanup;
26  virtual ~CentralTimePrecFermAct() {}
27 
28  virtual CentralTimePrecLinearOperator<T,P,Q>* linOp( Handle< FermState<T,P,Q> > state) const = 0;
29 
30  //! Produce a linear operator M^dag.M for this action
31  /*! Default implementation */
32  virtual DiffLinearOperator<T,P,Q>* lMdagM(Handle< FermState<T,P,Q> > state) const
33  {
34  return new DiffMdagMLinOp<T,P,Q>(this->linOp(state));
35  }
36 
37  };
38 
39  //-------------------------------------------------------------------------------------------
40  //! Wilson-like fermion actions
41  /*! @ingroup actions
42  *
43  * Wilson-like fermion actions
44  */
45  template<typename T, typename P, typename Q>
46  class Central2TimePrecFermAct : public WilsonTypeFermAct<T,P,Q>
47  {
48  public:
49  //! Virtual destructor to help with cleanup;
50  virtual ~Central2TimePrecFermAct() {}
51 
52  virtual Central2TimePrecLinearOperator<T,P,Q>* linOp( Handle< FermState<T,P,Q> > state) const = 0;
53 
54  //! Produce a linear operator M^dag.M for this action
55  /*! Default implementation */
56  virtual DiffLinearOperator<T,P,Q>* lMdagM(Handle< FermState<T,P,Q> > state) const
57  {
58  return new DiffMdagMLinOp<T,P,Q>(this->linOp(state));
59  }
60 
61  };
62 
63 
64 
65 
66 }
67 
68 #endif
69 #endif
70 #endif
71 
72 
73 #endif
74 
Time-preconditioned Linear Operators.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
const WilsonTypeFermAct< multi1d< LatticeFermion > > Handle< const ConnectState > state
Definition: pbg5p_w.cc:28
Wilson-like fermion actions.