CMS 3D CMS Logo

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 >

List of all members.

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

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.

                                           :
                        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 [inline, protected, virtual]

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.

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