CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
SimProducer Class Referenceabstract

#include <SimG4Core/Watcher/interface/SimProducer.h>

Inheritance diagram for SimProducer:
SimWatcher CaloSteppingAction EcalSimHitsValidProducer HcalForwardAnalysis HcalTB02Analysis HcalTB04Analysis HGCPassive RHStopTracer SimG4FluxProducer SimG4HcalValidation SimG4HGCalValidation simwatcher::BeginOfTrackCounter StoreSecondary TotemTestGem TrackingMaterialProducer

Public Member Functions

virtual void produce (edm::Event &, const edm::EventSetup &)=0
 
void registerProducts (edm::ProducerBase &iProd)
 
 SimProducer ()
 
- Public Member Functions inherited from SimWatcher
 SimWatcher ()
 
virtual ~SimWatcher ()
 

Protected Member Functions

template<class T >
void produces ()
 
template<class T >
void produces (const std::string &instanceName)
 

Private Member Functions

const SimProduceroperator= (const SimProducer &)=delete
 
 SimProducer (const SimProducer &)=delete
 

Private Attributes

std::vector< std::shared_ptr< simproducer::ProductInfoBase > > m_info
 

Detailed Description

Description: a SimWatcher which puts data into the edm::Event

Usage: <usage>

Definition at line 64 of file SimProducer.h.

Constructor & Destructor Documentation

SimProducer::SimProducer ( )
inline

Definition at line 66 of file SimProducer.h.

66 {}
SimProducer::SimProducer ( const SimProducer )
privatedelete

Member Function Documentation

const SimProducer& SimProducer::operator= ( const SimProducer )
privatedelete
virtual void SimProducer::produce ( edm::Event ,
const edm::EventSetup  
)
pure virtual
template<class T >
void SimProducer::produces ( )
inlineprotected

Definition at line 84 of file SimProducer.h.

84  {
85  produces<T>("");
86  }
template<class T >
void SimProducer::produces ( const std::string &  instanceName)
inlineprotected

Definition at line 89 of file SimProducer.h.

89  {
90  m_info.push_back(std::make_shared<simproducer::ProductInfo<T>>(instanceName));
91  }
std::vector< std::shared_ptr< simproducer::ProductInfoBase > > m_info
Definition: SimProducer.h:99
void SimProducer::registerProducts ( edm::ProducerBase iProd)
inline

Definition at line 76 of file SimProducer.h.

References simproducer::ProductInfoBase::registerProduct().

76  {
77  std::for_each(m_info.begin(),
78  m_info.end(),
79  std::bind(&simproducer::ProductInfoBase::registerProduct, std::placeholders::_1, &iProd));
80  }
virtual void registerProduct(edm::ProducerBase *) const =0
std::vector< std::shared_ptr< simproducer::ProductInfoBase > > m_info
Definition: SimProducer.h:99

Member Data Documentation

std::vector<std::shared_ptr<simproducer::ProductInfoBase> > SimProducer::m_info
private

Definition at line 99 of file SimProducer.h.