diff --git a/extras/Hadrons/Modules/MGauge/UnitEm.cc b/extras/Hadrons/Modules/MGauge/UnitEm.cc index ad842584..e5536d7a 100644 --- a/extras/Hadrons/Modules/MGauge/UnitEm.cc +++ b/extras/Hadrons/Modules/MGauge/UnitEm.cc @@ -61,7 +61,7 @@ void TUnitEm::setup(void) // execution /////////////////////////////////////////////////////////////////// void TUnitEm::execute(void) { - PhotonR photon(0, 0, std::vector(), 0.0); // Just chose arbitrary input values here + PhotonR photon(0, 0); // Just chose arbitrary input values here auto &a = envGet(EmField, getName()); LOG(Message) << "Generating unit EM potential..." << std::endl; photon.UnitField(a); diff --git a/lib/qcd/action/gauge/Photon.h b/lib/qcd/action/gauge/Photon.h index bcfe40e0..f36df5ea 100644 --- a/lib/qcd/action/gauge/Photon.h +++ b/lib/qcd/action/gauge/Photon.h @@ -60,6 +60,9 @@ namespace QCD{ GRID_SERIALIZABLE_ENUM(Gauge, undef, feynman, 1, coulomb, 2, landau, 3); GRID_SERIALIZABLE_ENUM(ZmScheme, undef, qedL, 1, qedTL, 2, qedInf, 3); public: + Photon(Gauge gauge, ZmScheme zmScheme); + Photon(Gauge gauge, ZmScheme zmScheme, std::vector improvements); + Photon(Gauge gauge, ZmScheme zmScheme, Real G0); Photon(Gauge gauge, ZmScheme zmScheme, std::vector improvements, Real G0); virtual ~Photon(void) = default; void FreePropagator(const GaugeField &in, GaugeField &out); @@ -82,12 +85,30 @@ namespace QCD{ typedef Photon PhotonR; + template + Photon::Photon(Gauge gauge, ZmScheme zmScheme) + : gauge_(gauge), zmScheme_(zmScheme), improvement_(std::vector()), + G0_(0.15493339023106021408483720810737508876916113364521) + {} + + template + Photon::Photon(Gauge gauge, ZmScheme zmScheme, + std::vector improvements) + : gauge_(gauge), zmScheme_(zmScheme), improvement_(improvements), + G0_(0.15493339023106021408483720810737508876916113364521) + {} + + template + Photon::Photon(Gauge gauge, ZmScheme zmScheme, Real G0) + : gauge_(gauge), zmScheme_(zmScheme), improvement_(std::vector()), G0_(G0) + {} + template Photon::Photon(Gauge gauge, ZmScheme zmScheme, std::vector improvements, Real G0) : gauge_(gauge), zmScheme_(zmScheme), improvement_(improvements), G0_(G0) {} - + template void Photon::FreePropagator (const GaugeField &in,GaugeField &out) {