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
edm::ESProxyFactoryProducer Class Reference

#include <ESProxyFactoryProducer.h>

Inheritance diagram for edm::ESProxyFactoryProducer:
edm::eventsetup::DataProxyProvider edm::ESProducer AnalyticalPropagatorESProducer BeamHaloPropagatorESProducer BeamSpotFakeConditions BtagPerformanceESProducer CaloGeometryBuilder CaloGeometryDBEP< T, U > CaloGeometryEP< T > CaloMiscalibTools CaloMiscalibToolsMC CaloTopologyBuilder CaloTowerConstituentsMapBuilder CaloTowerHardcodeGeometryEP CaloTPGTranscoderULUTs CastorDbProducer CastorHardcodeCalibrations CastorHardcodeGeometryEP CastorTextCalibrations Chi2MeasurementEstimatorESProducer CkfDebugTrajectoryBuilderESProducer CkfTrajectoryBuilderESProducer CloseComponentsMergerESProducer< N > ClusterShapeHitFilterESProducer ClusterShapeTrajectoryFilterESProducer CompositeTrajectoryFilterESProducer CosmicParametersDefinerForTPESProducer CSCBadChambersConditions CSCBadStripsConditions CSCBadWiresConditions CSCChamberIndexValues CSCChamberMapValues CSCChamberTimeCorrectionsValues CSCChipSpeedCorrectionDBConditions CSCCrateMapValues CSCCrosstalkConditions CSCCrosstalkDBConditions CSCDBL1TPParametersConditions CSCDDUMapValues CSCFakeCrosstalkConditions CSCFakeDBCrosstalk CSCFakeDBCrosstalkPopCon CSCFakeDBGains CSCFakeDBGainsPopCon CSCFakeDBNoiseMatrix CSCFakeDBPedestals CSCFakeGainsConditions CSCFakeNoiseMatrixConditions CSCFakePedestalsConditions CSCGainsConditions CSCGainsDBConditions CSCGasGainCorrectionDBConditions CSCGeometryESModule CSCL1TPParametersConditions CSCNoiseMatrixConditions CSCNoiseMatrixDBConditions CSCPedestalsDBConditions CSCTFConfigProducer DetIdAssociatorESProducer DetLayerGeometryESProducer DIPLumiProducer DistanceBetweenComponentsESProducer< N > DTConfigDBProducer DTConfigTrivialProducer DTFakeT0ESProducer DTFakeTTrigESProducer DTFakeVDriftESProducer DTGeometryESModule DTTrackFinderConfig EcalBasicClusterLocalContCorrectionsESProducer EcalElectronicsMappingBuilder EcalGlobalShowerContainmentCorrectionsVsEtaESProducer EcalLaserCorrectionService EcalNextToDeadChannelESProducer EcalRegionCablingESProducer EcalSeverityLevelESProducer EcalShowerContainmentCorrectionsESProducer EcalTBGeometryBuilder EcalTBHodoscopeGeometryEP EcalTrigPrimESProducer EcalTrigPrimSpikeESProducer EcalTrigTowerConstituentsMapBuilder EcalTrivialConditionRetriever EcalUnpackerWorkerESProducer edm::ESProducerLooper ElectronLikelihoodESSource ESTrivialConditionRetriever ESUnpackerWorkerESProducer FakeAlignmentProducer FakeAlignmentSource FakeCaloAlignmentEP FastPixelCPEESProducer FastStripCPEESProducer FlexibleKFFittingSmootherESProducer FWRecoGeometryESProducer FWTGeoRecoGeometryESProducer GeantPropagatorESProducer GlobalDetLayerGeometryESProducer GlobalTrackingGeometryESProducer GroupedCkfTrajectoryBuilderESProducer GsfMaterialEffectsESProducer GsfTrajectoryFitterESProducer GsfTrajectorySmootherESProducer HcalAlignmentEP HcalDbProducer HcalDDDGeometryEP HcalHardcodeCalibrations HcalHardcodeGeometryEP HcalOmdsCalibrations HcalRecAlgoESProducer HcalTextCalibrations HcalTopologyIdealEP HcalTPGCoderULUT HepPDTESSource HiTrivialConditionRetriever JetCorrectionESChain JetCorrectionESProducer< Corrector > JetCorrectionESSource< Corrector > JetTagComputerESProducer< ConcreteJetTagComputer > KFFittingSmootherESProducer KFSwitching1DUpdatorESProducer KFTrajectoryFitterESProducer KFTrajectorySmootherESProducer KFUpdatorESProducer L1CaloGeometryProd L1CaloInputScalesProducer L1ConfigOnlineProdBase< TRcd, TData > L1ConfigOnlineProdBase< L1CaloEcalScaleRcd, L1CaloEcalScale > L1ConfigOnlineProdBase< L1CaloHcalScaleRcd, L1CaloHcalScale > L1ConfigOnlineProdBase< L1EmEtScaleRcd, L1CaloEtScale > L1ConfigOnlineProdBase< L1GctChannelMaskRcd, L1GctChannelMask > L1ConfigOnlineProdBase< L1GctJetFinderParamsRcd, L1GctJetFinderParams > L1ConfigOnlineProdBase< L1GtParametersRcd, L1GtParameters > L1ConfigOnlineProdBase< L1GtPrescaleFactorsAlgoTrigRcd, L1GtPrescaleFactors > L1ConfigOnlineProdBase< L1GtPrescaleFactorsTechTrigRcd, L1GtPrescaleFactors > L1ConfigOnlineProdBase< L1GtPsbSetupRcd, L1GtPsbSetup > L1ConfigOnlineProdBase< L1GtTriggerMaskAlgoTrigRcd, L1GtTriggerMask > L1ConfigOnlineProdBase< L1GtTriggerMaskTechTrigRcd, L1GtTriggerMask > L1ConfigOnlineProdBase< L1GtTriggerMaskVetoTechTrigRcd, L1GtTriggerMask > L1ConfigOnlineProdBase< L1GtTriggerMenuRcd, L1GtTriggerMenu > L1ConfigOnlineProdBase< L1HfRingEtScaleRcd, L1CaloEtScale > L1ConfigOnlineProdBase< L1HtMissScaleRcd, L1CaloEtScale > L1ConfigOnlineProdBase< L1JetEtScaleRcd, L1CaloEtScale > L1ConfigOnlineProdBase< L1MuCSCPtLutRcd, L1MuCSCPtLut > L1ConfigOnlineProdBase< L1MuCSCTFAlignmentRcd, L1MuCSCTFAlignment > L1ConfigOnlineProdBase< L1MuCSCTFConfigurationRcd, L1MuCSCTFConfiguration > L1ConfigOnlineProdBase< L1MuDTEtaPatternLutRcd, L1MuDTEtaPatternLut > L1ConfigOnlineProdBase< L1MuDTExtLutRcd, L1MuDTExtLut > L1ConfigOnlineProdBase< L1MuDTPhiLutRcd, L1MuDTPhiLut > L1ConfigOnlineProdBase< L1MuDTPtaLutRcd, L1MuDTPtaLut > L1ConfigOnlineProdBase< L1MuDTQualPatternLutRcd, L1MuDTQualPatternLut > L1ConfigOnlineProdBase< L1MuDTTFMasksRcd, L1MuDTTFMasks > L1ConfigOnlineProdBase< L1MuDTTFParametersRcd, L1MuDTTFParameters > L1ConfigOnlineProdBase< L1MuGMTChannelMaskRcd, L1MuGMTChannelMask > L1ConfigOnlineProdBase< L1MuGMTParametersRcd, L1MuGMTParameters > L1ConfigOnlineProdBase< L1MuTriggerPtScaleRcd, L1MuTriggerPtScale > L1ConfigOnlineProdBase< L1MuTriggerScalesRcd, L1MuTriggerScales > L1ConfigOnlineProdBase< L1RCTChannelMaskRcd, L1RCTChannelMask > L1ConfigOnlineProdBase< L1RCTParametersRcd, L1RCTParameters > L1ConfigOnlineProdBase< L1RPCBxOrConfigRcd, L1RPCBxOrConfig > L1ConfigOnlineProdBase< L1RPCConeDefinitionRcd, L1RPCConeDefinition > L1ConfigOnlineProdBase< L1RPCConfigRcd, L1RPCConfig > L1ConfigOnlineProdBase< L1RPCHsbConfigRcd, L1RPCHsbConfig > L1CSCTriggerPrimitivesConfigProducer L1GctConfigProducers L1GtBoardMapsTrivialProducer L1GtParametersTrivialProducer L1GtPrescaleFactorsAlgoTrigTrivialProducer L1GtPrescaleFactorsTechTrigTrivialProducer L1GtPsbSetupTrivialProducer L1GtStableParametersTrivialProducer L1GtTriggerMaskAlgoTrigTrivialProducer L1GtTriggerMaskTechTrigTrivialProducer L1GtTriggerMaskVetoAlgoTrigTrivialProducer L1GtTriggerMaskVetoTechTrigTrivialProducer L1GtTriggerMenuXmlProducer L1MuGMTParametersProducer L1MuGMTScalesProducer L1MuTriggerPtScaleProducer L1MuTriggerScalesProducer L1ObjectKeysOnlineProdBase L1RCTOmdsFedVectorProducer L1RPCConeDefinitionProducer L1ScalesTrivialProducer L1SubsystemKeysOnlineProd L1TriggerKeyDummyProd L1TriggerKeyListDummyProd L1TriggerKeyOnlineProd magneticfield::AutoMagneticFieldESProducer magneticfield::ParametrizedMagneticFieldProducer magneticfield::UniformMagneticFieldESProducer magneticfield::VolumeBasedMagneticFieldESProducer MagneticFieldMapESProducer MeasurementTrackerESProducer MisalignedMuonESProducer MisalignedTrackerESProducer MRHChi2MeasurementEstimatorESProducer MuonAssociatorESProducer MuonCkfTrajectoryBuilderESProducer MuonDetLayerGeometryESProducer MuonNumberingInitialization MuonRoadTrajectoryBuilderESProducer MuonTransientTrackingRecHitBuilderESProducer NavigationSchoolESProducer ParametersDefinerForTPESProducer PhysicsTools::MVAComputerESSourceBase PixelCPEGenericESProducer PixelCPETemplateRecoESProducer PixelToFEDAssociateFromAsciiESProducer PixelToLNKAssociateFromAsciiESProducer prodname PropagatorWithMaterialESProducer RCTConfigProducers RingESSource RingMakerESProducer RoadMapESSource RoadMapMakerESProducer RPCConeBuilder RPCGeometryESModule RPCPerformanceESSource RPCTriggerBxOrConfig RPCTriggerConfig RPCTriggerHsbConfig RPCTriggerHwConfig SeedingLayersESProducer SiPixelFakeCPEGenericErrorParmESSource SiPixelFakeGainESSource SiPixelFakeGainForHLTESSource SiPixelFakeGainOfflineESSource SiPixelFakeLorentzAngleESSource SiPixelFakeQualityESSource SiPixelFakeTemplateDBObjectESSource SiPixelQualityESProducer SiPixelTemplateDBObjectESProducer sistrip::MeasureLA SiStripConnectivity SiStripDelayESProducer SiStripFedCablingESProducer SiStripGainESProducerTemplate< TDependentRecord, TInputRecord > SiStripGainESSource SiStripHashedDetIdESProducer SiStripHashedDetIdESProducer SiStripLorentzAngleDepESProducer SiStripNoiseESSource SiStripPedestalsESSource SiStripQualityESProducer SiStripQualityFakeESSource SiStripRecHitMatcherESProducer SiStripRegionConnectivity SiStripTemplateEmptyFakeESSource< TObject, TRecord > SiStripTemplateFakeESSource< TObject, TRecord, TService > SmartPropagatorESProducer SteppingHelixPropagatorESProducer StraightLinePropagatorESProducer StringResolutionProviderESProducer StripCPEESProducer TestCaloAlignmentEP TGeoMgrFromDdd TkTransientTrackingRecHitBuilderESProducer TrackerDigiGeometryESModule TrackerGeometricDetESModule TrackerGeometricDetExtraESModule TrackerInteractionGeometryESProducer TrackerRecoGeometryESProducer TrackingRecHitPropagatorESProducer TrajectoryCleanerESProducer TrajectoryFilterESProducer TransientTrackBuilderESProducer TSCBLBuilderNoMaterialESProducer TSCBLBuilderWithPropagatorESProducer XMLIdealGeometryESProducer XMLIdealGeometryESSource ZdcHardcodeGeometryEP

