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 &iException) const
 
void throwValidationException (WorkerParams const &p, cms::Exception &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 92 of file WorkerMaker.h.

92  {
93  return T::baseType();
94  }
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  T::prevalidate(iDesc);
64  }
template<class T >
void edm::WorkerMaker< T >::implSwapModule ( Worker w,
ParameterSet const &  p 
)
privatevirtual

Implements edm::Maker.

Definition at line 78 of file WorkerMaker.h.

References edm::Worker::description(), python.rootplot.argparse::module, AlCaHLTBitMon_ParallelJobs::p, svgfig::template(), and w().

78  {
79  typedef T UserType;
80  typedef typename UserType::ModuleType ModuleType;
81  typedef typename UserType::WorkerType WorkerType;
82 
83  WorkerType* wt = dynamic_cast<WorkerType*>(w);
84  assert(0!=wt);
85 
86  std::auto_ptr<ModuleType> module(WorkerType::template makeModule<UserType>(w->description(), p));
87 
88  wt->setModule(module);
89  }
long double T
Definition: vlib.h:209
def template
Definition: svgfig.py:520
T w() const
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 67 of file WorkerMaker.h.

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

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