CMS 3D CMS Logo

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 __class__< T > AnalyticalPropagatorESProducer BeamHaloPropagatorESProducer BeamSpotFakeConditions BtagPerformanceESProducer BufferedBoostIOESProducer< DataType, MyRecord > CaloGeometryBuilder CaloGeometryDBEP< T, U > CaloGeometryEP< T > CaloMiscalibTools CaloMiscalibToolsMC CaloTopologyBuilder CaloTowerConstituentsMapBuilder CaloTowerHardcodeGeometryEP CaloTowerTopologyEP CaloTPGTranscoderULUTs CastorDbProducer CastorHardcodeCalibrations CastorHardcodeGeometryEP CastorTextCalibrations Chi2ChargeMeasurementEstimatorESProducer CloseComponentsMergerESProducer< N > ClusterShapeHitFilterESProducer CosmicParametersDefinerForTPESProducer CSCBadChambersConditions CSCBadStripsConditions CSCBadWiresConditions CSCChamberIndexValues CSCChamberMapValues CSCChamberTimeCorrectionsValues CSCChannelMapperESProducer CSCChipSpeedCorrectionDBConditions CSCCrateMapValues CSCCrosstalkConditions CSCCrosstalkDBConditions CSCDBL1TPParametersConditions CSCDDUMapValues CSCFakeCrosstalkConditions CSCFakeDBCrosstalk CSCFakeDBCrosstalkPopCon CSCFakeDBGains CSCFakeDBGainsPopCon CSCFakeDBNoiseMatrix CSCFakeDBPedestals CSCFakeGainsConditions CSCFakeNoiseMatrixConditions CSCFakePedestalsConditions CSCGainsConditions CSCGainsDBConditions CSCGasGainCorrectionDBConditions CSCGeometryESModule CSCIndexerESProducer CSCL1TPParametersConditions CSCNoiseMatrixConditions CSCNoiseMatrixDBConditions CSCObjectMapESProducer CSCPedestalsDBConditions CSCTFConfigProducer CTPPSGeometryESModule CTPPSIncludeAlignments CTPPSPixelDAQMappingESSourceXML DetIdAssociatorESProducer DetLayerGeometryESProducer DIPLumiProducer DistanceBetweenComponentsESProducer< N > DTConfigDBProducer DTConfigTrivialProducer DTFakeT0ESProducer DTGeometryESModule DTObjectMapESProducer DTTrackFinderConfig EcalBasicClusterLocalContCorrectionsESProducer EcalElectronicsMappingBuilder EcalGlobalShowerContainmentCorrectionsVsEtaESProducer EcalLaserCorrectionService EcalNextToDeadChannelESProducer EcalRegionCablingESProducer EcalSeverityLevelESProducer EcalShowerContainmentCorrectionsESProducer EcalTBGeometryBuilder EcalTBHodoscopeGeometryEP EcalTrigPrimESProducer EcalTrigPrimSpikeESProducer EcalTrigTowerConstituentsMapBuilder EcalTrivialConditionRetriever edm::ESProducerLooper ElectronLikelihoodESSource ES_TTClusterAlgorithm_neighbor< T > ES_TTClusterAlgorithm_official< T > ES_TTStubAlgorithm_cbc3< T > ES_TTStubAlgorithm_official< T > ESTrivialConditionRetriever FakeAlignmentProducer FakeAlignmentSource FakeCaloAlignmentEP FastTimeGeometryESProducer FastTimeNumberingInitialization FastTimeParametersESModule FastTimeTopologyBuilder FFTJetCorrectionESProducer< CT > FFTJetLookupTableESProducer< CT > FWRecoGeometryESProducer FWTGeoRecoGeometryESProducer GeantPropagatorESProducer GEMGeometryESModule GlobalDetLayerGeometryESProducer GlobalTrackingGeometryESProducer GsfMaterialEffectsESProducer GsfTrajectoryFitterESProducer GsfTrajectorySmootherESProducer HBHEDarkeningEP HcalAlignmentEP HcalDbProducer HcalDDDGeometryEP HcalDDDRecConstantsESModule HcalDDDSimConstantsESModule HcalHardcodeCalibrations HcalHardcodeGeometryEP HcalParametersESModule HcalRecAlgoESProducer HcalTextCalibrations HcalTopologyIdealEP HcalTPGCoderULUT HcalTrigTowerGeometryESProducer HepPDTESSource HGCalGeometryESProducer HGCalNumberingInitialization HGCalParametersESModule HGCalTopologyBuilder HGCalTriggerGeometryESProducer HiTrivialConditionRetriever JetCorrectionESChain JetCorrectionESProducer< Corrector > JetCorrectionESSource< Corrector > JetResolutionESProducer JetResolutionScaleFactorESProducer JetTagComputerESProducer< ConcreteJetTagComputer > KFFittingSmootherESProducer KFFittingSmootherESProducer KFSwitching1DUpdatorESProducer 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 > L1ConfigOnlineProdBaseExt< TRcd, TData > L1ConfigOnlineProdBaseExt< L1TCaloParamsO2ORcd, l1t::CaloParams > L1ConfigOnlineProdBaseExt< L1TGlobalPrescalesVetosO2ORcd, L1TGlobalPrescalesVetos > L1ConfigOnlineProdBaseExt< L1TMuonBarrelParamsO2ORcd, L1TMuonBarrelParams > L1ConfigOnlineProdBaseExt< L1TMuonEndcapParamsO2ORcd, L1TMuonEndCapParams > L1ConfigOnlineProdBaseExt< L1TMuonGlobalParamsO2ORcd, L1TMuonGlobalParams > L1ConfigOnlineProdBaseExt< L1TMuonOverlapParamsO2ORcd, L1TMuonOverlapParams > L1ConfigOnlineProdBaseExt< L1TUtmTriggerMenuO2ORcd, L1TUtmTriggerMenu > L1CSCTriggerPrimitivesConfigProducer L1GctConfigProducers L1GtBoardMapsTrivialProducer L1GtParametersTrivialProducer L1GtPrescaleFactorsAlgoTrigTrivialProducer L1GtPrescaleFactorsTechTrigTrivialProducer L1GtPsbSetupTrivialProducer L1GtStableParametersTrivialProducer L1GtTriggerMaskAlgoTrigTrivialProducer L1GtTriggerMaskTechTrigTrivialProducer L1GtTriggerMaskVetoAlgoTrigTrivialProducer L1GtTriggerMaskVetoTechTrigTrivialProducer L1GtTriggerMenuXmlProducer L1MuGMTParametersProducer L1MuGMTScalesProducer L1MuTriggerPtScaleProducer L1MuTriggerScalesProducer L1ObjectKeysOnlineProdBase L1ObjectKeysOnlineProdBaseExt L1RCTOmdsFedVectorProducer L1RPCConeDefinitionProducer L1ScalesTrivialProducer L1SubsystemKeysOnlineProd L1SubsystemKeysOnlineProdExt L1TCaloConfigESProducer L1TCaloParamsESProducer L1TCaloStage2ParamsESProducer L1TGlobalPrescalesVetosESProducer L1TMuonBarrelParamsESProducer L1TMuonEndCapForestESProducer L1TMuonEndCapParamsESProducer L1TMuonEndcapParamsOnlineProxy L1TMuonGlobalParamsESProducer L1TMuonOverlapParamsESProducer L1TMuonOverlapParamsOnlineProxy L1TriggerKeyDummyProd L1TriggerKeyDummyProdExt L1TriggerKeyListDummyProd L1TriggerKeyListDummyProdExt L1TriggerKeyOnlineProd L1TriggerKeyOnlineProdExt L1TUtmTriggerMenuESProducer LumiCorrectionSource magneticfield::AutoMagneticFieldESProducer magneticfield::AutoParametrizedMagneticFieldProducer magneticfield::ParametrizedMagneticFieldProducer magneticfield::UniformMagneticFieldESProducer magneticfield::VolumeBasedMagneticFieldESProducer magneticfield::VolumeBasedMagneticFieldESProducerFromDB MagneticFieldMapESProducer ME0GeometryESModule MeasurementTrackerESProducer MisalignedMuonESProducer MisalignedTrackerESProducer MultiRecHitCollectorESProducer MuonDetLayerGeometryESProducer MuonNumberingInitialization MuonTransientTrackingRecHitBuilderESProducer NavigationSchoolESProducer ParametersDefinerForTPESProducer Phase2StripCPEESProducer Phase2TrackerCablingESProducer PhysicsTools::MVAComputerESSourceBase PixelCPEGenericESProducer PixelCPETemplateRecoESProducer PixelToFEDAssociateFromAsciiESProducer PixelToLNKAssociateFromAsciiESProducer PixelTrackCleanerBySharedHitsESProducer PropagatorWithMaterialESProducer QGLikelihoodESProducer QGLikelihoodSystematicsESProducer RCTConfigProducers RPCConeBuilder RPCGeometryESModule RPCInverseCPPFLinkMapESProducer RPCInverseLBLinkMapESProducer RPCInverseOMTFLinkMapESProducer RPCInverseTwinMuxLinkMapESProducer RPCPerformanceESSource RPCTriggerBxOrConfig RPCTriggerConfig RPCTriggerHsbConfig RPCTriggerHwConfig SiPixelFakeCPEGenericErrorParmESSource SiPixelFakeGainESSource SiPixelFakeGainForHLTESSource SiPixelFakeGainOfflineESSource SiPixelFakeGenErrorDBObjectESSource SiPixelFakeLorentzAngleESSource SiPixelFakeQualityESSource SiPixelFakeTemplateDBObjectESSource SiPixelGenErrorDBObjectESProducer SiPixelQualityESProducer SiPixelTemplateDBObjectESProducer sistrip::MeasureLA SiStripApvGainFakeESSource SiStripBackPlaneCorrectionDepESProducer SiStripBackPlaneCorrectioNFakeESSource SiStripBadModuleConfigurableFakeESSource SiStripBadModuleFedErrESSource SiStripBaseDelayFakeESSource SiStripConfObjectFakeESSource SiStripConnectivity SiStripDelayESProducer SiStripFedCablingESProducer SiStripGainESProducerTemplate< TDependentRecord, TInputRecord > SiStripGainESSource SiStripHashedDetIdESProducer SiStripHashedDetIdESProducer SiStripLatencyFakeESSource SiStripLorentzAngleDepESProducer SiStripLorentzAngleFakeESSource SiStripNoiseESSource SiStripNoisesFakeESSource SiStripPedestalsESSource SiStripPedestalsFakeESSource SiStripQualityESProducer SiStripQualityFakeESSource SiStripRecHitMatcherESProducer SiStripRegionConnectivity SiStripTemplateEmptyFakeESSource< TObject, TRecord > SiStripThresholdFakeESSource SiTrackerMultiRecHitUpdatorESProducer SkippingLayerCosmicNavigationSchoolESProducer SmartPropagatorESProducer StableParametersTrivialProducer SteppingHelixPropagatorESProducer StraightLinePropagatorESProducer StringResolutionProviderESProducer StripCPEESProducer TestCaloAlignmentEP TGeoMgrFromDdd TkMSParameterizationBuilder TkTransientTrackingRecHitBuilderESProducer TotemDAQMappingESSourceXML TrackAlgoPriorityOrderESProducer TrackCleanerESProducer TrackerDigiGeometryESModule TrackerGeometricDetESModule TrackerGeometricDetExtraESModule TrackerInteractionGeometryESProducer TrackerParametersESModule TrackerRecoGeometryESProducer TrackerTopologyEP TrackingRecHitPropagatorESProducer TrajectoryCleanerESProducer TransientTrackBuilderESProducer TSCBLBuilderNoMaterialESProducer TSCBLBuilderWithPropagatorESProducer XMLIdealGeometryESProducer XMLIdealGeometryESSource XMLIdealMagneticFieldGeometryESProducer ZdcHardcodeGeometryEP

