CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions
PhysicsTools::ProcessRegistry< Base_t, CalibBase_t, Parent_t >::Registry< Instance_t, Calibration_t > Class Template Reference

template to generate a registry singleton for a type. More...

#include <ProcessRegistry.h>

Inheritance diagram for PhysicsTools::ProcessRegistry< Base_t, CalibBase_t, Parent_t >::Registry< Instance_t, Calibration_t >:
PhysicsTools::ProcessRegistry< Base_t, CalibBase_t, Parent_t >

Public Member Functions

 Registry (const char *name)
 

Protected Member Functions

Base_t * instance (const char *name, const CalibBase_t *calib, Parent_t *parent) const
 virtual method to implement by respective processor instance classes More...
 
- Protected Member Functions inherited from PhysicsTools::ProcessRegistry< Base_t, CalibBase_t, Parent_t >
 ProcessRegistry (const char *name)
 instantiate registry and registers itself with name More...
 
virtual ~ProcessRegistry ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from PhysicsTools::ProcessRegistry< Base_t, CalibBase_t, Parent_t >
static Base_t * create (const char *name, const CalibBase_t *calib, Parent_t *parent)
 create an instance of name, given a calibration calib and parent parent More...
 

Detailed Description

template<class Base_t, class CalibBase_t, class Parent_t>
template<class Instance_t, class Calibration_t>
class PhysicsTools::ProcessRegistry< Base_t, CalibBase_t, Parent_t >::Registry< Instance_t, Calibration_t >

template to generate a registry singleton for a type.

Instantiating an instance of this type registers that class with the registry of the base type and provides a factory that calls the constructor of the instance type.

Definition at line 44 of file ProcessRegistry.h.

Constructor & Destructor Documentation

template<class Base_t , class CalibBase_t , class Parent_t >
template<class Instance_t , class Calibration_t >
PhysicsTools::ProcessRegistry< Base_t, CalibBase_t, Parent_t >::Registry< Instance_t, Calibration_t >::Registry ( const char *  name)
inline

Definition at line 46 of file ProcessRegistry.h.

46  :
47  ProcessRegistry<Base_t, CalibBase_t, Parent_t>(name) {}

Member Function Documentation

template<class Base_t , class CalibBase_t , class Parent_t >
template<class Instance_t , class Calibration_t >
Base_t* PhysicsTools::ProcessRegistry< Base_t, CalibBase_t, Parent_t >::Registry< Instance_t, Calibration_t >::instance ( const char *  name,
const CalibBase_t *  calib,
Parent_t *  parent 
) const
inlineprotectedvirtual

virtual method to implement by respective processor instance classes

Implements PhysicsTools::ProcessRegistry< Base_t, CalibBase_t, Parent_t >.

Definition at line 50 of file ProcessRegistry.h.

52  {
53  return new Instance_t(name,
54  dynamic_cast<const Calibration_t*>(calib),
55  parent);
56  }
list parent
Definition: dbtoconf.py:74
MVATrainerComputer * calib
Definition: MVATrainer.cc:64