Public Member Functions

 ESProxyFactoryProducer ()
 
virtual void newInterval (const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval)
 overrides DataProxyProvider method More...
 
virtual ~ESProxyFactoryProducer ()
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
 DataProxyProvider ()
 
const ComponentDescriptiondescription () const
 
bool isUsingRecord (const EventSetupRecordKey &) const
 
const KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey) const
 
void resetProxies (const EventSetupRecordKey &iRecordType)
 
void resetProxiesIfTransient (const EventSetupRecordKey &iRecordType)
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider ()
 

Protected Member Functions

template<class TFactory >
void registerFactory (std::auto_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
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 More...
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
void eraseAll (const EventSetupRecordKey &iRecordKey)
 deletes all the Proxies in aStream More...
 
void invalidateProxies (const EventSetupRecordKey &iRecordKey)
 
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &)
 

Private Member Functions

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

Private Attributes

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

Additional Inherited Members

- Public Types inherited from edm::eventsetup::DataProxyProvider
typedef std::vector< std::pair
< DataKey, boost::shared_ptr
< DataProxy > > > 
KeyedProxies
 
typedef std::vector
< EventSetupRecordKey
Keys
 
typedef std::map
< EventSetupRecordKey,
KeyedProxies
RecordProxies
 
- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 79 of file ESProxyFactoryProducer.h.

