Bridge++  Ver. 1.3.x
corr2pt_4spinor.h
Go to the documentation of this file.
1 
14 #ifndef CORR2PT_4SPINOR_INCLUDED
15 #define CORR2PT_4SPINOR_INCLUDED
16 
17 #include <cassert>
18 
19 #include "index_lex.h"
20 #include "field_F.h"
21 #include "gammaMatrixSet.h"
22 #include "contract_4spinor.h"
23 
24 #include "bridgeIO.h"
25 using Bridge::vout;
26 
28 
41 {
42  public:
43  static const std::string class_name;
44 
45  protected:
47 
48  private:
51  std::vector<int> m_epsilon_index;
53 
54  public:
56  : m_vl(CommonParameters::Vlevel()), m_gmset(gmset)
57  {
58  setup();
59  }
60 
62  : m_vl(CommonParameters::Vlevel()), m_gmset(gmset.get())
63  {
64  setup();
65  }
66 
67  private:
68  // non-copyable
71 
72  public:
73 
75 
76  double meson_all(
77  const std::vector<Field_F>& sq1,
78  const std::vector<Field_F>& sq2);
79 
80  void meson_corr(
81  std::vector<dcomplex>& meson,
82  const GammaMatrix& gm_sink,
83  const GammaMatrix& gm_src,
84  const std::vector<Field_F>& sq1,
85  const std::vector<Field_F>& sq2);
86 
87  double proton_test(
88  const std::vector<Field_F>& squ,
89  const std::vector<Field_F>& sqd);
90 
91  void proton_corr(
92  std::vector<dcomplex>& proton,
93  const GammaMatrix& gm,
94  const std::vector<Field_F>& squ,
95  const std::vector<Field_F>& sqd);
96 
97  private:
98 
99  void setup();
100 
102  int epsilon_index(int i, int n)
103  {
104  return m_epsilon_index[i + 3 * n];
105  }
106 
108  double epsilon_value(int n)
109  {
110  return 1.0 - 2.0 * (n / 3);
111  }
112 
114  void global_corr_t(std::vector<dcomplex>& corr_global,
115  std::vector<dcomplex>& corr_local);
116 };
117 #endif
BridgeIO vout
Definition: bridgeIO.cpp:278
double meson_all(const std::vector< Field_F > &sq1, const std::vector< Field_F > &sq2)
void meson_corr(std::vector< dcomplex > &meson, const GammaMatrix &gm_sink, const GammaMatrix &gm_src, const std::vector< Field_F > &sq1, const std::vector< Field_F > &sq2)
Two-point correlator for Wilson-type fermions.
Bridge::VerboseLevel m_vl
GammaMatrixSet * m_gmset
Corr2pt_4spinor & operator=(const Corr2pt_4spinor &)
void global_corr_t(std::vector< dcomplex > &corr_global, std::vector< dcomplex > &corr_local)
transform node-local correlator in t to global.
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
Gamma Matrix class.
Definition: gammaMatrix.h:44
static const std::string class_name
Set of Gamma Matrices: basis class.
Common parameter class: provides parameters as singleton.
Lexical site index.
Definition: index_lex.h:34
double epsilon_value(int n)
totally antisymmetric tensor: value.
Corr2pt_4spinor(unique_ptr< GammaMatrixSet > &gmset)
Corr2pt_4spinor(GammaMatrixSet *gmset)
double proton_test(const std::vector< Field_F > &squ, const std::vector< Field_F > &sqd)
void proton_corr(std::vector< dcomplex > &proton, const GammaMatrix &gm, const std::vector< Field_F > &squ, const std::vector< Field_F > &sqd)
Bridge::VerboseLevel vl
Definition: checker.cpp:18
VerboseLevel
Definition: bridgeIO.h:39
int epsilon_index(int i, int n)
totally antisymmetric tensor: index.
std::vector< int > m_epsilon_index
index of totally antisymmetric tensor