CMS 3D CMS Logo

Public Member Functions | Protected Member Functions

PhysicsTools::ProcessRegistryImpl< Base_t, CalibBase_t, Parent_t, Instance_t, Calibration_t > Class Template Reference

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

#include <ProcessRegistry.h>

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

List of all members.

Public Member Functions

 ProcessRegistryImpl (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

Detailed Description

template<class Base_t, class CalibBase_t, class Parent_t, class Instance_t, class Calibration_t>
class PhysicsTools::ProcessRegistryImpl< Base_t, CalibBase_t, Parent_t, 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 115 of file ProcessRegistry.h.


Constructor & Destructor Documentation

template<class Base_t , class CalibBase_t , class Parent_t , class Instance_t , class Calibration_t >
PhysicsTools::ProcessRegistryImpl< Base_t, CalibBase_t, Parent_t, Instance_t, Calibration_t >::ProcessRegistryImpl ( const char *  name) [inline]

Definition at line 117 of file ProcessRegistry.h.

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

Member Function Documentation

template<class Base_t , class CalibBase_t , class Parent_t , class Instance_t , class Calibration_t >
Base_t* PhysicsTools::ProcessRegistryImpl< Base_t, CalibBase_t, Parent_t, Instance_t, Calibration_t >::instance ( const char *  name,
const CalibBase_t *  calib,
Parent_t *  parent 
) const [inline, protected, virtual]

virtual method to implement by respective processor instance classes

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

Definition at line 119 of file ProcessRegistry.h.

      {
        return new Instance_t(name,
                              dynamic_cast<const Calibration_t*>(calib),
                              parent);
      }