Public Member Functions

 ESProxyFactoryProducer ()
 
virtual void newInterval (const eventsetup::EventSetupRecordKey &iRecordType, const ValidityInterval &iInterval)
 overrides DataProxyProvider method More...
 
virtual ~ESProxyFactoryProducer () noexcept(false)
 
- 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 () noexcept(false)
 

Protected Member Functions

template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const eventsetup::EventSetupRecordKey &iRecord, std::unique_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::FactoryInforecord2Factories_
 

Additional Inherited Members

- Public Types inherited from edm::eventsetup::DataProxyProvider
typedef std::vector< std::pair< DataKey, edm::propagate_const< std::shared_ptr< DataProxy > > > > KeyedProxies
 
typedef std::vector< EventSetupRecordKeyKeys
 
typedef std::map< EventSetupRecordKey, KeyedProxiesRecordProxies
 
- 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 39 of file ESProxyFactoryProducer.cc.

40 {
41 }
std::multimap< eventsetup::EventSetupRecordKey, eventsetup::FactoryInfo > record2Factories_
ESProxyFactoryProducer::~ESProxyFactoryProducer ( )
virtualnoexcept

Definition at line 48 of file ESProxyFactoryProducer.cc.

49 {
50 }
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::unique_ptr< TFactory >  iFactory,
const std::string &  iLabel = std::string() 
)
inlineprotected
Parameters
iFactoryunique_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 eostools::move(), AlCaHLTBitMon_QueryRunRegistry::string, and groupFilesInBlocks::temp.

