CMS 3D CMS Logo

edm::ESProxyFactoryProducer Class Reference

#include <FWCore/Framework/interface/ESProxyFactoryProducer.h>

Inheritance diagram for edm::ESProxyFactoryProducer:

edm::eventsetup::DataProxyProvider edm::ESProducer AnalyticalPropagatorESProducer BeamHaloPropagatorESProducer BeamSpotFakeConditions CaloGeometryBuilder CaloGeometryEP< T > CaloMiscalibTools CaloTopologyBuilder CaloTowerConstituentsMapBuilder CaloTowerHardcodeGeometryEP CaloTPGTranscoderULUTs CastorDbProducer CastorHardcodeCalibrations CastorHardcodeGeometryEP CastorTextCalibrations Chi2MeasurementEstimatorESProducer CkfDebugTrajectoryBuilderESProducer CkfTrajectoryBuilderESProducer CloseComponentsMergerESProducer< N > ClusterShapeTrajectoryFilterESProducer CompositeTrajectoryFilterESProducer CSCBadChambersConditions CSCBadStripsConditions CSCBadWiresConditions CSCChamberIndexValues CSCChamberMapValues CSCCrateMapValues CSCCrosstalkConditions CSCCrosstalkDBConditions CSCDDUMapValues CSCFakeCrosstalkConditions CSCFakeDBCrosstalk CSCFakeDBCrosstalkPopCon CSCFakeDBGains CSCFakeDBGainsPopCon CSCFakeDBNoiseMatrix CSCFakeDBPedestals CSCFakeGainsConditions CSCFakeNoiseMatrixConditions CSCFakePedestalsConditions CSCGainsConditions CSCGainsDBConditions CSCGeometryESModule CSCL1TPParametersConditions CSCNoiseMatrixConditions CSCNoiseMatrixDBConditions CSCPedestalsDBConditions CSCTFConfigProducer DetIdAssociatorESProducer DistanceBetweenComponentsESProducer< N > DTConfigTrivialProducer DTFakeT0ESProducer DTFakeTTrigESProducer DTFakeVDriftESProducer DTGeometryESModule DTTrackFinderConfig EcalElectronicsMappingBuilder EcalGlobalShowerContainmentCorrectionsVsEtaESProducer EcalLaserCorrectionService EcalRegionCablingESProducer EcalShowerContainmentCorrectionsESProducer EcalTBGeometryBuilder EcalTBHodoscopeGeometryEP EcalTrigPrimESProducer EcalTrigTowerConstituentsMapBuilder EcalTrivialConditionRetriever EcalUnpackerWorkerESProducer edm::ESProducerLooper ElectronLikelihoodESSource FakeAlignmentProducer FakeAlignmentSource FakeCaloAlignmentEP GlobalTrackingGeometryESProducer GroupedCkfTrajectoryBuilderESProducer GsfMaterialEffectsESProducer GsfTrajectoryFitterESProducer GsfTrajectorySmootherESProducer HcalDbProducer HcalDDDGeometryEP HcalHardcodeCalibrations HcalHardcodeGeometryEP HcalTextCalibrations HcalTopologyIdealEP HcalTPGCoderULUT HepPDTESSource JetCorrectionServiceChain JetTagComputerESProducer< ConcreteJetTagComputer > KFFittingSmootherESProducer KFTrajectoryFitterESProducer KFTrajectorySmootherESProducer KFUpdatorESProducer L1CaloGeometryProd L1CaloInputScalesProducer L1CSCTriggerPrimitivesConfigProducer L1GctConfigProducers L1GtBoardMapsTrivialProducer L1GtParametersTrivialProducer L1GtPrescaleFactorsAlgoTrigTrivialProducer L1GtPrescaleFactorsTechTrigTrivialProducer L1GtStableParametersTrivialProducer L1GtTriggerMaskAlgoTrigTrivialProducer L1GtTriggerMaskTechTrigTrivialProducer L1GtTriggerMaskVetoAlgoTrigTrivialProducer L1GtTriggerMaskVetoTechTrigTrivialProducer L1GtTriggerMenuXmlProducer L1MuGMTParametersProducer L1MuGMTScalesProducer L1MuTriggerPtScaleProducer L1MuTriggerScalesProducer L1ScalesTrivialProducer L1TriggerConfigOnlineProd L1TriggerKeyDummyProd L1TriggerKeyListDummyProd L1TriggerKeyOnlineProd magneticfield::AutoMagneticFieldESProducer magneticfield::ParametrizedMagneticFieldProducer magneticfield::UniformMagneticFieldESProducer magneticfield::VolumeBasedMagneticFieldESProducer MagneticFieldMapESProducer MeasurementTrackerESProducer MisalignedMuonESProducer MisalignedTrackerESProducer MixedLayerPairsESProducer MixedLayerTripletsESProducer MRHChi2MeasurementEstimatorESProducer MultiRecHitCollectorESProducer MuonCkfTrajectoryBuilderESProducer MuonDetLayerGeometryESProducer MuonNumberingInitialization MuonRoadTrajectoryBuilderESProducer MuonTransientTrackingRecHitBuilderESProducer NavigationSchoolESProducer PhysicsTools::MVAComputerESSourceBase PixelCPEGenericESProducer PixelCPEInitialESProducer PixelCPEParmErrorESProducer PixelCPETemplateRecoESProducer PixelLayerPairsESProducer PixelLayerTripletsESProducer PixelLessLayerPairsESProducer PixelToFEDAssociateFromAsciiESProducer PixelToLNKAssociateFromAsciiESProducer prodname PropagatorWithMaterialESProducer RCTConfigProducers RingESSource RingMakerESProducer RoadMapESSource RoadMapMakerESProducer RPCConeBuilder RPCGeometryESModule RPCPerformanceESSource RPCTriggerConfig RPCTriggerHwConfig SiPixelFakeGainESSource SiPixelFakeGainForHLTESSource SiPixelFakeGainOfflineESSource SiPixelFakeLorentzAngleESSource SiStripBadChannelFakeESSource SiStripBadFiberFakeESSource SiStripBadModuleFakeESSource SiStripBadStripFakeESSource SiStripConnectivity SiStripFedCablingESProducer SiStripFedCablingESSource SiStripGainESProducer SiStripGainFakeESSource SiStripHashedDetIdESProducer SiStripHashedDetIdESProducer SiStripLAFakeESSource SiStripNoiseESSource SiStripPedestalsESSource SiStripQualityConfigurableFakeESSource SiStripQualityESProducer SiStripQualityFakeESSource SiStripRecHitMatcherESProducer SiStripRegionConnectivity SiStripThresholdFakeESSource SiTrackerMultiRecHitUpdatorESProducer SmartPropagatorESProducer SteppingHelixPropagatorESProducer StraightLinePropagatorESProducer StripCPEESProducer StripCPEfromTrackAngle2ESProducer StripCPEfromTrackAngleESProducer TkTransientTrackingRecHitBuilderESProducer TobTecLayerPairsESProducer TrackerDigiGeometryESModule TrackerGeometricDetESModule TrackerInteractionGeometryESProducer TrackerRecoGeometryESProducer TrackingRecHitPropagatorESProducer TrajectoryCleanerESProducer TrajectoryFilterESProducer TransientTrackBuilderESProducer XMLIdealGeometryESSource ZdcHardcodeGeometryEP

