00001 // $Id: periodic_fermstate_w.cc,v 1.2 2006/09/20 20:31:41 edwards Exp $ 00002 /*! \file 00003 * \brief Periodic ferm state and a creator 00004 */ 00005 00006 #include "actions/ferm/fermstates/periodic_fermstate_w.h" 00007 #include "actions/ferm/fermstates/ferm_createstate_factory_w.h" 00008 #include "actions/ferm/fermstates/ferm_createstate_aggregate_w.h" 00009 #include "actions/ferm/fermbcs/fermbcs_reader_w.h" 00010 00011 namespace Chroma 00012 { 00013 00014 /*! \ingroup fermstates */ 00015 namespace CreatePeriodicFermStateEnv 00016 { 00017 CreateFermState<LatticeFermion, 00018 multi1d<LatticeColorMatrix>, 00019 multi1d<LatticeColorMatrix> >* createFerm(XMLReader& xml, 00020 const std::string& path) 00021 { 00022 return new CreatePeriodicFermState<LatticeFermion, 00023 multi1d<LatticeColorMatrix>, 00024 multi1d<LatticeColorMatrix> >(); 00025 } 00026 00027 const std::string name = "PERIODIC_FERM_STATE"; 00028 00029 //! Local registration flag 00030 static bool registered = false; 00031 00032 //! Register all the factories 00033 bool registerAll() 00034 { 00035 bool success = true; 00036 if (! registered) 00037 { 00038 success &= Chroma::TheCreateFermStateFactory::Instance().registerObject(name, createFerm); 00039 registered = true; 00040 } 00041 return success; 00042 } 00043 } 00044 00045 } 00046
1.4.7