108  {
109  std::unique_ptr<eventsetup::ProxyFactoryBase> temp(iFactory.release());
111  eventsetup::EventSetupRecordKey::makeKey<typename TFactory::record_type>(),
112  std::move(temp),
113  iLabel);
114  }
virtual void registerFactoryWithKey(const eventsetup::EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
def move(src, dest)
Definition: eostools.py:510
void ESProxyFactoryProducer::registerFactoryWithKey ( const eventsetup::EventSetupRecordKey iRecord,
std::unique_ptr< eventsetup::ProxyFactoryBase iFactory,
const std::string &  iLabel = std::string() 
)
protectedvirtual

Reimplemented in edm::ESProducerLooper.

Definition at line 84 of file ESProxyFactoryProducer.cc.

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

Referenced by edm::ESProducerLooper::registerFactoryWithKey().

87 {
88  if(nullptr == iFactory.get()) {
89  assert(false && "Factor pointer was null");
90  ::exit(1);
91  }
92 
93  usingRecordWithKey(iRecord);
94 
95  std::shared_ptr<ProxyFactoryBase> temp(iFactory.release());
96  FactoryInfo info(temp->makeKey(iLabel),
97  temp);
98 
99  //has this already been registered?
100  std::pair<Record2Factories::const_iterator,Record2Factories::const_iterator> range =
101  record2Factories_.equal_range(iRecord);
102  if(range.second != std::find_if(range.first,range.second,
103  [&info](const auto& r2f) {
104  return r2f.second.key_ == info.key_;
105  }
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  std::move(info)));
113 }
static const TGPicture * info(bool iBackgroundIsBlack)
void usingRecordWithKey(const EventSetupRecordKey &)
std::multimap< eventsetup::EventSetupRecordKey, eventsetup::FactoryInfo > record2Factories_
def move(src, dest)
Definition: eostools.py:510
void ESProxyFactoryProducer::registerProxies ( const eventsetup::EventSetupRecordKey iRecord,
KeyedProxies aProxyList 
)
protectedvirtual

override DataProxyProvider method

Implements edm::eventsetup::DataProxyProvider.

Definition at line 68 of file ESProxyFactoryProducer.cc.

References record2Factories_.

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

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().