Bridge++  Ver. 1.1.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fopr.h
Go to the documentation of this file.
1 
15 #ifndef FOPR_INCLUDED
16 #define FOPR_INCLUDED
17 
18 #include "parameters.h"
19 #include "commonParameters.h"
20 #include "communicator.h"
21 #include "field.h"
22 
23 #include "bridgeIO.h"
24 using Bridge::vout;
25 
27 
39 class Fopr
40 {
41  public:
42 
43  Fopr()
44  : m_vl(CommonParameters::Vlevel()) {}
45 
46  virtual ~Fopr() {}
47 
48  virtual void set_parameters(const Parameters&) = 0;
49 
51 
53  virtual void set_config(Field *) = 0;
54 
57  virtual const Field mult(const Field&) = 0;
58 
60  virtual const Field mult_dag(const Field&) { return Field(); }
61 
63  // and set the resultant field to the 1st argument.
64  virtual void mult(Field&, const Field&) {}
65 
67  virtual void mult_dag(Field&, const Field&) {}
68 
70  virtual void mult_up(int mu, Field&, const Field&) {}
71  virtual void mult_dn(int mu, Field&, const Field&) {}
72 
75  virtual void set_mode(std::string mode)
76  {
77  vout.general(m_vl, "Fopr: set_mode not implemented.\n");
78  }
79 
80  virtual std::string get_mode() const
81  {
82  vout.general(m_vl, "Fopr: get_mode not implemented.\n");
83  return std::string();
84  }
85 
87  virtual int field_nvol() = 0;
88 
90  virtual int field_nin() = 0;
91 
93  virtual int field_nex() = 0;
94 
95  protected:
97 };
98 #endif