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()
static GFlavorMixerFactory * fgTheInstance
genie::flux::GFlavorMixerI * GetFlavorMixer(const std::string &)
std::vector< std::string > listnames
std::map< std::string, bool * > fBoolPtrMap
GENIE interface for flavor modification. 
void operator=(const GFlavorMixerFactory &)
std::map< std::string, GFlavorMixerICtorFuncPtr_t > fFunctionMap
virtual ~GFlavorMixerFactory()
const std::vector< std::string > & AvailableFlavorMixers() const 
bool IsKnownFlavorMixer(const std::string &)
A class for generating concrete GFlavorMixerI derived classes based on the factory pattern...
bool RegisterCreator(std::string name, GFlavorMixerICtorFuncPtr_t ctorptr, bool *ptr)
genie::flux::GFlavorMixerI *(* GFlavorMixerICtorFuncPtr_t)()