5 #include "qdp_config.h"
20 namespace CentralTimePrecLogDetTTMonomial4DEnv
25 Monomial< multi1d<LatticeColorMatrix>,
28 return new CentralTimePrecLogDetTTMonomial4D(CentralTimePrecLogDetTTMonomialParams(xml, path));
52 CentralTimePrecLogDetTTMonomialParams::CentralTimePrecLogDetTTMonomialParams(XMLReader&
in,
const std::string& path)
54 XMLReader paramtop(
in, path);
56 fermact =
readXMLGroup(paramtop,
"FermionAction",
"FermAct");
57 read(paramtop,
"num_flavors", num_flavors);
59 QDPIO::cout <<
"CentralTimePrecLogDetTTMonomialParams: read \n" << fermact.id << std::endl;
62 void read(XMLReader&
r,
const std::string& path, CentralTimePrecLogDetTTMonomialParams&
p)
64 CentralTimePrecLogDetTTMonomialParams
tmp(
r, path);
68 void write(XMLWriter& xml,
const std::string& path,
const CentralTimePrecLogDetTTMonomialParams&
p)
74 CentralTimePrecLogDetTTMonomial4D::CentralTimePrecLogDetTTMonomial4D(
const CentralTimePrecLogDetTTMonomialParams&
p) :
75 num_flavors(
p.num_flavors)
80 std::istringstream is(
p.fermact.xml);
81 XMLReader fermact_reader(is);
82 QDPIO::cout <<
" CentralTimePrecLogDetTTMonomial4D: construct " <<
p.fermact.id << std::endl;
84 WilsonTypeFermAct<T,P,Q>* tmp_act =
85 TheWilsonTypeFermActFactory::Instance().createObject(
p.fermact.id, fermact_reader,
p.fermact.path);
87 CentralTimePrecFermAct<T,P,Q>* downcast =
88 dynamic_cast<CentralTimePrecFermAct<T,P,Q>*
>(tmp_act);
93 QDPIO::cerr <<
"Unable to downcast FermAct to EvenOddPrecLogDetWilsonTypeFermAct in "
94 << __func__ << std::endl;
Even-odd preconditioned log(det(A_ee))
Fermion action factories.
All Wilson-type fermion actions.
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams ¶m)
Read parameters.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams ¶m)
Writer parameters.
GroupXML_t readXMLGroup(XMLReader &xml_in, const std::string &path, const std::string &type_name)
Read group and return as a std::string.
bool registerAll()
Register all the factories.
static bool registered
Local registration flag.
const std::string name
Name to be used.
Monomial< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > * createMonomial(XMLReader &xml, const std::string &path)
Callback function for the factory.
Asqtad Staggered-Dirac operator.
static QDP_ColorVector * in