1 #ifndef PhysicsTools_MVAComputer_ProcessRegistry_h 2 #define PhysicsTools_MVAComputer_ProcessRegistry_h 21 #include "tbb/concurrent_unordered_map.h" 29 template<
class Base_t,
class CalibBase_t,
class Parent_t,
class Instance_t,
class Calibration_t>
class ProcessRegistryImpl;
44 template<
class Base_t,
class CalibBase_t,
class Parent_t>
52 template<
class Instance_t,
class Calibration_t>
70 const CalibBase_t *
calib,
87 virtual Base_t *
instance(
const char *name,
const CalibBase_t *calib,
88 Parent_t *parent)
const = 0;
95 typedef tbb::concurrent_unordered_map<std::string, const ProcessRegistry*>
RegistryMap;
113 template<
class Base_t,
class CalibBase_t,
class Parent_t,
class Instance_t,
class Calibration_t>
119 Parent_t *
parent)
const override 121 return new Instance_t(name,
122 dynamic_cast<const Calibration_t*>(calib),
131 #endif // PhysicsTools_MVAComputer_ProcessRegistry_h