26#ifndef GENIE_FLUX_GFLAVORMIXERFACTORY_H
27#define GENIE_FLUX_GFLAVORMIXERFACTORY_H
133#define FLAVORMIXREG( _name ) \
134 genie::flux::GFlavorMixerI* _name ## _ctor_function () { return new _name; } \
135 static bool _name ## _creator_registered = \
136 genie::flux::GFlavorMixerFactory::Instance().RegisterCreator(# _name, \
137 & _name ## _ctor_function, \
138 & _name ## _creator_registered );
140#define FLAVORMIXREG3( _ns, _name, _fqname ) \
142 genie::flux::GFlavorMixerI* _name ## _ctor_function () { return new _fqname; } \
143 static bool _name ## _creator_registered = \
144 genie::flux::GFlavorMixerFactory::Instance().RegisterCreator(# _fqname, \
145 & _fqname ## _ctor_function, \
146 & _fqname ## _creator_registered );}
148#define FLAVORMIXREG4( _nsa, _nsb, _name, _fqname ) \
151 genie::flux::GFlavorMixerI* _name ## _ctor_function () { return new _fqname; } \
152 static bool _name ## _creator_registered = \
153 genie::flux::GFlavorMixerFactory::Instance().RegisterCreator(# _fqname, \
154 & _fqname ## _ctor_function, \
155 & _fqname ## _creator_registered );}}
static GFlavorMixerFactory & Instance()
virtual ~GFlavorMixerFactory()
static GFlavorMixerFactory * fgTheInstance
genie::flux::GFlavorMixerI * GetFlavorMixer(const std::string &)
GFlavorMixerFactory(const GFlavorMixerFactory &)
std::vector< std::string > listnames
bool RegisterCreator(std::string name, GFlavorMixerICtorFuncPtr_t ctorptr, bool *ptr)
std::map< std::string, bool * > fBoolPtrMap
const std::vector< std::string > & AvailableFlavorMixers() const
std::map< std::string, GFlavorMixerICtorFuncPtr_t > fFunctionMap
bool IsKnownFlavorMixer(const std::string &)
void operator=(const GFlavorMixerFactory &)
GENIE interface for flavor modification.
genie::flux::GFlavorMixerI *(* GFlavorMixerICtorFuncPtr_t)()
THE MAIN GENIE PROJECT NAMESPACE