CMS 3D CMS Logo

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::ModuleHoldermakeModule (MakeModuleParams const &, signalslot::Signal< void(ModuleDescription const &)> &iPre, signalslot::Signal< void(ModuleDescription const &)> &iPost) const
 
std::shared_ptr< maker::ModuleHoldermakeReplacementModule (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::ModuleHoldermakeModule (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 53 of file WorkerMaker.h.

Constructor & Destructor Documentation

◆ WorkerMaker()

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

Definition at line 68 of file WorkerMaker.h.

68 {}

Member Function Documentation

◆ baseType()

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

Implements edm::Maker.

Definition at line 99 of file WorkerMaker.h.

99  {
100  return T::baseType();
101  }

◆ fillDescriptions()

template<class T >
void edm::WorkerMaker< T >::fillDescriptions ( ConfigurationDescriptions iDesc) const
overrideprivatevirtual

Implements edm::Maker.

Definition at line 71 of file WorkerMaker.h.

71  {
72  T::fillDescriptions(iDesc);
73  T::prevalidate(iDesc);
74  }

References fillDescriptions().

◆ makeModule()

template<class T >
std::shared_ptr< maker::ModuleHolder > edm::WorkerMaker< T >::makeModule ( edm::ParameterSet const &  p) const
overrideprivatevirtual

Implements edm::Maker.

Definition at line 77 of file WorkerMaker.h.

77  {
78  typedef T UserType;
79  typedef typename UserType::ModuleType ModuleType;
80  typedef MakeModuleHelper<ModuleType> MakerHelperType;
81 
82  return std::shared_ptr<maker::ModuleHolder>(
83  std::make_shared<maker::ModuleHolderT<ModuleType> >(MakerHelperType::template makeModule<UserType>(p), this));
84  }

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

◆ makeWorker()

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 87 of file WorkerMaker.h.

89  {
90  typedef T UserType;
91  typedef typename UserType::ModuleType ModuleType;
92  typedef edm::WorkerT<ModuleType> WorkerType;
93 
94  maker::ModuleHolderT<ModuleType> const* h = dynamic_cast<maker::ModuleHolderT<ModuleType> const*>(mod);
95  return std::make_unique<WorkerType>(h->module(), md, actions);
96  }

References actions, watchdog::const, and mod().

AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
mod
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4
edm::WorkerT
Definition: Frameworkfwd.h:54
watchdog.const
const
Definition: watchdog.py:83
fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
h
hcaldqm::ModuleType
ModuleType
Definition: DQModule.h:24
svgfig.template
def template(fileName, svg, replaceme="REPLACEME")
Definition: svgfig.py:521
T
long double T
Definition: Basic3DVectorLD.h:48
actions
roAction_t actions[nactions]
Definition: GenABIO.cc:181