CHROMA
wallff_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Structures for wall-sink/source form-factors
4  *
5  * Form factors constructed from a quark and a wall sink
6  */
7 
8 #ifndef __wallff_h__
9 #define __wallff_h__
10 
11 #include "util/ft/sftmom.h"
12 
13 namespace Chroma {
14 
15 //! Structures to hold form-factors
17 {
19  multi1d<int> inser_mom;
20  multi1d<Complex> local_current;
21  multi1d<Complex> nonlocal_current;
22 };
23 
25 {
26  int gamma_ctr;
27  int mu;
29  multi1d<WallFormFac_momenta_t> momenta;
30 };
31 
33 {
34  int proj_ctr;
36  multi1d<WallFormFac_insertion_t> insertion;
37 };
38 
40 {
42  int snk_gamma;
43  int src_gamma;
44  multi1d<WallFormFac_projector_t> projector;
45 };
46 
48 {
51  multi1d<WallFormFac_lorentz_t> lorentz;
52 };
53 
55 {
56  int quark_ctr;
58  multi1d<WallFormFac_formfac_t> formfac;
59 };
60 
62 {
64  multi1d<WallFormFac_quark_t> quark;
65 };
66 
67 
68 //! Compute nonlocal current propagator
69 /*!
70  * \ingroup hadron
71  *
72  * The form of J_mu = (1/2)*[psibar(x+mu)*U^dag_mu*(1+gamma_mu)*psi(x) -
73  * psibar(x)*U_mu*(1-gamma_mu)*psi(x+mu)]
74  *
75  * \param u gauge fields ( Read )
76  * \param mu direction ( Read )
77  * \param forw_prop forward propagator ( Read )
78  * \param anti_prop anti-quark version of forward propagator ( Read )
79  *
80  * \return nonlocal current propagator
81  */
82 LatticePropagator nonlocalCurrentProp(const multi1d<LatticeColorMatrix>& u,
83  int mu,
84  const LatticePropagator& forw_prop,
85  const LatticePropagator& anti_prop);
86 
87 
88 //! Do slow SFT over hadron correlator data
89 /*!
90  * \ingroup hadron
91  *
92  * \param momenta momenta structure ( Modify )
93  * \param corr_local_fn contracted local current insertion ( Read )
94  * \param corr_nonlocal_fn contracted nonlocal current insertion ( Read )
95  * \param phases fourier transform phase factors ( Read )
96  * \param compute_nonlocal compute the nonlocal current stuff?? ( Read )
97  * \param t0 time slice of the source ( Read )
98  */
99 void wallFormFacSft(multi1d<WallFormFac_momenta_t>& momenta,
100  const LatticeComplex& corr_local_fn,
101  const LatticeComplex& corr_nonlocal_fn,
102  const SftMom& phases,
103  bool compute_nonlocal,
104  int t0);
105 
106 
107 // Writers
108 
109 //! Wallformfac momenta writer
110 void write(XMLWriter& xml, const std::string& path, const WallFormFac_momenta_t& header);
111 
112 //! Wallformfac insertion writer
113 void write(XMLWriter& xml, const std::string& path, const WallFormFac_insertion_t& header);
114 
115 //! Wallformfac projector writer
116 void write(XMLWriter& xml, const std::string& path, const WallFormFac_projector_t& header);
117 
118 //! Wallformfac formfac writer
119 void write(XMLWriter& xml, const std::string& path, const WallFormFac_formfac_t& header);
120 
121 //! Wallformfac lorentz writer
122 void write(XMLWriter& xml, const std::string& path, const WallFormFac_lorentz_t& header);
123 
124 //! Wallformfac quark writer
125 void write(XMLWriter& xml, const std::string& path, const WallFormFac_quark_t& header);
126 
127 //! WallFormFac writer
128 void write(XMLWriter& xml, const std::string& path, const WallFormFac_formfacs_t& header);
129 
130 
131 //! Wallformfac momenta writer
132 void write(BinaryWriter& bin, const WallFormFac_momenta_t& header);
133 
134 //! Wallformfac insertion writer
135 void write(BinaryWriter& bin, const WallFormFac_insertion_t& header);
136 
137 //! Wallformfac projector writer
138 void write(BinaryWriter& bin, const WallFormFac_projector_t& header);
139 
140 //! Wallformfac formfac writer
141 void write(BinaryWriter& bin, const WallFormFac_formfac_t& header);
142 
143 //! Wallformfac lorentz writer
144 void write(BinaryWriter& bin, const WallFormFac_lorentz_t& header);
145 
146 //! Wallformfac quark writer
147 void write(BinaryWriter& bin, const WallFormFac_quark_t& header);
148 
149 //! WallFormFac writer
150 void write(BinaryWriter& bin, const WallFormFac_formfacs_t& header);
151 
152 } // end namespace Chroma
153 
154 #endif
Fourier transform phase factor support.
Definition: sftmom.h:35
int mu
Definition: cool.cc:24
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams &param)
Writer parameters.
void wallFormFacSft(multi1d< WallFormFac_momenta_t > &momenta, const LatticeComplex &corr_local_fn, const LatticeComplex &corr_nonlocal_fn, const SftMom &phases, bool compute_nonlocal, int t0)
Do slow SFT over hadron correlator data.
Definition: wallff_w.cc:54
LatticePropagator nonlocalCurrentProp(const multi1d< LatticeColorMatrix > &u, int mu, const LatticePropagator &forw_prop, const LatticePropagator &anti_prop)
Compute nonlocal current propagator.
Definition: wallff_w.cc:28
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
static multi1d< LatticeColorMatrix > u
::std::string string
Definition: gtest.h:1979
Fourier transform phase factor support.
multi1d< WallFormFac_lorentz_t > lorentz
Definition: wallff_w.h:51
multi1d< WallFormFac_quark_t > quark
Definition: wallff_w.h:64
multi1d< WallFormFac_momenta_t > momenta
Definition: wallff_w.h:29
multi1d< WallFormFac_projector_t > projector
Definition: wallff_w.h:44
Structures to hold form-factors.
Definition: wallff_w.h:17
multi1d< Complex > nonlocal_current
Definition: wallff_w.h:21
multi1d< Complex > local_current
Definition: wallff_w.h:20
multi1d< int > inser_mom
Definition: wallff_w.h:19
multi1d< WallFormFac_insertion_t > insertion
Definition: wallff_w.h:36
multi1d< WallFormFac_formfac_t > formfac
Definition: wallff_w.h:58