CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions
edm::WorkerMaker< T > Class Template Reference

#include <WorkerMaker.h>

Inheritance diagram for edm::WorkerMaker< T >:
edm::Maker

Public Member Functions

 WorkerMaker ()
 
- Public Member Functions inherited from edm::Maker
std::auto_ptr< WorkermakeWorker (WorkerParams const &, sigc::signal< void, ModuleDescription const & > &iPre, sigc::signal< void, ModuleDescription const & > &iPost) const
 
void swapModule (Worker *, ParameterSet const &)
 
virtual ~Maker ()
 

Private Member Functions

virtual const std::string & baseType () const
 
virtual void fillDescriptions (ConfigurationDescriptions &iDesc) const
 
virtual void implSwapModule (Worker *, ParameterSet const &)
 
virtual std::auto_ptr< WorkermakeWorker (WorkerParams const &p, ModuleDescription const &md) const
 

Additional Inherited Members

- Protected Member Functions inherited from edm::Maker
ModuleDescription createModuleDescription (WorkerParams const &p) const
 
void throwConfigurationException (ModuleDescription const &md, sigc::signal< void, ModuleDescription const & > &post, cms::Exception const &iException) const
 
void throwValidationException (WorkerParams const &p, cms::Exception const &iException) const
 
void validateEDMType (std::string const &edmType, WorkerParams const &p) const
 

Detailed Description

template<class T>
class edm::WorkerMaker< T >

Definition at line 45 of file WorkerMaker.h.

Constructor & Destructor Documentation

template<class T >
edm::WorkerMaker< T >::WorkerMaker ( )
explicit

Definition at line 57 of file WorkerMaker.h.

57  {
58  }

Member Function Documentation

template<class T >
const std::string & edm::WorkerMaker< T >::baseType ( ) const
privatevirtual

Implements edm::Maker.

Definition at line 91 of file WorkerMaker.h.

91  {
92  return T::baseType();
93  }
template<class T >
void edm::WorkerMaker< T >::fillDescriptions ( ConfigurationDescriptions iDesc) const
privatevirtual

Implements edm::Maker.

Definition at line 61 of file WorkerMaker.h.

61  {
62  T::fillDescriptions(iDesc);
63  }
template<class T >
void edm::WorkerMaker< T >::implSwapModule ( Worker w,
ParameterSet const &  p 
)
privatevirtual

Implements edm::Maker.

Definition at line 77 of file WorkerMaker.h.

References edm::Worker::description(), module(), L1TEmulatorMonitor_cff::p, and svgfig::template().

77  {
78  typedef T UserType;
79  typedef typename UserType::ModuleType ModuleType;
80  typedef typename UserType::WorkerType WorkerType;
81 
82  WorkerType* wt = dynamic_cast<WorkerType*>(w);
83  assert(0!=wt);
84 
85  std::auto_ptr<ModuleType> module(WorkerType::template makeModule<UserType>(w->description(), p));
86 
87  wt->setModule(module);
88  }
int module() const
Definition: HLTadd.h:12
Definition: vlib.h:209
def template
Definition: svgfig.py:520
template<class T >
std::auto_ptr< Worker > edm::WorkerMaker< T >::makeWorker ( WorkerParams const &  p,
ModuleDescription const &  md 
) const
privatevirtual

Implements edm::Maker.

Definition at line 66 of file WorkerMaker.h.

References module(), edm::WorkerParams::pset_, and svgfig::template().

66  {
67  typedef T UserType;
68  typedef typename UserType::ModuleType ModuleType;
69  typedef typename UserType::WorkerType WorkerType;
70 
71  std::auto_ptr<ModuleType> module(WorkerType::template makeModule<UserType>(md, *p.pset_));
72  return std::auto_ptr<Worker>(new WorkerType(module, md, p));
73  }
int module() const
Definition: HLTadd.h:12
Definition: vlib.h:209
def template
Definition: svgfig.py:520