Bridge++  Ver. 2.0.2
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  // optional
51  Corr4pt_4spinor(GammaMatrixSet *gmset, const Parameters& params)
52  : m_vl(CommonParameters::Vlevel()), m_gmset(gmset)
53  {
54  set_parameters(params);
55  }
56 
57  private:
58  // non-copyable
61 
62  public:
63  void set_parameters(const Parameters& params);
64 
65  void get_parameters(Parameters& params) const;
66 
68 
69  double meson_all(
70  const std::vector<Field_F>& sq1,
71  const std::vector<Field_F>& sq2,
72  const std::vector<Field_F>& sq3,
73  const std::vector<Field_F>& sq4);
74 
75  void meson_correlator(
76  std::vector<dcomplex>& corr_global,
77  const GammaMatrix& gm_sink_12,
78  const GammaMatrix& gm_sink_34,
79  const GammaMatrix& gm_src_21,
80  const GammaMatrix& gm_src_43,
81  const std::vector<Field_F>& sq1,
82  const std::vector<Field_F>& sq2,
83  const std::vector<Field_F>& sq3,
84  const std::vector<Field_F>& sq4);
85 
86  double meson_momentum_all(
87  const std::vector<Field_F>& sq1,
88  const std::vector<Field_F>& sq2,
89  const std::vector<Field_F>& sq3,
90  const std::vector<Field_F>& sq4,
91  const std::vector<int>& source_position);
92 
94  std::vector<dcomplex>& corr_global,
95  const std::vector<int>& momentum_sink,
96  const GammaMatrix& gm_sink_12,
97  const GammaMatrix& gm_sink_34,
98  const GammaMatrix& gm_src_21,
99  const GammaMatrix& gm_src_43,
100  const std::vector<Field_F>& sq1,
101  const std::vector<Field_F>& sq2,
102  const std::vector<Field_F>& sq3,
103  const std::vector<Field_F>& sq4,
104  const std::vector<int>& source_position);
105 
106  // double proton_test(
107  // const std::vector<Field_F>& sq_u,
108  // const std::vector<Field_F>& sq_d);
109 
110  // void proton_correlator(
111  // std::vector<dcomplex>& corr_global,
112  // const GammaMatrix& gm,
113  // const std::vector<Field_F>& sq_u,
114  // const std::vector<Field_F>& sq_d);
115 
116  private:
117  // void init();
118 
120  // int epsilon_index(int i, int n)
121  // {
122  // return m_epsilon_index[i + 3 * n];
123  // }
124 
126  // double epsilon_value(int n)
127  // {
128  // return 1.0 - 2.0 * (n / 3);
129  // }
130 
131  void corr_direct(std::vector<dcomplex>& corr_direct_global,
132  const GammaMatrix& gm5_gm_sink,
133  const GammaMatrix& gm_gm5_src,
134  const std::vector<Field_F>& sq1,
135  const std::vector<Field_F>& sq2);
136 
137  void corr_cross_sink(std::vector<std::vector<dcomplex> >& corr_cross_global,
138  const GammaMatrix& gm5_gm_sink,
139  const GammaMatrix& gm_gm5_src,
140  const std::vector<Field_F>& sq1,
141  const std::vector<Field_F>& sq2);
142 
144  void global_corr_t(std::vector<dcomplex>& corr_global,
145  const std::vector<dcomplex>& corr_local);
146 };
147 #endif
GammaMatrixSet
Set of Gamma Matrices: basis class.
Definition: gammaMatrixSet.h:37
bridgeIO.h
Corr4pt_4spinor::global_corr_t
void global_corr_t(std::vector< dcomplex > &corr_global, const std::vector< dcomplex > &corr_local)
transform node-local correlator in t to global.
Definition: corr4pt_4spinor.cpp:634
Corr4pt_4spinor::set_parameter_verboselevel
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
Definition: corr4pt_4spinor.h:67
CommonParameters
Common parameter class: provides parameters as singleton.
Definition: commonParameters.h:42
Parameters
Class for parameters.
Definition: parameters.h:46
GammaMatrix
Gamma Matrix class.
Definition: gammaMatrix.h:44
Corr4pt_4spinor::corr_cross_sink
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)
Definition: corr4pt_4spinor.cpp:572
Corr4pt_4spinor::m_gmset
GammaMatrixSet * m_gmset
Definition: corr4pt_4spinor.h:43
Corr4pt_4spinor::corr_direct
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.
Definition: corr4pt_4spinor.cpp:541
Corr4pt_4spinor::set_parameters
void set_parameters(const Parameters &params)
Definition: corr4pt_4spinor.cpp:19
Corr4pt_4spinor::get_parameters
void get_parameters(Parameters &params) const
Definition: corr4pt_4spinor.cpp:34
Corr4pt_4spinor::meson_momentum_all
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)
Definition: corr4pt_4spinor.cpp:331
Corr4pt_4spinor::operator=
Corr4pt_4spinor & operator=(const Corr4pt_4spinor &)
ParameterCheck::vl
Bridge::VerboseLevel vl
Definition: parameterCheck.cpp:18
Corr4pt_4spinor::meson_momentum_correlator
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)
Definition: corr4pt_4spinor.cpp:488
Corr4pt_4spinor::meson_all
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)
Definition: corr4pt_4spinor.cpp:42
Corr4pt_4spinor::Corr4pt_4spinor
Corr4pt_4spinor(GammaMatrixSet *gmset)
Definition: corr4pt_4spinor.h:47
Corr4pt_4spinor::class_name
static const std::string class_name
Definition: corr4pt_4spinor.h:35
contract_4spinor.h
parameters.h
Corr4pt_4spinor::m_epsilon_index
std::vector< int > m_epsilon_index
index of totally antisymmetric tensor
Definition: corr4pt_4spinor.h:44
Corr4pt_4spinor
Four-point correlator for Wilson-type fermions.
Definition: corr4pt_4spinor.h:32
Corr4pt_4spinor::m_filename_output
std::string m_filename_output
Definition: corr4pt_4spinor.h:41
Corr4pt_4spinor::meson_correlator
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)
Definition: corr4pt_4spinor.cpp:165
Bridge::VerboseLevel
VerboseLevel
Definition: bridgeIO.h:42
gammaMatrixSet.h
Corr4pt_4spinor::Corr4pt_4spinor
Corr4pt_4spinor(GammaMatrixSet *gmset, const Parameters &params)
Definition: corr4pt_4spinor.h:51
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512
Corr4pt_4spinor::m_vl
Bridge::VerboseLevel m_vl
Definition: corr4pt_4spinor.h:38