Constructor & Destructor Documentation

ESProxyFactoryProducer::ESProxyFactoryProducer ( )

Definition at line 37 of file ESProxyFactoryProducer.cc.

38 {
39 }
std::multimap< eventsetup::EventSetupRecordKey, eventsetup::FactoryInfo > record2Factories_
ESProxyFactoryProducer::~ESProxyFactoryProducer ( )
virtual

Definition at line 46 of file ESProxyFactoryProducer.cc.

47 {
48 }
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 116 of file ESProxyFactoryProducer.cc.

References edm::eventsetup::DataProxyProvider::invalidateProxies().

118 {
119  invalidateProxies(iRecordType);
120 }
void invalidateProxies(const EventSetupRecordKey &iRecordKey)
const ESProxyFactoryProducer& edm::ESProxyFactoryProducer::operator= ( const ESProxyFactoryProducer )
private
template<class TFactory >
void edm::ESProxyFactoryProducer::registerFactory ( std::auto_ptr< TFactory >  iFactory,
const std::string &  iLabel = std::string() 
)
inlineprotected
Parameters
iFactoryauto_ptr holding a new instance of a Factory
iLabelextra 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 107 of file ESProxyFactoryProducer.h.

References registerFactoryWithKey(), and groupFilesInBlocks::temp.

