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...
#include <string>#include <vector>#include <map>#include "nutools/G4Base/UserAction.h"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.
1.8.11