Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
corr4pt_4spinor.h
Go to the documentation of this file.
1 
14 #ifndef CORR4PT_4SPINOR_INCLUDED
15 #define CORR4PT_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 
33 {
34  public:
35  static const std::string class_name;
36 
37  protected:
39 
40  private:
41  std::string m_filename_output;
42 
44  std::vector<int> m_epsilon_index;
45 
46  public:
48  : m_vl(CommonParameters::Vlevel()), m_gmset(gmset)
49  {
50  }
51 
53  : m_vl(CommonParameters::Vlevel()), m_gmset(gmset.get())
54  {
55  }
56 
57  private:
58  // non-copyable
61 
62  public:
63  virtual void set_parameters(const Parameters& params);
64 
66 
67  double meson_all(
68  const std::vector<Field_F>& sq1,
69  const std::vector<Field_F>& sq2,
70  const std::vector<Field_F>& sq3,
71  const std::vector<Field_F>& sq4);
72 
73  void meson_correlator(
74  std::vector<dcomplex>& corr_global,
75  const GammaMatrix& gm_sink_12,
76  const GammaMatrix& gm_sink_34,
77  const GammaMatrix& gm_src_21,
78  const GammaMatrix& gm_src_43,
79  const std::vector<Field_F>& sq1,
80  const std::vector<Field_F>& sq2,
81  const std::vector<Field_F>& sq3,
82  const std::vector<Field_F>& sq4);
83 
84  double meson_momentum_all(
85  const std::vector<Field_F>& sq1,
86  const std::vector<Field_F>& sq2,
87  const std::vector<Field_F>& sq3,
88  const std::vector<Field_F>& sq4,
89  const std::vector<int>& source_position);
90 
92  std::vector<dcomplex>& corr_global,
93  const std::vector<int>& momentum_sink,
94  const GammaMatrix& gm_sink_12,
95  const GammaMatrix& gm_sink_34,
96  const GammaMatrix& gm_src_21,
97  const GammaMatrix& gm_src_43,
98  const std::vector<Field_F>& sq1,
99  const std::vector<Field_F>& sq2,
100  const std::vector<Field_F>& sq3,
101  const std::vector<Field_F>& sq4,
102  const std::vector<int>& source_position);
103 
104  // double proton_test(
105  // const std::vector<Field_F>& sq_u,
106  // const std::vector<Field_F>& sq_d);
107 
108  // void proton_correlator(
109  // std::vector<dcomplex>& corr_global,
110  // const GammaMatrix& gm,
111  // const std::vector<Field_F>& sq_u,
112  // const std::vector<Field_F>& sq_d);
113 
114  private:
115  // void init();
116 
118  // int epsilon_index(int i, int n)
119  // {
120  // return m_epsilon_index[i + 3 * n];
121  // }
122 
124  // double epsilon_value(int n)
125  // {
126  // return 1.0 - 2.0 * (n / 3);
127  // }
128 
129  void corr_direct(std::vector<dcomplex>& corr_direct_global,
130  const GammaMatrix& gm5_gm_sink,
131  const GammaMatrix& gm_gm5_src,
132  const std::vector<Field_F>& sq1,
133  const std::vector<Field_F>& sq2);
134 
135  void corr_cross_sink(std::vector<std::vector<dcomplex> >& corr_cross_global,
136  const GammaMatrix& gm5_gm_sink,
137  const GammaMatrix& gm_gm5_src,
138  const std::vector<Field_F>& sq1,
139  const std::vector<Field_F>& sq2);
140 
142  void global_corr_t(std::vector<dcomplex>& corr_global,
143  const std::vector<dcomplex>& corr_local);
144 };
145 #endif
BridgeIO vout
Definition: bridgeIO.cpp:503
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
GammaMatrixSet * m_gmset
void corr_direct(std::vector< dcomplex > &corr_direct_global, const GammaMatrix &gm5_gm_sink, const GammaMatrix &gm_gm5_src, const std::vector< Field_F > &sq1, const std::vector< Field_F > &sq2)
totally antisymmetric tensor: index.
virtual void set_parameters(const Parameters &params)
Four-point correlator for Wilson-type fermions.
Class for parameters.
Definition: parameters.h:46
Corr4pt_4spinor(unique_ptr< GammaMatrixSet > &gmset)
void corr_cross_sink(std::vector< std::vector< dcomplex > > &corr_cross_global, const GammaMatrix &gm5_gm_sink, const GammaMatrix &gm_gm5_src, const std::vector< Field_F > &sq1, const std::vector< Field_F > &sq2)
Gamma Matrix class.
Definition: gammaMatrix.h:44
void meson_momentum_correlator(std::vector< dcomplex > &corr_global, const std::vector< int > &momentum_sink, const GammaMatrix &gm_sink_12, const GammaMatrix &gm_sink_34, const GammaMatrix &gm_src_21, const GammaMatrix &gm_src_43, const std::vector< Field_F > &sq1, const std::vector< Field_F > &sq2, const std::vector< Field_F > &sq3, const std::vector< Field_F > &sq4, const std::vector< int > &source_position)
double meson_momentum_all(const std::vector< Field_F > &sq1, const std::vector< Field_F > &sq2, const std::vector< Field_F > &sq3, const std::vector< Field_F > &sq4, const std::vector< int > &source_position)
Corr4pt_4spinor & operator=(const Corr4pt_4spinor &)
Set of Gamma Matrices: basis class.
Common parameter class: provides parameters as singleton.
std::vector< int > m_epsilon_index
index of totally antisymmetric tensor
static const std::string class_name
Corr4pt_4spinor(GammaMatrixSet *gmset)
Bridge::VerboseLevel vl
VerboseLevel
Definition: bridgeIO.h:42
double meson_all(const std::vector< Field_F > &sq1, const std::vector< Field_F > &sq2, const std::vector< Field_F > &sq3, const std::vector< Field_F > &sq4)
Bridge::VerboseLevel m_vl
void meson_correlator(std::vector< dcomplex > &corr_global, const GammaMatrix &gm_sink_12, const GammaMatrix &gm_sink_34, const GammaMatrix &gm_src_21, const GammaMatrix &gm_src_43, const std::vector< Field_F > &sq1, const std::vector< Field_F > &sq2, const std::vector< Field_F > &sq3, const std::vector< Field_F > &sq4)
std::string m_filename_output
void global_corr_t(std::vector< dcomplex > &corr_global, const std::vector< dcomplex > &corr_local)
transform node-local correlator in t to global.