diff --git a/extras/Hadrons/Modules/MSource/SeqConservedSummed.hpp b/extras/Hadrons/Modules/MSource/SeqConservedSummed.hpp index 2296701a..243d05f2 100644 --- a/extras/Hadrons/Modules/MSource/SeqConservedSummed.hpp +++ b/extras/Hadrons/Modules/MSource/SeqConservedSummed.hpp @@ -4,8 +4,9 @@ Grid physics library, www.github.com/paboyle/Grid Source file: extras/Hadrons/Modules/MContraction/SeqConservedSummed.hpp -Copyright (C) 2017 +Copyright (C) 2015-2018 +Author: Antonin Portelli Author: Andrew Lawson Author: Vera Guelpers @@ -82,6 +83,7 @@ public: // dependency relation virtual std::vector getInput(void); virtual std::vector getOutput(void); +protected: // setup virtual void setup(void); // execution @@ -121,7 +123,8 @@ template void TSeqConservedSummed::setup(void) { auto Ls_ = env().getObjectLs(par().action); - env().template registerLattice(getName(), Ls_); + envCreateLat(PropagatorField, getName(), Ls_); + envTmpLat(PropagatorField, "src_tmp"); } // execution /////////////////////////////////////////////////////////////////// @@ -141,18 +144,19 @@ void TSeqConservedSummed::execute(void) << par().tA << " <= t <= " << par().tB << std::endl; } - PropagatorField &src = *env().template createLattice(getName()); - auto src_buf = src; - PropagatorField &q = *env().template getObject(par().q); - FMat &mat = *(env().template getObject(par().action)); + auto &src = envGet(PropagatorField, getName()); + envGetTmp(PropagatorField, src_tmp); + src_tmp = src; + auto &q = envGet(PropagatorField, par().q); + auto &mat = envGet(FMat, par().action); std::vector mom = strToVec(par().mom); src = zero; for(int mu=0;mu<=3;mu++) { - mat.SeqConservedCurrent(q, src_buf, par().curr_type, mu, + mat.SeqConservedCurrent(q, src_tmp, par().curr_type, mu, mom, par().tA, par().tB); - src += src_buf; + src += src_tmp; }