CHROMA
eoprec_constdet_one_flavor_rat_monomial_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! @file
3  * @brief One-flavor collection of even-odd preconditioned 4D ferm monomials
4  */
5 
6 #ifndef __prec_one_flavor_rat_monomial_w_h__
7 #define __prec_one_flavor_rat_monomial_w_h__
8 
12 
13 namespace Chroma
14 {
15 
16  /*! @ingroup monomial */
17  namespace EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomialEnv
18  {
19  bool registerAll();
20  }
21 
22 
23  //! Wrapper class for 2-flavor even-odd prec ferm monomials
24  /*! @ingroup monomial
25  *
26  * Monomial is expected to be the same for these fermacts
27  */
30  multi1d<LatticeColorMatrix>,
31  multi1d<LatticeColorMatrix>,
32  LatticeFermion>
33  {
34  public:
35  // Typedefs to save typing
36  typedef LatticeFermion T;
37  typedef multi1d<LatticeColorMatrix> P;
38  typedef multi1d<LatticeColorMatrix> Q;
39 
40  // Construct out of a parameter struct. Check against the desired FermAct name
42 
43  protected:
44 
45  multi1d<T>& getPhi(void) {return phi;}
46  const multi1d<T>& getPhi(void) const {return phi;}
47 
49  return *fermact;
50  }
51 
52  //! Get parameters for the inverter
53  const GroupXML_t& getActionInvParams(void) const {
54  return actionInvParam;
55  }
56 
57  //! Get parameters for the inverter
58  const GroupXML_t& getForceInvParams(void) const {
59  return forceInvParam;
60  }
61 
62  //! Return number of roots in used
63  int getNPF() const {return num_pf;}
64 
65  //! Return the partial fraction expansion for the force calc
66  const RemezCoeff_t& getFPFE() const {return fpfe;}
67 
68  //! Return the partial fraction expansion for the action calc
69  const RemezCoeff_t& getSPFE() const {return spfe;}
70 
71  //! Return the partial fraction expansion for the heat-bath
72  const RemezCoeff_t& getSIPFE() const {return sipfe;}
73 
74  private:
75  // Hide empty constructor and =
78 
79  // Pseudofermion field phi
80  multi1d<T> phi;
81 
82  // A handle for the EvenOddPrecWilsonFermAct
84 
85  // The parameters for the inversion
88 
89  // Number of nth-roots
90  int num_pf;
91 
92  // Coefficients and roots of partial fractions
96  };
97 
98 
99 } //end namespace chroma
100 
101 #endif
const GroupXML_t & getForceInvParams(void) const
Get parameters for the inverter.
const RemezCoeff_t & getSIPFE() const
Return the partial fraction expansion for the heat-bath.
const RemezCoeff_t & getFPFE() const
Return the partial fraction expansion for the force calc.
const GroupXML_t & getActionInvParams(void) const
Get parameters for the inverter.
const RemezCoeff_t & getSPFE() const
Return the partial fraction expansion for the action calc.
void operator=(const EvenOddPrecConstDetOneFlavorWilsonTypeFermRatMonomial &)
const EvenOddPrecWilsonTypeFermAct< T, P, Q > & getFermAct(void) const
Replace thiw with PrecConstDet.
const multi1d< T > & getPhi(void) const
Accessor for pseudofermion (read only)
Even-odd preconditioned Wilson-like fermion actions including derivatives.
Class for counted reference semantics.
Definition: handle.h:33
Exact 1 flavor even-odd preconditioned fermact monomial constant determinant.
Field state.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
One-flavor monomial params.
One flavor monomials using RHMC.
Hold group xml and type id.
Convenient structure to package Remez coeffs.
Definition: remez_coeff.h:19