Bridge++  Version 1.4.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
corr2pt_4spinor.h
Go to the documentation of this file.
1 
14 #ifndef CORR2PT_4SPINOR_INCLUDED
15 #define CORR2PT_4SPINOR_INCLUDED
16 
17 #include "contract_4spinor.h"
18 
19 #include "Parameters/parameters.h"
20 #include "Tools/gammaMatrixSet.h"
21 
22 #include "IO/bridgeIO.h"
23 using Bridge::vout;
24 
26 
40 {
41  public:
42  static const std::string class_name;
43 
44  protected:
46 
47  private:
48  std::string m_filename_output;
49 
51  std::vector<int> m_epsilon_index;
52 
53  public:
55  : m_vl(CommonParameters::Vlevel()), m_gmset(gmset)
56  {
57  init();
58  }
59 
61  : m_vl(CommonParameters::Vlevel()), m_gmset(gmset.get())
62  {
63  init();
64  }
65 
66  private:
67  // non-copyable
70 
71  public:
72  virtual void set_parameters(const Parameters& params);
73 
75 
76  double meson_all(
77  const std::vector<Field_F>& sq1,
78  const std::vector<Field_F>& sq2);
79 
80  void meson_correlator(
81  std::vector<dcomplex>& corr_global,
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 meson_momentum_all(
88  const std::vector<Field_F>& sq1,
89  const std::vector<Field_F>& sq2,
90  const std::vector<int>& source_position);
91 
93  std::vector<dcomplex>& corr_global,
94  const std::vector<int>& momentum_sink,
95  const GammaMatrix& gm_sink,
96  const GammaMatrix& gm_src,
97  const std::vector<Field_F>& sq1,
98  const std::vector<Field_F>& sq2,
99  const std::vector<int>& source_position);
100 
101  double proton_test(
102  const std::vector<Field_F>& sq_u,
103  const std::vector<Field_F>& sq_d);
104 
105  void proton_correlator(
106  std::vector<dcomplex>& corr_global,
107  const GammaMatrix& gm,
108  const std::vector<Field_F>& sq_u,
109  const std::vector<Field_F>& sq_d);
110 
111  private:
112  void init();
113 
115  int epsilon_index(int i, int n)
116  {
117  return m_epsilon_index[i + 3 * n];
118  }
119 
121  double epsilon_value(int n)
122  {
123  return 1.0 - 2.0 * (n / 3);
124  }
125 
127  void global_corr_t(std::vector<dcomplex>& corr_global,
128  std::vector<dcomplex>& corr_local);
129 };
130 #endif
BridgeIO vout
Definition: bridgeIO.cpp:495
double meson_all(const std::vector< Field_F > &sq1, const std::vector< Field_F > &sq2)
Two-point correlator for Wilson-type fermions.
Bridge::VerboseLevel m_vl
void proton_correlator(std::vector< dcomplex > &corr_global, const GammaMatrix &gm, const std::vector< Field_F > &sq_u, const std::vector< Field_F > &sq_d)
GammaMatrixSet * m_gmset
Corr2pt_4spinor & operator=(const Corr2pt_4spinor &)
Class for parameters.
Definition: parameters.h:46
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)
double proton_test(const std::vector< Field_F > &sq_u, const std::vector< Field_F > &sq_d)
Gamma Matrix class.
Definition: gammaMatrix.h:44
static const std::string class_name
void meson_correlator(std::vector< dcomplex > &corr_global, const GammaMatrix &gm_sink, const GammaMatrix &gm_src, const std::vector< Field_F > &sq1, const std::vector< Field_F > &sq2)
Set of Gamma Matrices: basis class.
Common parameter class: provides parameters as singleton.
double epsilon_value(int n)
totally antisymmetric tensor: value.
double meson_momentum_all(const std::vector< Field_F > &sq1, const std::vector< Field_F > &sq2, const std::vector< int > &source_position)
Corr2pt_4spinor(unique_ptr< GammaMatrixSet > &gmset)
Corr2pt_4spinor(GammaMatrixSet *gmset)
Bridge::VerboseLevel vl
Definition: checker.cpp:18
VerboseLevel
Definition: bridgeIO.h:42
int epsilon_index(int i, int n)
totally antisymmetric tensor: index.
std::string m_filename_output
virtual void set_parameters(const Parameters &params)
void meson_momentum_correlator(std::vector< dcomplex > &corr_global, const std::vector< int > &momentum_sink, const GammaMatrix &gm_sink, const GammaMatrix &gm_src, const std::vector< Field_F > &sq1, const std::vector< Field_F > &sq2, const std::vector< int > &source_position)
std::vector< int > m_epsilon_index
index of totally antisymmetric tensor