CHROMA
unprec_two_flavor_ratio_conv_conv_monomial_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! @file
3  * @brief Two-flavor collection of unpreconditioned 4D ferm monomials
4  */
5 
6 #ifndef __unprec_two_flavor_ratio_conv_conv_monomial_w_h__
7 #define __unprec_two_flavor_ratio_conv_conv_monomial_w_h__
8 
12 
13 namespace Chroma
14 {
15 
16  /*! @ingroup monomial */
17  namespace UnprecTwoFlavorRatioConvConvWilsonTypeFermMonomialEnv
18  {
19  bool registerAll();
20  }
21 
22 
23  //! Wrapper class for 2-flavor unprec 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  T& getPhi() {
46  // If phi are changed we must reset the chrono predictor
47  return phi;
48  }
49 
50  const T& getPhi() const {
51  return phi;
52  }
53 
55  return *fermact_num;
56  }
57 
59  return *fermact_den;
60  }
61 
63  return *chrono_predictor;
64  }
65 
66  //! Do an inversion of the type
67  const GroupXML_t& getNumerInvParams() const {
68  return invParam_num;
69  }
70 
71  //! Do an inversion of the type
72  const GroupXML_t& getDenomInvParams() const {
73  return invParam_den;
74  }
75 
76  private:
77  // Hide empty constructor and =
80 
81  // Pseudofermion field phi
82  T phi;
83 
84  // A handle for the UnprecWilsonFermAct
86 
87  // A handle for the UnprecWilsonFermAct
89 
90  // The parameters for the inversion
93 
94  // A handle for the chrono predictor
96  };
97 
98 
99 } //end namespace chroma
100 
101 
102 
103 #endif
Abstract interface for a Chronological Solution predictor.
Class for counted reference semantics.
Definition: handle.h:33
Exact 2 degen flavor unpreconditioned RatioConvConv type fermact monomial.
AbsChronologicalPredictor4D< T > & getMDSolutionPredictor()
Get at the chronological predcitor.
const GroupXML_t & getNumerInvParams() const
Do an inversion of the type.
void operator=(const UnprecTwoFlavorRatioConvConvWilsonTypeFermMonomial &)
const UnprecWilsonTypeFermAct< T, P, Q > & getDenomFermAct() const
Get at the preconditioned fermion actions.
const UnprecWilsonTypeFermAct< T, P, Q > & getNumerFermAct() const
Get at fermion action.
const GroupXML_t & getDenomInvParams() const
Do an inversion of the type.
Unpreconditioned Wilson-like fermion actions with derivatives.
Definition: fermact.orig.h:491
Field state.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
Hold group xml and type id.
Two-flavor RatioConvConv monomial params.
Two flavor Monomials - gauge action or fermion binlinear contributions for HMC.