CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
edm::maker::ModuleHolderT< T > Class Template Reference

#include <EDAnalyzer.h>

Inheritance diagram for edm::maker::ModuleHolderT< T >:
edm::maker::ModuleHolder

Public Member Functions

std::unique_ptr< OutputModuleCommunicatorcreateOutputModuleCommunicator () override
 
std::shared_ptr< Tmodule () const
 
ModuleDescription const & moduleDescription () const override
 
 ModuleHolderT (std::shared_ptr< T > iModule, Maker const *iMaker)
 
void preallocate (PreallocationConfiguration const &iPrealloc) override
 
void registerProductsAndCallbacks (ProductRegistry *iReg) override
 
void replaceModuleFor (Worker *iWorker) const override
 
void setModuleDescription (ModuleDescription const &iDesc) override
 
 ~ModuleHolderT () override
 
- Public Member Functions inherited from edm::maker::ModuleHolder
std::unique_ptr< WorkermakeWorker (ExceptionToActionTable const *actions) const
 
 ModuleHolder (Maker const *iMaker)
 
virtual ~ModuleHolder ()
 

Private Attributes

std::shared_ptr< Tm_mod
 

Additional Inherited Members

- Protected Attributes inherited from edm::maker::ModuleHolder
Maker const * m_maker
 

Detailed Description

template<typename T>
class edm::maker::ModuleHolderT< T >

Definition at line 25 of file EDAnalyzer.h.

Constructor & Destructor Documentation

◆ ModuleHolderT()

template<typename T>
edm::maker::ModuleHolderT< T >::ModuleHolderT ( std::shared_ptr< T iModule,
Maker const *  iMaker 
)
inline

Definition at line 58 of file ModuleHolder.h.

58 : ModuleHolder(iMaker), m_mod(iModule) {}

◆ ~ModuleHolderT()

template<typename T>
edm::maker::ModuleHolderT< T >::~ModuleHolderT ( )
inlineoverride

Definition at line 59 of file ModuleHolder.h.

59 {}

Member Function Documentation

◆ createOutputModuleCommunicator()

template<typename T>
std::unique_ptr<OutputModuleCommunicator> edm::maker::ModuleHolderT< T >::createOutputModuleCommunicator ( )
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 74 of file ModuleHolder.h.

74  {
76  }

References edm::maker::ModuleHolderT< T >::m_mod, and eostools::move().

◆ module()

template<typename T>
std::shared_ptr<T> edm::maker::ModuleHolderT< T >::module ( ) const
inline

◆ moduleDescription()

template<typename T>
ModuleDescription const& edm::maker::ModuleHolderT< T >::moduleDescription ( ) const
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 66 of file ModuleHolder.h.

66 { return m_mod->moduleDescription(); }

References edm::maker::ModuleHolderT< T >::m_mod.

◆ preallocate()

template<typename T>
void edm::maker::ModuleHolderT< T >::preallocate ( PreallocationConfiguration const &  iPrealloc)
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 68 of file ModuleHolder.h.

68 { m_mod->doPreallocate(iPrealloc); }

References edm::maker::ModuleHolderT< T >::m_mod.

◆ registerProductsAndCallbacks()

template<typename T>
void edm::maker::ModuleHolderT< T >::registerProductsAndCallbacks ( ProductRegistry iReg)
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 70 of file ModuleHolder.h.

70  {
71  m_mod->registerProductsAndCallbacks(module().get(), iReg);
72  }

References edm::get(), edm::maker::ModuleHolderT< T >::m_mod, and edm::maker::ModuleHolderT< T >::module().

◆ replaceModuleFor()

template<typename T>
void edm::maker::ModuleHolderT< T >::replaceModuleFor ( Worker iWorker) const
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 61 of file ModuleHolder.h.

61  {
62  auto w = dynamic_cast<WorkerT<T>*>(iWorker);
63  assert(nullptr != w);
64  w->setModule(m_mod);
65  }

References cms::cuda::assert(), edm::maker::ModuleHolderT< T >::m_mod, and w.

◆ setModuleDescription()

template<typename T>
void edm::maker::ModuleHolderT< T >::setModuleDescription ( ModuleDescription const &  iDesc)
inlineoverridevirtual

Implements edm::maker::ModuleHolder.

Definition at line 67 of file ModuleHolder.h.

67 { m_mod->setModuleDescription(iDesc); }

References edm::maker::ModuleHolderT< T >::m_mod.

Member Data Documentation

◆ m_mod

template<typename T>
std::shared_ptr<T> edm::maker::ModuleHolderT< T >::m_mod
private
edm::maker::ModuleHolderT::module
std::shared_ptr< T > module() const
Definition: ModuleHolder.h:60
cms::cuda::assert
assert(be >=bs)
edm::maker::ModuleHolder::ModuleHolder
ModuleHolder(Maker const *iMaker)
Definition: ModuleHolder.h:39
w
const double w
Definition: UKUtility.cc:23
edm::maker::ModuleHolderT::m_mod
std::shared_ptr< T > m_mod
Definition: ModuleHolder.h:79
edm::get
T const & get(Event const &event, InputTag const &tag) noexcept(false)
Definition: Event.h:675
eostools.move
def move(src, dest)
Definition: eostools.py:511
edm::OutputModuleCommunicatorT::createIfNeeded
static std::unique_ptr< edm::OutputModuleCommunicator > createIfNeeded(T *iMod)
Definition: OutputModuleCommunicatorT.h:76