Bridge++  Ver. 1.1.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fopr_eo.h
Go to the documentation of this file.
1 
14 #ifndef FOPR_EO_INCLUDED
15 #define FOPR_EO_INCLUDED
16 
17 #include "fopr.h"
18 
20 
33 class Fopr_eo : public Fopr
34 {
35  public:
36 
37  virtual ~Fopr_eo() {}
38 
39  // methods for even odd fermion operator
40  virtual void preProp(Field&, Field&, const Field&) = 0;
41  virtual void postProp(Field&, const Field&, const Field&) = 0;
42 
44  virtual void set_config(Field *) = 0;
45 
48  virtual const Field mult(const Field&) = 0;
49 
51  // *** superficial return statement ***
52  virtual const Field mult_dag(const Field&) { return Field(); }
53 
55  // and set the resultant field to the 1st argument.
56  virtual void mult(Field&, const Field&) {}
57 
59  virtual void mult_dag(Field&, const Field&) {}
60 
63  virtual void set_mode(std::string mode)
64  {
65  vout.general(m_vl, "Fopr_eo: set_mode not implemented.\n");
66  }
67 
68  std::string get_mode() const
69  {
70  vout.general(m_vl, "Fopr_eo: get_mode not implemented.\n");
71  return std::string();
72  }
73 
75  virtual int field_nvol() = 0;
76 
78  virtual int field_nin() = 0;
79 
81  virtual int field_nex() = 0;
82 };
83 #endif