47 const std::string& config)
const 61 std::cerr <<
"### EvtTimeShiftFactory WARNING: " 62 <<
"EvtTimeShiftI \"" << name <<
"\" is not known" << std::endl;
77 const std::vector<std::string>&
95 for (
size_t i=0; i < known.size(); ++i) {
96 std::cout <<
" [" << std::setw(2) << i <<
"] " << known[i] << std::endl;
static EvtTimeShiftFactory * fgTheInstance
bool IsKnownEvtTimeShift(const std::string &)
const std::vector< std::string > & AvailableEvtTimeShift() const
interface for event time distribution
virtual ~EvtTimeShiftFactory()
std::map< std::string, EvtTimeShiftICtorFuncPtr_t > fFunctionMap
bool RegisterCreator(std::string name, EvtTimeShiftICtorFuncPtr_t ctorptr, bool *ptr)
std::map< std::string, bool * > fBoolPtrMap
std::vector< std::string > listnames
A class for generating concrete EvtTimeShiftI derived classes based on the factory pattern...
static EvtTimeShiftFactory & Instance()
evgb::EvtTimeShiftI *(* EvtTimeShiftICtorFuncPtr_t)(const std::string &)
Physics generators for neutrinos, cosmic rays, and others.
evgb::EvtTimeShiftI * GetEvtTimeShift(const std::string &name, const std::string &config="") const