List of all members.

Public Member Functions

 ESProxyFactoryProducer ()
virtual void newInterval (const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval)
 overrides DataProxyProvider method
virtual ~ESProxyFactoryProducer ()

Protected Member Functions

template<class TFactory>
void registerFactory (TFactory *iFactory, const std::string &iLabel=std::string())
 
Parameters:
iFactory pointer to a new instance of a Factory

template<class TFactory>
void registerFactory (std::auto_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
Parameters:
iFactory auto_ptr holding a new instance of a Factory

virtual void registerFactoryWithKey (const eventsetup::EventSetupRecordKey &iRecord, std::auto_ptr< eventsetup::ProxyFactoryBase > &iFactory, const std::string &iLabel=std::string())
virtual void registerProxies (const eventsetup::EventSetupRecordKey &iRecord, KeyedProxies &aProxyList)
 override DataProxyProvider method

Private Member Functions

 ESProxyFactoryProducer (const ESProxyFactoryProducer &)
const ESProxyFactoryProduceroperator= (const ESProxyFactoryProducer &)

Private Attributes

std::multimap
< eventsetup::EventSetupRecordKey,
eventsetup::FactoryInfo
record2Factories_


Detailed Description

Definition at line 78 of file ESProxyFactoryProducer.h.


Constructor & Destructor Documentation

ESProxyFactoryProducer::ESProxyFactoryProducer (  ) 

Definition at line 38 of file ESProxyFactoryProducer.cc.

00038                                                : record2Factories_()
00039 {
00040 }

ESProxyFactoryProducer::~ESProxyFactoryProducer (  )  [virtual]

Definition at line 47 of file ESProxyFactoryProducer.cc.

00048 {
00049 }

edm::ESProxyFactoryProducer::ESProxyFactoryProducer ( const ESProxyFactoryProducer  )  [private]


Member Function Documentation

void ESProxyFactoryProducer::newInterval ( const eventsetup::EventSetupRecordKey iRecordType,
const ValidityInterval iInterval 
) [virtual]

overrides DataProxyProvider method

Implements edm::eventsetup::DataProxyProvider.

Definition at line 117 of file ESProxyFactoryProducer.cc.

00119 {
00120    invalidateProxies(iRecordType);
00121 }

const ESProxyFactoryProducer& edm::ESProxyFactoryProducer::operator= ( const ESProxyFactoryProducer  )  [private]

template<class TFactory>
void edm::ESProxyFactoryProducer::registerFactory ( TFactory *  iFactory,
const std::string &  iLabel = std::string() 
) [inline, protected]

Parameters:
iFactory pointer to a new instance of a Factory

Parameters:
iLabel extra string label used to get data (optional) Producer takes ownership of the Factory and uses it create the appropriate Proxy which is then registered with the EventSetup. If used, this method should be called in inheriting class' constructor.

Definition at line 121 of file ESProxyFactoryProducer.h.

References registerFactory(), and pyDBSRunClass::temp.

00122                                                                      {
00123             std::auto_ptr<TFactory> temp(iFactory);
00124             registerFactory(temp,iLabel);
00125          }

template<class TFactory>
void edm::ESProxyFactoryProducer::registerFactory ( std::auto_ptr< TFactory >  iFactory,
const std::string &  iLabel = std::string() 
) [inline, protected]

Parameters:
iFactory auto_ptr holding a new instance of a Factory

Parameters:
iLabel extra string label used to get data (optional) Producer takes ownership of the Factory and uses it create the appropriate Proxy which is then registered with the EventSetup. If used, this method should be called in inheriting class' constructor.

Definition at line 106 of file ESProxyFactoryProducer.h.

References registerFactoryWithKey(), and pyDBSRunClass::temp.

Referenced by registerFactory(), and edm::ESProducer::registerProduct().

00107                                                                      {
00108             std::auto_ptr<eventsetup::ProxyFactoryBase> temp(iFactory.release());
00109             registerFactoryWithKey(
00110                                    eventsetup::EventSetupRecordKey::makeKey<typename TFactory::record_type>(),
00111                                    temp,
00112                                    iLabel);
00113          }

virtual void edm::ESProxyFactoryProducer::registerFactoryWithKey ( const eventsetup::EventSetupRecordKey iRecord,
std::auto_ptr< eventsetup::ProxyFactoryBase > &  iFactory,
const std::string &  iLabel = std::string() 
) [protected, virtual]

Reimplemented in edm::ESProducerLooper.

Referenced by registerFactory().

void ESProxyFactoryProducer::registerProxies ( const eventsetup::EventSetupRecordKey iRecord,
KeyedProxies aProxyList 
) [protected, virtual]

override DataProxyProvider method

Definition at line 67 of file ESProxyFactoryProducer.cc.

References it, and range.

00069 {
00070    typedef Record2Factories::iterator Iterator;
00071    std::pair< Iterator, Iterator > range = record2Factories_.equal_range(iRecord);
00072    for(Iterator it = range.first; it != range.second; ++it) {
00073       
00074       boost::shared_ptr<DataProxy> proxy(it->second.factory_->makeProxy().release());
00075       if(0 != proxy.get()) {
00076          iProxies.push_back(KeyedProxies::value_type((*it).second.key_,
00077                                          proxy));
00078       }
00079    }
00080 }


Member Data Documentation

std::multimap< eventsetup::EventSetupRecordKey, eventsetup::FactoryInfo > edm::ESProxyFactoryProducer::record2Factories_ [private]

Definition at line 138 of file ESProxyFactoryProducer.h.


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:40:52 2009 for CMSSW by  doxygen 1.5.4