29 #ifdef USE_PARAMETERS_FACTORY
118 typedef Fopr *(*ProductCreator_noarg)();
119 typedef Fopr *(*ProductCreator_fopr)(
Fopr *fopr);
120 typedef Fopr *(*ProductCreator_fopr_director)(
Fopr *fopr,
Director *director);
121 typedef Fopr *(*ProductCreator_string)(
const std::string& arg);
130 ProductCreator_noarg p = Factory_noarg::Find(subtype);
132 return p ? (*p)() : 0;
137 ProductCreator_fopr p = Factory_fopr::Find(subtype);
139 return p ? (*p)(fopr) : 0;
144 ProductCreator_fopr p = Factory_fopr::Find(subtype);
146 return p ? (*p)(fopr.
get()) : 0;
151 ProductCreator_fopr_director p = Factory_fopr_director::Find(subtype);
153 return p ? (*p)(fopr, director) : 0;
158 ProductCreator_fopr_director p = Factory_fopr_director::Find(subtype);
160 return p ? (*p)(fopr.
get(), director.
get()) : 0;
165 ProductCreator_string p = Factory_string::Find(subtype);
167 return p ? (*p)(arg) : 0;
void general(const char *format,...)
virtual void set_config(Field *)=0
setting pointer to the gauge configuration.
Container of Field-type object.
void set_parameter_verboselevel(const Bridge::VerboseLevel vl)
virtual void mult_dn(int mu, Field &, const Field &)
virtual int field_nin()=0
returns the on-site d.o.f. for which the fermion operator is defined.
Manager of commonly used data object in HMC.
Bridge::VerboseLevel m_vl
virtual double flop_count()
returns the flops per site.
virtual std::string get_mode() const
only for Fopr_Overlap
virtual int field_nex()=0
returns the external d.o.f. for which the fermion operator is defined.
Common parameter class: provides parameters as singleton.
virtual void set_parameters(const Parameters &)=0
virtual void mult_up(int mu, Field &, const Field &)
nearest neighbor hopping term: temporary entry [H.Matsufuru]
Fopr & operator=(const Fopr &)
virtual void mult(Field &, const Field &)=0
multiplies fermion operator to a given field (2nd argument)
virtual void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
std::string IdentifierType
Factory template class.
virtual void mult_dag(Field &, const Field &)
hermitian conjugate of mult(Field&, const Field&).
Base class of fermion operator family.
virtual int field_nvol()=0
returns the volume for which the fermion operator is defined.