LArSoft
v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
|
A class for generating concrete UserAction 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...
Go to the source code of this file.
Classes | |
class | g4b::UserActionFactory |
struct | g4b::UserActionFactory::Cleaner |
Namespaces | |
g4b | |
basic interface to Geant4 for ART-based software | |
Macros | |
#define | USERACTIONREG(_name) |
#define | USERACTIONREG3(_ns, _name, _fqname) |
#define | USERACTIONREG4(_nsa, _nsb, _name, _fqname) |
Typedefs | |
typedef g4b::UserAction *(* | g4b::UserActionCtorFuncPtr_t) () |
A class for generating concrete UserAction 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.
Implemented as a singleton holding a map between names and pointers-to-functions (that call a class default constructor). The functions pointers must return UserAction*.
Definition in file UserActionFactory.h.
#define USERACTIONREG | ( | _name | ) |
Definition at line 112 of file UserActionFactory.h.
#define USERACTIONREG3 | ( | _ns, | |
_name, | |||
_fqname | |||
) |
Definition at line 119 of file UserActionFactory.h.
#define USERACTIONREG4 | ( | _nsa, | |
_nsb, | |||
_name, | |||
_fqname | |||
) |
Definition at line 127 of file UserActionFactory.h.