CHROMA
eoprec_logdet_two_flavor_monomial_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! @file
3  * @brief Two-flavor collection of even-odd preconditioned 4D ferm monomials
4  */
5 
6 #ifndef __prec_two_flavor_logdet_monomial_w_h__
7 #define __prec_two_flavor_logdet_monomial_w_h__
8 
12 
13 namespace Chroma
14 {
15 
16  /*! @ingroup monomial */
17  namespace EvenOddPrecLogDetTwoFlavorWilsonTypeFermMonomialEnv
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  // Construct from a fermact handle and inv params
44  // FermAct already holds BC-s
45 // EvenOddPrecTwoFlavorWilsonTypeFermMonomial(Handle< const EvenOddPrecWilsonFermAct >& fermact_, const GroupXML_t& inv_param_ ) : fermact(fermact_), inv_param(inv_param_) {}
46 
47  // Copy Constructor
49 
50  protected:
51 
52  T& getPhi(void) {
53  return phi;
54  }
55 
56  const T& getPhi(void) const {
57  return phi;
58  }
59 
61  return *fermact;
62  }
63 
64  //! Get parameters for the inverter
65  const GroupXML_t& getInvParams(void) const {
66  return inv_param;
67  }
68 
70  return *chrono_predictor;
71  };
72 
73 
74  private:
75 
76  // Hide empty constructor and =
79 
80  // Pseudofermion field phi
81  T phi;
82 
83  // A handle for the EvenOddPrecWilsonFermAct
85 
86  // The parameters for the inversion
88 
90  };
91 
92 
93 } //end namespace chroma
94 
95 #endif
Abstract interface for a Chronological Solution predictor.
Wrapper class for 2-flavor even-odd prec ferm monomials.
void operator=(const EvenOddPrecLogDetTwoFlavorWilsonTypeFermMonomial &)
Handle< const EvenOddPrecLogDetWilsonTypeFermAct< T, P, Q > > fermact
EvenOddPrecLogDetTwoFlavorWilsonTypeFermMonomial(const EvenOddPrecLogDetTwoFlavorWilsonTypeFermMonomial &m)
const GroupXML_t & getInvParams(void) const
Get parameters for the inverter.
AbsChronologicalPredictor4D< T > & getMDSolutionPredictor(void)
Get the initial guess predictor.
const T & getPhi(void) const
Accessor for pseudofermion with Pf index i (read only)
const EvenOddPrecLogDetWilsonTypeFermAct< T, P, Q > & getFermAct(void) const
Get at fermion action For now the prototype is the same as before – wait until we refactor these befo...
Even-odd preconditioned Wilson-like fermion action, specialised to clover like (gauge dependent diago...
Class for counted reference semantics.
Definition: handle.h:33
Exact 2 degen flavor even-odd preconditioned fermact monomial.
Field state.
static int m[4]
Definition: make_seeds.cc:16
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
Hold group xml and type id.
Two-flavor monomial params.
Two flavor Monomials - gauge action or fermion binlinear contributions for HMC.