Referenced by edm::ESProducer::registerProduct().

108  {
109  std::auto_ptr<eventsetup::ProxyFactoryBase> temp(iFactory.release());
111  eventsetup::EventSetupRecordKey::makeKey<typename TFactory::record_type>(),
112  temp,
113  iLabel);
114  }
virtual void registerFactoryWithKey(const eventsetup::EventSetupRecordKey &iRecord, std::auto_ptr< eventsetup::ProxyFactoryBase > &iFactory, const std::string &iLabel=std::string())
void ESProxyFactoryProducer::registerFactoryWithKey ( const eventsetup::EventSetupRecordKey iRecord,
std::auto_ptr< eventsetup::ProxyFactoryBase > &  iFactory,
const std::string &  iLabel = std::string() 
)
protectedvirtual

Reimplemented in edm::ESProducerLooper.

Definition at line 82 of file ESProxyFactoryProducer.cc.

References edm::hlt::Exception, cmsRelvalreport::exit, info, record2Factories_, edm::second(), groupFilesInBlocks::temp, and edm::eventsetup::DataProxyProvider::usingRecordWithKey().

Referenced by registerFactory(), and edm::ESProducerLooper::registerFactoryWithKey().

85 {
86  if(0 == iFactory.get()) {
87  assert(false && "Factor pointer was null");
88  ::exit(1);
89  }
90 
91  usingRecordWithKey(iRecord);
92 
93  boost::shared_ptr<ProxyFactoryBase> temp(iFactory.release());
94  FactoryInfo info(temp->makeKey(iLabel),
95  temp);
96 
97  //has this already been registered?
98  std::pair<Record2Factories::const_iterator,Record2Factories::const_iterator> range =
99  record2Factories_.equal_range(iRecord);
100  if(range.second != std::find_if(range.first,range.second,
101  boost::bind(std::equal_to<DataKey>(),
102  boost::bind(&FactoryInfo::key_,
104  _1)),
105  info.key_)
106  ) ) {
107  throw cms::Exception("IdenticalProducts")<<"Producer has been asked to produce "<<info.key_.type().name()
108  <<" \""<<info.key_.name().value()<<"\" multiple times.\n Please modify the code.";
109  }
110 
112  info));
113 }
void usingRecordWithKey(const EventSetupRecordKey &)
std::multimap< eventsetup::EventSetupRecordKey, eventsetup::FactoryInfo > record2Factories_
U second(std::pair< T, U > const &p)
Container::value_type value_type
void ESProxyFactoryProducer::registerProxies ( const eventsetup::EventSetupRecordKey iRecord,
KeyedProxies aProxyList 
)
protectedvirtual

override DataProxyProvider method

Implements edm::eventsetup::DataProxyProvider.

Definition at line 66 of file ESProxyFactoryProducer.cc.

References record2Factories_.

68 {
69  typedef Record2Factories::iterator Iterator;
70  std::pair< Iterator, Iterator > range = record2Factories_.equal_range(iRecord);
71  for(Iterator it = range.first; it != range.second; ++it) {
72 
73  boost::shared_ptr<DataProxy> proxy(it->second.factory_->makeProxy().release());
74  if(0 != proxy.get()) {
75  iProxies.push_back(KeyedProxies::value_type((*it).second.key_,
76  proxy));
77  }
78  }
79 }
std::multimap< eventsetup::EventSetupRecordKey, eventsetup::FactoryInfo > record2Factories_
Container::value_type value_type

Member Data Documentation

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

Definition at line 127 of file ESProxyFactoryProducer.h.

Referenced by registerFactoryWithKey(), and registerProxies().