From 35ac85aea89f567360c7df61335a1dd4207fed83 Mon Sep 17 00:00:00 2001 From: Lanny91 Date: Wed, 1 Feb 2017 12:57:34 +0000 Subject: [PATCH] Updated Weak Hamiltonian contractions to use zero-flop gamma matrices --- .../MContraction/WeakHamiltonianNonEye.cc | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/extras/Hadrons/Modules/MContraction/WeakHamiltonianNonEye.cc b/extras/Hadrons/Modules/MContraction/WeakHamiltonianNonEye.cc index 31763dac..106c5964 100644 --- a/extras/Hadrons/Modules/MContraction/WeakHamiltonianNonEye.cc +++ b/extras/Hadrons/Modules/MContraction/WeakHamiltonianNonEye.cc @@ -95,7 +95,7 @@ void TWeakHamiltonianNonEye::execute(void) PropagatorField &q2 = *env().template getObject(par().q2); PropagatorField &q3 = *env().template getObject(par().q3); PropagatorField &q4 = *env().template getObject(par().q4); - SpinMatrix g5 = makeGammaProd(Ns*Ns - 1); // Soon to be deprecated. + Gamma g5 = Gamma(Gamma::Algebra::Gamma5); LatticeComplex expbuf(env().getGrid()); std::vector corrbuf; std::vector result; @@ -108,17 +108,14 @@ void TWeakHamiltonianNonEye::execute(void) std::vector W_i_side_loop(ndim, tmp2); std::vector W_f_side_loop(ndim, tmp2); - // Soon to be deprecated. Keeping V and A parts distinct to take advantage - // of zero-flop gamma products, when implemented. - std::vector> gL; - gL.resize(n_i); - gL[i_V].resize(ndim); - gL[i_A].resize(ndim); - for (unsigned int mu = 0; mu < ndim; ++mu) - { - gL[i_V][mu] = makeGammaProd(mu); - gL[i_A][mu] = g5*makeGammaProd(mu); - } + std::vector> gL = {{Gamma(Gamma::Algebra::GammaX), + Gamma(Gamma::Algebra::GammaY), + Gamma(Gamma::Algebra::GammaZ), + Gamma(Gamma::Algebra::GammaT)}, + {Gamma(Gamma::Algebra::GammaXGamma5), + Gamma(Gamma::Algebra::GammaYGamma5), + Gamma(Gamma::Algebra::GammaZGamma5), + Gamma(Gamma::Algebra::GammaTGamma5)}}; // Setup for C-type contractions. for (int mu = 0; mu < ndim; ++mu)