00001
00002
00003
00004
00005
00006
00007
00008 #include "chromabase.h"
00009
00010 #include "fermact.h"
00011 #include "actions/ferm/invert/invcg1.h"
00012
00013 #include "actions/ferm/fermacts/asqtad_fermact_s.h"
00014 #include "actions/ferm/qprop/asqtad_qprop.h"
00015 #include "actions/ferm/invert/syssolver_cg_params.h"
00016
00017 namespace Chroma
00018 {
00019
00020 typedef LatticeStaggeredFermion LF;
00021 typedef multi1d<LatticeColorMatrix> LCM;
00022
00023 SystemSolver<LF>*
00024 AsqtadFermAct::qprop(Handle< FermState<LF,LCM,LCM> > state,
00025 const GroupXML_t& invParam) const
00026 {
00027 const EvenOddStaggeredTypeFermAct<LF,LCM,LCM>& S_cast =
00028 dynamic_cast< const EvenOddStaggeredTypeFermAct<LF,LCM,LCM>& >(*this);
00029
00030 std::istringstream is(invParam.xml);
00031 XMLReader paramtop(is);
00032 SysSolverCGParams params(paramtop, invParam.path);
00033
00034 return new AsqtadQprop(S_cast,
00035 state,
00036 params);
00037 }
00038
00039
00040 }