99 const LatticePropagator& quark_prop_1,
100 const LatticePropagator& quark_prop_2,
106 QDPIO::cout<<
"Starting the qqbar code\n";
109 Set sft_set(phases.
getSet()) ;
110 int length(sft_set.numSubsets());
115 LatticePropagator anti_quark_prop = Gamma(
G5) * quark_prop_2 * Gamma(
G5);
117 LatticePropagator quarkloop;
118 LatticeSpinMatrix sm ;
119 LatticeColorMatrix cm ;
121 quarkloop = adj(anti_quark_prop)*Gamma(
G5) *quark_prop_1 ;
123 multi2d<DPropagator> foo(phases.
numMom(),length);
124 multi2d<DColorMatrix> dcm(phases.
numMom(),length);
126 for(
int s1(0);s1<Ns;s1++)
127 for(
int s2(0);s2<Ns;s2++){
128 cm = peekSpin(quarkloop,s1,s2);
129 for(
int c1(0);c1<Nc;c1++)
130 for(
int c2(0);c2<Nc;c2++){
131 cc = peekColor(cm,c1,c2);
132 multi2d<DComplex> fcc(phases.
sft(cc));
133 for (
int mom_num(0); mom_num < phases.
numMom(); ++mom_num){
134 for(
int t = 0;
t < length; ++
t){
135 pokeColor(dcm[mom_num][
t],fcc[mom_num][
t],c1,c2);
139 for (
int mom_num(0); mom_num < phases.
numMom(); ++mom_num)
140 for(
int t = 0;
t < length; ++
t)
141 pokeSpin(foo[mom_num][
t],dcm[mom_num][
t],s1,s2);
144 for (
int mom_num(0); mom_num < phases.
numMom(); ++mom_num){
145 for(
int t = 0;
t < length; ++
t){
147 int t_eff = (
t -
t0 + length) % length;
148 qqbar[mom_num][t_eff]= foo[mom_num][
t] ;
152 QDPIO::cout<<
"Finished the qqbar code\n";
160 const LatticePropagator& quark_prop_1,
161 const LatticePropagator& quark_prop_2,
167 QDPIO::cout<<
"Starting the qqbar code\n";
170 Set sft_set(phases.
getSet()) ;
171 int length(sft_set.numSubsets());
176 LatticePropagator anti_quark_prop = Gamma(
G5) * quark_prop_2 * Gamma(
G5);
178 LatticePropagator quarkloop;
179 LatticeSpinMatrix sm ;
180 LatticeColorMatrix cm ;
182 quarkloop = adj(anti_quark_prop)*Gamma(gg) *quark_prop_1 ;
184 multi2d<DPropagator> foo(phases.
numMom(),length);
185 multi2d<DColorMatrix> dcm(phases.
numMom(),length);
187 for(
int s1(0);s1<Ns;s1++)
188 for(
int s2(0);s2<Ns;s2++){
189 cm = peekSpin(quarkloop,s1,s2);
190 for(
int c1(0);c1<Nc;c1++)
191 for(
int c2(0);c2<Nc;c2++){
192 cc = peekColor(cm,c1,c2);
193 multi2d<DComplex> fcc(phases.
sft(cc));
194 for (
int mom_num(0); mom_num < phases.
numMom(); ++mom_num){
195 for(
int t = 0;
t < length; ++
t){
196 pokeColor(dcm[mom_num][
t],fcc[mom_num][
t],c1,c2);
200 for (
int mom_num(0); mom_num < phases.
numMom(); ++mom_num)
201 for(
int t = 0;
t < length; ++
t)
202 pokeSpin(foo[mom_num][
t],dcm[mom_num][
t],s1,s2);
205 for (
int mom_num(0); mom_num < phases.
numMom(); ++mom_num){
206 for(
int t = 0;
t < length; ++
t){
208 int t_eff = (
t -
t0 + length) % length;
209 qqbar[mom_num][t_eff]= foo[mom_num][
t] ;
213 QDPIO::cout<<
"Finished the qqbar code with Gamma("<<gg<<
")\n";
221 multi2d<DPropagator>& qqbar,
227 XMLBufferWriter record_xml;
228 push(record_xml,
"qqbar_desc");
230 write(record_xml,
"type", type);
231 write(record_xml,
"sink", sink);
234 write(to,record_xml,qqbar[
p]);
Primary include file for CHROMA library code.
Fourier transform phase factor support.
multi1d< int > numToMom(int mom_num) const
Convert momenta id to actual array of momenta.
multi2d< DComplex > sft(const LatticeComplex &cf) const
Do a sumMulti(cf*phases,getSet())
int numMom() const
Number of momenta.
const Set & getSet() const
The set to be used in sumMulti.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
void compute_qqbar(multi2d< DPropagator > &qqbar, const LatticePropagator &quark_prop_1, const LatticePropagator &quark_prop_2, const SftMom &phases, int t0)
Meson-Meson 4-pt functions.
Asqtad Staggered-Dirac operator.
void write_qqbar(QDPFileWriter &to, multi2d< DPropagator > &qqbar, const SftMom &phases, std::string type, std::string sink)
push(xml_out,"Condensates")
constructs 2 quark propagators contracted at the sink
Fourier transform phase factor support.