Go to the documentation of this file.
10 #ifndef AFORCE_F_INCLUDED
11 #define AFORCE_F_INCLUDED
35 template<
typename AFIELD>
67 vout.
crucial(
"AFopr: set_parameters not implemented.\n");
71 vout.
crucial(
"AFopr: get_parameters not implemented.\n");
114 typedef AForce_F *(*ProductCreator_noarg)();
115 typedef AForce_F *(*ProductCreator_string)(
const std::string& arg);
117 typedef AForce_F *(*ProductCreator_fopr_params)
119 typedef AForce_F *(*ProductCreator_force_director)
124 typedef AForce_F *(*ProductCreator_fopr_force)
133 Factory_force_director;
141 ProductCreator_noarg p = Factory_noarg::Find(subtype);
142 return p ? (*p)() : 0;
147 ProductCreator_string p = Factory_string::Find(subtype);
148 return p ? (*p)(arg) : 0;
153 ProductCreator_params p = Factory_params::Find(subtype);
154 return p ? (*p)(params) : 0;
160 ProductCreator_fopr_params p = Factory_fopr_params::Find(subtype);
161 return p ? (*p)(fopr, params) : 0;
167 ProductCreator_force_director p = Factory_force_director::Find(subtype);
168 return p ? (*p)(force_F, director) : 0;
183 ProductCreator_fopr_force p = Factory_fopr_force::Find(subtype);
184 return p ? (*p)(fopr, force_F) : 0;
209 #ifdef USE_FACTORY_AUTOREGISTER
211 static bool init_factory();
212 #endif // USE_FACTORY_AUTOREGISTER
214 #endif // USE_FACTORY
217 #endif // AFORCE_F_INCLUDED
virtual void force_udiv(AFIELD &, const AFIELD &)
virtual void force_core1(AFIELD &, const AFIELD &, const AFIELD &)
AForce_F & operator=(const AForce_F &)
non-copyable
virtual void set_mode(const std::string &mode)
in Force, setting the mode is optional when H is nonhermitian.
virtual void get_parameters(Parameters ¶ms) const
virtual void tidyup()
finalizer.
Field_G * m_force_tmp
used for corelib implementation
virtual void set_parameters(const Parameters ¶ms)
sets parameters by a Parameter object: to be implemented in a subclass.
AFIELD m_ut
working vector for gauge field
AFIELD m_Ucp
Gauge configuration (converted if necessary)
virtual void mult_generator(AFIELD &)
virtual void set_config(Field *)=0
sets verbose level.
virtual void force_core(AFIELD &, const AFIELD &)
Field_G * m_U
Gauge configuration.
virtual void init()
initializer.
Manager of commonly used data object in HMC.
void crucial(const char *format,...)
Container of Field-type object.
static const std::string class_name
virtual void force_udiv1(AFIELD &, const AFIELD &, const AFIELD &)
std::string IdentifierType