GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Macros | Typedefs
GFlavorMixerFactory.h File Reference
#include <string>
#include <vector>
#include <map>
#include "Tools/Flux/GFlavorMixerI.h"
Include dependency graph for GFlavorMixerFactory.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  genie::flux::GFlavorMixerFactory
 A class for generating concrete GFlavorMixerI derived classes based on the factory pattern. This code supplies a CPP macro which allows the classes to self-register and thus no modification of this class is needed in order to expand the list of classes it knows about. More...
 
struct  genie::flux::GFlavorMixerFactory::Cleaner
 

Namespaces

 genie
 THE MAIN GENIE PROJECT NAMESPACE
 
 genie::flux
 GENIE flux drivers.
 

Macros

#define FLAVORMIXREG(_name)
 
#define FLAVORMIXREG3(_ns, _name, _fqname)
 
#define FLAVORMIXREG4(_nsa, _nsb, _name, _fqname)
 

Typedefs

typedef
genie::flux::GFlavorMixerI *(* 
genie::flux::GFlavorMixerICtorFuncPtr_t )()
 

Macro Definition Documentation

#define FLAVORMIXREG (   _name)
Value:
genie::flux::GFlavorMixerI* _name ## _ctor_function () { return new _name; } \
static bool _name ## _creator_registered = \
& _name ## _ctor_function, \
& _name ## _creator_registered );
static GFlavorMixerFactory & Instance()
GENIE interface for flavor modification.
Definition: GFlavorMixerI.h:42
bool RegisterCreator(std::string name, GFlavorMixerICtorFuncPtr_t ctorptr, bool *ptr)

Definition at line 133 of file GFlavorMixerFactory.h.

#define FLAVORMIXREG3 (   _ns,
  _name,
  _fqname 
)
Value:
namespace _ns { \
genie::flux::GFlavorMixerI* _name ## _ctor_function () { return new _fqname; } \
static bool _name ## _creator_registered = \
& _fqname ## _ctor_function, \
& _fqname ## _creator_registered );}
static GFlavorMixerFactory & Instance()
bool RegisterCreator(std::string name, GFlavorMixerICtorFuncPtr_t ctorptr, bool *ptr)

Definition at line 140 of file GFlavorMixerFactory.h.

#define FLAVORMIXREG4 (   _nsa,
  _nsb,
  _name,
  _fqname 
)
Value:
namespace _nsa { \
namespace _nsb { \
genie::flux::GFlavorMixerI* _name ## _ctor_function () { return new _fqname; } \
static bool _name ## _creator_registered = \
& _fqname ## _ctor_function, \
& _fqname ## _creator_registered );}}
static GFlavorMixerFactory & Instance()
bool RegisterCreator(std::string name, GFlavorMixerICtorFuncPtr_t ctorptr, bool *ptr)

Definition at line 148 of file GFlavorMixerFactory.h.