CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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::shared_ptr
< maker::ModuleHolder
makeModule (MakeModuleParams const &, signalslot::Signal< void(ModuleDescription const &)> &iPre, signalslot::Signal< void(ModuleDescription const &)> &iPost) const
 
std::shared_ptr
< maker::ModuleHolder
makeReplacementModule (edm::ParameterSet const &p) const
 
std::unique_ptr< WorkermakeWorker (ExceptionToActionTable const *, maker::ModuleHolder const *) const
 
virtual ~Maker ()
 

Private Member Functions

const std::string & baseType () const override
 
void fillDescriptions (ConfigurationDescriptions &iDesc) const override
 
std::shared_ptr
< maker::ModuleHolder
makeModule (edm::ParameterSet const &p) const override
 
std::unique_ptr< WorkermakeWorker (ExceptionToActionTable const *actions, ModuleDescription const &md, maker::ModuleHolder const *mod) const override
 

Additional Inherited Members

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

Detailed Description

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

Definition at line 52 of file WorkerMaker.h.

Constructor & Destructor Documentation

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

Definition at line 67 of file WorkerMaker.h.

67 {}

Member Function Documentation

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

Implements edm::Maker.

Definition at line 98 of file WorkerMaker.h.

98  {
99  return T::baseType();
100  }
template<class T >
void edm::WorkerMaker< T >::fillDescriptions ( ConfigurationDescriptions iDesc) const
overrideprivatevirtual

Implements edm::Maker.

Definition at line 70 of file WorkerMaker.h.

References fillDescriptions().

70  {
71  T::fillDescriptions(iDesc);
72  T::prevalidate(iDesc);
73  }
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
template<class T >
std::shared_ptr< maker::ModuleHolder > edm::WorkerMaker< T >::makeModule ( edm::ParameterSet const &  p) const
overrideprivatevirtual

Implements edm::Maker.

Definition at line 76 of file WorkerMaker.h.

References AlCaHLTBitMon_ParallelJobs::p, and svgfig::template().

76  {
77  typedef T UserType;
78  typedef typename UserType::ModuleType ModuleType;
79  typedef MakeModuleHelper<ModuleType> MakerHelperType;
80 
81  return std::shared_ptr<maker::ModuleHolder>(
82  std::make_shared<maker::ModuleHolderT<ModuleType> >(MakerHelperType::template makeModule<UserType>(p), this));
83  }
ModuleType
Definition: DQModule.h:24
long double T
def template
Definition: svgfig.py:521
template<class T >
std::unique_ptr< Worker > edm::WorkerMaker< T >::makeWorker ( ExceptionToActionTable const *  actions,
ModuleDescription const &  md,
maker::ModuleHolder const *  mod 
) const
overrideprivatevirtual

Implements edm::Maker.

Definition at line 86 of file WorkerMaker.h.

References edm::actions, runTheMatrix::const, h, mod(), and edm::maker::ModuleHolderT< T >::module().

88  {
89  typedef T UserType;
90  typedef typename UserType::ModuleType ModuleType;
91  typedef edm::WorkerT<ModuleType> WorkerType;
92 
93  maker::ModuleHolderT<ModuleType> const* h = dynamic_cast<maker::ModuleHolderT<ModuleType> const*>(mod);
94  return std::make_unique<WorkerType>(h->module(), md, actions);
95  }
actions
Definition: Schedule.cc:687
ModuleType
Definition: DQModule.h:24
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
long double T
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4