test
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::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

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

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
privatevirtual

Implements edm::Maker.

Definition at line 103 of file WorkerMaker.h.

103  {
104  return T::baseType();
105  }
template<class T >
void edm::WorkerMaker< T >::fillDescriptions ( ConfigurationDescriptions iDesc) const
privatevirtual

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
privatevirtual

Implements edm::Maker.

Definition at line 79 of file WorkerMaker.h.

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

80  {
81  typedef T UserType;
82  typedef typename UserType::ModuleType ModuleType;
83  typedef MakeModuleHelper<ModuleType> MakerHelperType;
84 
85 
86 
87  return std::shared_ptr<maker::ModuleHolder>(new maker::ModuleHolderT<ModuleType>{MakerHelperType::template makeModule<UserType>(p).release(),this});
88  }
long double T
def template
Definition: svgfig.py:520
template<class T >
std::unique_ptr< Worker > edm::WorkerMaker< T >::makeWorker ( ExceptionToActionTable const *  actions,
ModuleDescription const &  md,
maker::ModuleHolder const *  mod 
) const
privatevirtual

Implements edm::Maker.

Definition at line 91 of file WorkerMaker.h.

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

92  {
93  typedef T UserType;
94  typedef typename UserType::ModuleType ModuleType;
95  typedef edm::WorkerT<ModuleType> WorkerType;
96 
97  maker::ModuleHolderT<ModuleType> const* h = dynamic_cast<maker::ModuleHolderT<ModuleType> const*>(mod);
98  return std::unique_ptr<Worker>(new WorkerType(h->module(), md, actions));
99  }
actions
Definition: Schedule.cc:369
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
string const
Definition: compareJSON.py:14
long double T
T mod(const T &a, const T &b)
Definition: ecalDccMap.h:4