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

Constructor & Destructor Documentation

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

Definition at line 69 of file WorkerMaker.h.

69  {
70  }

Member Function Documentation

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

Implements edm::Maker.

Definition at line 101 of file WorkerMaker.h.

101  {
102  return T::baseType();
103  }
template<class T >
void edm::WorkerMaker< T >::fillDescriptions ( ConfigurationDescriptions iDesc) const
overrideprivatevirtual

Implements edm::Maker.

Definition at line 73 of file WorkerMaker.h.

73  {
74  T::fillDescriptions(iDesc);
75  T::prevalidate(iDesc);
76  }
template<class T >
std::shared_ptr< maker::ModuleHolder > edm::WorkerMaker< T >::makeModule ( edm::ParameterSet const &  p) const
overrideprivatevirtual

Implements edm::Maker.

Definition at line 79 of file WorkerMaker.h.

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

80  {
81  typedef T UserType;
82  typedef typename UserType::ModuleType ModuleType;
83  typedef MakeModuleHelper<ModuleType> MakerHelperType;
84 
85  return std::shared_ptr<maker::ModuleHolder>(std::make_shared<maker::ModuleHolderT<ModuleType> >(MakerHelperType::template makeModule<UserType>(p),this));
86  }
ModuleType
Definition: DQModule.h:25
def template(fileName, svg, replaceme="REPLACEME")
Definition: svgfig.py:520
long double T
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 89 of file WorkerMaker.h.

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

90  {
91  typedef T UserType;
92  typedef typename UserType::ModuleType ModuleType;
93  typedef edm::WorkerT<ModuleType> WorkerType;
94 
95  maker::ModuleHolderT<ModuleType> const* h = dynamic_cast<maker::ModuleHolderT<ModuleType> const*>(mod);
96  return std::make_unique<WorkerType>(h->module(), md, actions);
97  }
roAction_t actions[nactions]
Definition: GenABIO.cc:187
ModuleType
Definition: DQModule.h:25
long double T
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4