CMS 3D CMS Logo

Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes

SimProducer Class Reference

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

Inheritance diagram for SimProducer:
SimWatcher EcalSimHitsValidProducer HcalForwardAnalysis HcalTB02Analysis HcalTB04Analysis HcalTB06Analysis MaterialBudgetAction RHStopTracer SimG4HcalValidation simwatcher::BeginOfTrackCounter StoreSecondary TotemTestGem TrackingMaterialProducer

List of all members.

Public Member Functions

virtual void produce (edm::Event &, const edm::EventSetup &)=0
void registerProducts (edm::EDProducer &iProd)
 SimProducer ()

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.

{}
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 ( const std::string &  instanceName) [inline, protected]

Definition at line 85 of file SimProducer.h.

                                                   {
         m_info.push_back( 
                          boost::shared_ptr<simproducer::ProductInfo<T> >(new simproducer::ProductInfo<T>(instanceName) ));
      }
template<class T >
void SimProducer::produces ( ) [inline, protected]

Definition at line 80 of file SimProducer.h.

                      {
         produces<T>("");
      }
void SimProducer::registerProducts ( edm::EDProducer iProd) [inline]

Definition at line 74 of file SimProducer.h.

References simproducer::ProductInfoBase::registerProduct().

                                                  {
         std::for_each(m_info.begin(), m_info.end(),
                       boost::bind(&simproducer::ProductInfoBase::registerProduct,_1, &iProd));
      }

Member Data Documentation

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

Definition at line 96 of file SimProducer.h.