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 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 66 of file SimProducer.h.

Constructor & Destructor Documentation

SimProducer::SimProducer ( )
inline

Definition at line 70 of file SimProducer.h.

70 {}
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 86 of file SimProducer.h.

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

Definition at line 91 of file SimProducer.h.

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

Definition at line 80 of file SimProducer.h.

References simproducer::ProductInfoBase::registerProduct().

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

Member Data Documentation

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

Definition at line 102 of file SimProducer.h.