Bridge++  Ver. 1.1.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fopr_Chebyshev.h
Go to the documentation of this file.
1 
15 #ifndef FOPR_CHEBYSHEV_INCLUDED
16 #define FOPR_CHEBYSHEV_INCLUDED
17 
18 #include "fopr.h"
19 #include "field_F.h"
20 #include "index_lex.h"
21 
22 #include "bridgeIO.h"
23 using Bridge::vout;
24 
26 
39 //- parameters class
40 class Parameters_Fopr_Chebyshev : virtual public Parameters
41 {
42  public:
44 };
45 //- end
46 
47 class Fopr_Chebyshev : public Fopr
48 {
49  private:
50  int m_Npcb;
51  double m_Fcb1, m_Fcb2;
53 
54  public:
55 
57  : Fopr(), m_fopr(fopr) {}
58 
59  void set_parameters(const Parameters& params);
60  void set_parameters(int Np, double v_thrs, double v_max);
61 
62  void set_config(Field *U)
63  {
64  m_fopr->set_config(U);
65  }
66 
67  const Field mult(const Field& f);
68 
69  void mult(Field& v, const Field& f)
70  {
71  v = mult(f);
72  }
73 
74  const Field mult_dag(const Field& f)
75  {
76  return mult(f);
77  }
78 
79  void mult_dag(Field& v, const Field& f)
80  {
81  v = mult_dag(f);
82  }
83 
85  double mult(double);
86 
87  int field_nvol() { return m_fopr->field_nvol(); }
88  int field_nin() { return m_fopr->field_nin(); }
89  int field_nex() { return m_fopr->field_nex(); }
90 };
91 #endif