CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 HcalTB06Analysis MaterialBudgetAction RHStopTracer SimG4HcalValidation simwatcher::BeginOfTrackCounter StoreSecondary TotemTestGem TrackingMaterialProducer

Public Member Functions

virtual void produce (edm::Event &, const edm::EventSetup &)=0
 
void registerProducts (edm::EDProducer &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 &)
 
 SimProducer (const SimProducer &)
 

Private Attributes

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

Detailed Description

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

Usage: <usage>

Definition at line 60 of file SimProducer.h.

Constructor & Destructor Documentation

SimProducer::SimProducer ( )
inline

Definition at line 64 of file SimProducer.h.

64 {}
SimProducer::SimProducer ( const SimProducer )
private

Member Function Documentation

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

Definition at line 80 of file SimProducer.h.

80  {
81  produces<T>("");
82  }
template<class T >
void SimProducer::produces ( const std::string &  instanceName)
inlineprotected

Definition at line 85 of file SimProducer.h.

85  {
86  m_info.push_back(
87  boost::shared_ptr<simproducer::ProductInfo<T> >(new simproducer::ProductInfo<T>(instanceName) ));
88  }
std::vector< boost::shared_ptr< simproducer::ProductInfoBase > > m_info
Definition: SimProducer.h:96
void SimProducer::registerProducts ( edm::EDProducer iProd)
inline

Definition at line 74 of file SimProducer.h.

References simproducer::ProductInfoBase::registerProduct().

74  {
75  std::for_each(m_info.begin(), m_info.end(),
76  boost::bind(&simproducer::ProductInfoBase::registerProduct,_1, &iProd));
77  }
std::vector< boost::shared_ptr< simproducer::ProductInfoBase > > m_info
Definition: SimProducer.h:96
virtual void registerProduct(edm::EDProducer *) const =0

Member Data Documentation

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

Definition at line 96 of file SimProducer.h.