CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
edm::ESProducer Class Reference

#include <ESProducer.h>

Inheritance diagram for edm::ESProducer:
edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider AnalyticalPropagatorESProducer BeamHaloPropagatorESProducer BeamSpotFakeConditions BtagPerformanceESProducer BufferedBoostIOESProducer< DataType, MyRecord > CaloDDDSimulationConstantsESModule CaloGeometryBuilder CaloGeometryDBEP< T, U > CaloGeometryEP< T, D > CaloMiscalibTools CaloMiscalibToolsMC CaloSimParametersESModule 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 CTPPSBeamParametersESSource CTPPSBeamParametersFromLHCInfoESSource CTPPSGeometryESModule CTPPSInterpolatedOpticalFunctionsESSource CTPPSLHCInfoESSource CTPPSLHCInfoRandomXangleESSource CTPPSModifiedOpticalFunctionsESSource CTPPSOpticalFunctionsESSource CTPPSPixelDAQMappingESSourceXML CTPPSRPAlignmentCorrectionsDataESSourceXML DDCompactViewESProducer DDCompactViewMFESProducer DDDetectorESProducer DDSpecParRegistryESProducer DDVectorRegistryESProducer DetIdAssociatorESProducer DetLayerGeometryESProducer DIPLumiProducer DistanceBetweenComponentsESProducer< N > DTConfigDBProducer DTConfigTrivialProducer DTFakeT0ESProducer DTGeometryESModule DTGeometryESProducer DTObjectMapESProducer DTTrackFinderConfig EcalBasicClusterLocalContCorrectionsESProducer EcalElectronicsMappingBuilder EcalGlobalShowerContainmentCorrectionsVsEtaESProducer EcalLaserCorrectionService EcalLaserCorrectionServiceMC EcalNextToDeadChannelESProducer EcalRegionCablingESProducer EcalSeverityLevelESProducer EcalShowerContainmentCorrectionsESProducer EcalSimParametersESModule EcalTBGeometryBuilder EcalTBHodoscopeGeometryEP EcalTrigPrimESProducer EcalTrigPrimSpikeESProducer EcalTrigTowerConstituentsMapBuilder EcalTrivialConditionRetriever edm::ESProducerLooper 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 HcalDDDSimulationConstantsESModule HcalHardcodeCalibrations HcalHardcodeGeometryEP HcalParametersESModule HcalRecAlgoESProducer HcalSimParametersESModule HcalTB02ParametersESModule HcalTB06ParametersESModule HcalTextCalibrations HcalTimeSlewEP HcalTopologyIdealEP HcalTPGCoderULUT HcalTrigTowerGeometryESProducer HepPDTESSource HGCalGeometryESProducer HGCalNumberingInitialization HGCalParametersESModule HGCalTopologyBuilder HGCalTriggerGeometryESProducer HiTrivialConditionRetriever jet_tag_computer_esproducer_impl::JetTagComputerESProducer< ConcreteJetTagComputer, bool > jet_tag_computer_esproducer_impl::JetTagComputerESProducer< ConcreteJetTagComputer, true > JetCorrectionESChain JetCorrectionESProducer< Corrector > JetCorrectionESSource< Corrector > JetResolutionESProducer JetResolutionScaleFactorESProducer 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< L1TGlobalPrescalesVetosFractO2ORcd, L1TGlobalPrescalesVetosFract > L1ConfigOnlineProdBaseExt< L1TMuonBarrelParamsO2ORcd, L1TMuonBarrelParams > L1ConfigOnlineProdBaseExt< L1TMuonEndCapForestO2ORcd, L1TMuonEndCapForest > 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 L1TMuonEndCapForestOnlineProxy L1TMuonEndCapParamsESProducer L1TMuonGlobalParamsESProducer L1TMuonOverlapParamsESProducer L1TMuonOverlapParamsOnlineProxy L1TriggerKeyDummyProd L1TriggerKeyDummyProdExt L1TriggerKeyListDummyProd L1TriggerKeyListDummyProdExt L1TriggerKeyOnlineProd L1TriggerKeyOnlineProdExt L1TTwinMuxParamsESProducer L1TUtmTriggerMenuESProducer LumiCorrectionSource LwtnnESProducer magneticfield::AutoParametrizedMagneticFieldProducer magneticfield::DD4hep_VolumeBasedMagneticFieldESProducer magneticfield::DD4hep_VolumeBasedMagneticFieldESProducerFromDB magneticfield::ParametrizedMagneticFieldProducer magneticfield::UniformMagneticFieldESProducer magneticfield::VolumeBasedMagneticFieldESProducer magneticfield::VolumeBasedMagneticFieldESProducerFromDB MagneticFieldMapESProducer ME0GeometryESModule MeasurementTrackerESProducer MisalignedMuonESProducer MisalignedTrackerESProducer MTDCPEESProducer MTDDetLayerGeometryESProducer MTDDigiGeometryESModule MTDGeometricTimingDetESModule MTDGeometricTimingDetExtraESModule MTDParametersESModule MTDTimeCalibESProducer MTDTopologyEP MTDTransientTrackingRecHitBuilderESProducer MultiRecHitCollectorESProducer MuonDetLayerGeometryESProducer MuonGeometryConstantsESModule MuonNumberingESProducer MuonNumberingInitialization MuonTransientTrackingRecHitBuilderESProducer NavigationSchoolESProducer OfflineToTransientBeamSpotESProducer OnlineBeamSpotESProducer ParametersDefinerForTPESProducer Phase2StripCPEESProducer Phase2TrackerCablingESProducer PhysicsTools::MVAComputerESSourceBase PixelCPEClusterRepairESProducer PixelCPEGenericESProducer PixelCPETemplateRecoESProducer PixelFEDChannelCollectionProducer PixelToFEDAssociateFromAsciiESProducer PixelToLNKAssociateFromAsciiESProducer PixelTrackCleanerBySharedHitsESProducer PPSTimingCalibrationESSource PropagatorWithMaterialESProducer QGLikelihoodESProducer QGLikelihoodSystematicsESProducer RCTConfigProducers RPCConeBuilder RPCGeometryESModule RPCInverseCPPFLinkMapESProducer RPCInverseLBLinkMapESProducer RPCInverseOMTFLinkMapESProducer RPCInverseTwinMuxLinkMapESProducer RPCPerformanceESSource RPCTriggerBxOrConfig RPCTriggerConfig RPCTriggerHsbConfig RPCTriggerHwConfig RunInfoTestESProducer SiPixel2DTemplateDBObjectESProducer SiPixelFakeCPEGenericErrorParmESSource SiPixelFakeGainESSource SiPixelFakeGainForHLTESSource SiPixelFakeGainOfflineESSource SiPixelFakeGenErrorDBObjectESSource SiPixelFakeLorentzAngleESSource SiPixelFakeQualityESSource SiPixelFakeTemplateDBObjectESSource SiPixelGenErrorDBObjectESProducer SiPixelQualityESProducer SiPixelTemplateDBObjectESProducer sistrip::MeasureLA SiStripApvGainFakeESSource SiStripApvSimulationParametersESSource SiStripBackPlaneCorrectionDepESProducer SiStripBackPlaneCorrectionFakeESSource SiStripBadModuleConfigurableFakeESSource SiStripBaseDelayFakeESSource SiStripConfObjectFakeESSource SiStripConnectivity SiStripDelayESProducer SiStripFedCablingESProducer SiStripGainESProducer SiStripGainESSource SiStripGainSimESProducer SiStripHashedDetIdESModule SiStripHashedDetIdFakeESSource 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 TkDetMapESProducer TkMSParameterizationBuilder TkTransientTrackingRecHitBuilderESProducer TotemDAQMappingESSourceXML TrackAlgoPriorityOrderESProducer TrackCleanerESProducer TrackerDigiGeometryESModule trackerDTC::ProducerES TrackerGeometricDetESModule TrackerGeometricDetExtraESModule TrackerInteractionGeometryESProducer TrackerParametersESModule TrackerParametersESProducer TrackerRecoGeometryESProducer TrackerTopologyEP TrackingRecHitPropagatorESProducer TrajectoryCleanerESProducer TransientTrackBuilderESProducer TSCBLBuilderNoMaterialESProducer TSCBLBuilderWithPropagatorESProducer XMLIdealGeometryESProducer XMLIdealGeometryESSource XMLIdealMagneticFieldGeometryESProducer ZdcHardcodeGeometryEP

Public Member Functions

 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
ESProxyIndex const * getTokenIndices (unsigned int iIndex) const
 
ESProducer const & operator= (const ESProducer &)=delete
 
template<typename Record >
void updateFromMayConsumes (unsigned int iIndex, const Record &iRecord)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
 ESProxyFactoryProducer (const ESProxyFactoryProducer &)=delete
 
const ESProxyFactoryProduceroperator= (const ESProxyFactoryProducer &)=delete
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
void createKeyedProxies (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
 DataProxyProvider ()
 
 DataProxyProvider (const DataProxyProvider &)=delete
 
const ComponentDescriptiondescription () const
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const DataProxyProvideroperator= (const DataProxyProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 

Protected Member Functions

template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
auto setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
ESConsumesCollectorT< TRecord > setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel={})
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
KeyedProxiesVector registerProxies (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 

Private Member Functions

template<typename CallbackT , typename TProduct , typename TRecord , int IIndex>
void registerProduct (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const es::L< TProduct, IIndex > *, const TRecord *, const es::Label &iLabel)
 
template<typename CallbackT , typename TProduct , typename TRecord >
void registerProduct (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TProduct *, const TRecord *, const es::Label &iLabel)
 
template<typename CallbackT , typename TList , typename TRecord >
void registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TList *, const TRecord *iRecord, const es::Label &iLabel)
 
template<typename CallbackT , typename TRecord >
void registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>, const eventsetup::produce::Null *, const TRecord *, const es::Label &)
 

Private Attributes

std::vector< std::unique_ptr< ESConsumesInfo > > consumesInfos_
 
std::vector< std::vector< ESProxyIndex > > itemsToGetFromRecords_
 
std::vector< std::vector< ESRecordIndex > > recordsUsedDuringGet_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Types inherited from edm::ESProxyFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::DataProxyProvider
using KeyedProxiesVector = std::vector< std::pair< DataKey, std::shared_ptr< DataProxy > >>
 

Detailed Description

Description: An EventSetup algorithmic Provider that encapsulates the algorithm as a member method

Usage: Inheriting from this class is the simplest way to create an algorithm which gets called when a new data item is needed for the EventSetup. This class is designed to call a member method of inheriting classes each time the algorithm needs to be run. (A more flexible system in which the algorithms can be set at run-time instead of compile time can be obtained by inheriting from ESProxyFactoryProducer instead.)

If only one algorithm is being encapsulated then the user needs to 1) add a method name 'produce' to the class. The 'produce' takes as its argument a const reference to the record that is to hold the data item being produced. If only one data item is being produced, the 'produce' method must return either an 'std::unique_ptr' or 'std::shared_ptr' to the object being produced. (The choice depends on if the EventSetup or the ESProducer is managing the lifetime of the object). If multiple items are being Produced they the 'produce' method must return an ESProducts<> object which holds all of the items. 2) add 'setWhatProduced(this);' to their classes constructor

Example: one algorithm creating only one object

class FooProd : public edm::ESProducer {
std::unique_ptr<Foo> produce(const FooRecord&);
...
};
FooProd::FooProd(const edm::ParameterSet&) {
...
}

Example: one algorithm creating two objects

class FoosProd : public edm::ESProducer {
edm::ESProducts<std::unique_ptr<Foo1>, std::unique_ptr<Foo2>> produce(const FooRecord&);
...
};

If multiple algorithms are being encapsulated then 1) like 1 above except the methods can have any names you want 2) add 'setWhatProduced(this, &<class name>::<method name>);' for each method in the class' constructor NOTE: the algorithms can put data into the same record or into different records

Example: two algorithms each creating only one objects

class FooBarProd : public edm::eventsetup::ESProducer {
std::unique_ptr<Foo> produceFoo(const FooRecord&);
std::unique_ptr<Bar> produceBar(const BarRecord&);
...
};
FooBarProd::FooBarProd(const edm::ParameterSet&) {
setWhatProduced(this,&FooBarProd::produceFoo);
setWhatProduced(this,&FooBarProd::produceBar);
...
}

Definition at line 101 of file ESProducer.h.

Constructor & Destructor Documentation

◆ ESProducer() [1/2]

edm::ESProducer::ESProducer ( )

Definition at line 30 of file ESProducer.cc.

30 : consumesInfos_{} {}

◆ ~ESProducer()

edm::ESProducer::~ESProducer ( )
overridenoexcept

Definition at line 37 of file ESProducer.cc.

37 {}

◆ ESProducer() [2/2]

edm::ESProducer::ESProducer ( const ESProducer )
delete

Member Function Documentation

◆ getTokenIndices()

ESProxyIndex const* edm::ESProducer::getTokenIndices ( unsigned int  iIndex) const
inline

Definition at line 109 of file ESProducer.h.

109  {
110  if (itemsToGetFromRecords_.empty()) {
111  return nullptr;
112  }
113  return (itemsToGetFromRecords_[iIndex].empty()) ? static_cast<ESProxyIndex const*>(nullptr)
114  : &(itemsToGetFromRecords_[iIndex].front());
115  }

References relativeConstraints::empty, and itemsToGetFromRecords_.

◆ operator=()

ESProducer const& edm::ESProducer::operator= ( const ESProducer )
delete

◆ registerProduct() [1/2]

template<typename CallbackT , typename TProduct , typename TRecord , int IIndex>
void edm::ESProducer::registerProduct ( std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>  iCallback,
const es::L< TProduct, IIndex > *  ,
const TRecord *  ,
const es::Label iLabel 
)
inlineprivate

Definition at line 220 of file ESProducer.h.

223  {
224  if (iLabel.labels_.size() <= IIndex || iLabel.labels_[IIndex] == es::Label::def()) {
226  "Unnamed Label\nthe index ",
227  IIndex,
228  " was never assigned a name in the 'setWhatProduced' method");
229  }
230  using ProxyType = eventsetup::CallbackProxy<CallbackT, TRecord, es::L<TProduct, IIndex>>;
231  using FactoryType = eventsetup::ProxyArgumentFactoryTemplate<ProxyType, CallbackT>;
232  registerFactory(std::make_unique<FactoryType>(std::move(iCallback)), iLabel.labels_[IIndex]);
233  }

References edm::errors::Configuration, edm::es::Label::def(), edm::es::Label::labels_, eostools::move(), edm::ESProxyFactoryProducer::registerFactory(), and edm::Exception::throwThis().

◆ registerProduct() [2/2]

template<typename CallbackT , typename TProduct , typename TRecord >
void edm::ESProducer::registerProduct ( std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>  iCallback,
const TProduct *  ,
const TRecord *  ,
const es::Label iLabel 
)
inlineprivate

Definition at line 210 of file ESProducer.h.

213  {
214  using ProxyType = eventsetup::CallbackProxy<CallbackT, TRecord, TProduct>;
215  using FactoryType = eventsetup::ProxyArgumentFactoryTemplate<ProxyType, CallbackT>;
216  registerFactory(std::make_unique<FactoryType>(std::move(iCallback)), iLabel.default_);
217  }

References edm::es::Label::default_, eostools::move(), and edm::ESProxyFactoryProducer::registerFactory().

Referenced by registerProducts().

◆ registerProducts() [1/2]

template<typename CallbackT , typename TList , typename TRecord >
void edm::ESProducer::registerProducts ( std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>  iCallback,
const TList *  ,
const TRecord *  iRecord,
const es::Label iLabel 
)
inlineprivate

Definition at line 193 of file ESProducer.h.

196  {
197  registerProduct(iCallback, static_cast<const typename TList::tail_type*>(nullptr), iRecord, iLabel);
198  registerProducts(std::move(iCallback), static_cast<const typename TList::head_type*>(nullptr), iRecord, iLabel);
199  }

References eostools::move(), and registerProduct().

◆ registerProducts() [2/2]

template<typename CallbackT , typename TRecord >
void edm::ESProducer::registerProducts ( std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>  ,
const eventsetup::produce::Null ,
const TRecord *  ,
const es::Label  
)
inlineprivate

Definition at line 202 of file ESProducer.h.

205  {
206  //do nothing
207  }

◆ setWhatProduced() [1/6]

template<typename T >
auto edm::ESProducer::setWhatProduced ( T iThis,
const char *  iLabel 
)
inlineprotected

Definition at line 143 of file ESProducer.h.

143  {
144  return setWhatProduced(iThis, es::Label(iLabel));
145  }

References setWhatProduced().

◆ setWhatProduced() [2/6]

template<typename T >
auto edm::ESProducer::setWhatProduced ( T iThis,
const es::Label iLabel = {} 
)
inlineprotected
Parameters
iThisthe 'this' pointer to an inheriting class instance The method determines the Record argument and return value of the 'produce' method in order to do the registration with the EventSetup

Definition at line 138 of file ESProducer.h.

138  {}) {
139  return setWhatProduced(iThis, &T::produce, iLabel);
140  }

Referenced by AnalyticalPropagatorESProducer::AnalyticalPropagatorESProducer(), BeamSpotFakeConditions::BeamSpotFakeConditions(), BufferedBoostIOESProducer< DataType, MyRecord >::BufferedBoostIOESProducer(), CaloDDDSimulationConstantsESModule::CaloDDDSimulationConstantsESModule(), CaloGeometryBuilder::CaloGeometryBuilder(), CaloGeometryDBEP< T, U >::CaloGeometryDBEP(), CaloGeometryEP< T, D >::CaloGeometryEP(), CaloMiscalibTools::CaloMiscalibTools(), CaloMiscalibToolsMC::CaloMiscalibToolsMC(), CaloSimParametersESModule::CaloSimParametersESModule(), CaloTopologyBuilder::CaloTopologyBuilder(), CaloTowerConstituentsMapBuilder::CaloTowerConstituentsMapBuilder(), CaloTowerHardcodeGeometryEP::CaloTowerHardcodeGeometryEP(), CaloTowerTopologyEP::CaloTowerTopologyEP(), CaloTPGTranscoderULUTs::CaloTPGTranscoderULUTs(), CastorDbProducer::CastorDbProducer(), CastorHardcodeGeometryEP::CastorHardcodeGeometryEP(), ClusterShapeHitFilterESProducer::ClusterShapeHitFilterESProducer(), CosmicParametersDefinerForTPESProducer::CosmicParametersDefinerForTPESProducer(), CSCBadChambersConditions::CSCBadChambersConditions(), CSCBadStripsConditions::CSCBadStripsConditions(), CSCBadWiresConditions::CSCBadWiresConditions(), CSCChamberIndexValues::CSCChamberIndexValues(), CSCChamberMapValues::CSCChamberMapValues(), CSCChamberTimeCorrectionsValues::CSCChamberTimeCorrectionsValues(), CSCChannelMapperESProducer::CSCChannelMapperESProducer(), CSCChipSpeedCorrectionDBConditions::CSCChipSpeedCorrectionDBConditions(), CSCCrateMapValues::CSCCrateMapValues(), CSCCrosstalkConditions::CSCCrosstalkConditions(), CSCCrosstalkDBConditions::CSCCrosstalkDBConditions(), CSCDDUMapValues::CSCDDUMapValues(), CSCFakeCrosstalkConditions::CSCFakeCrosstalkConditions(), CSCFakeDBCrosstalk::CSCFakeDBCrosstalk(), CSCFakeDBGains::CSCFakeDBGains(), CSCFakeDBNoiseMatrix::CSCFakeDBNoiseMatrix(), CSCFakeDBPedestals::CSCFakeDBPedestals(), CSCFakeGainsConditions::CSCFakeGainsConditions(), CSCFakeNoiseMatrixConditions::CSCFakeNoiseMatrixConditions(), CSCFakePedestalsConditions::CSCFakePedestalsConditions(), CSCGainsConditions::CSCGainsConditions(), CSCGainsDBConditions::CSCGainsDBConditions(), CSCGasGainCorrectionDBConditions::CSCGasGainCorrectionDBConditions(), CSCIndexerESProducer::CSCIndexerESProducer(), CSCL1TPParametersConditions::CSCL1TPParametersConditions(), CSCNoiseMatrixConditions::CSCNoiseMatrixConditions(), CSCNoiseMatrixDBConditions::CSCNoiseMatrixDBConditions(), CSCPedestalsDBConditions::CSCPedestalsDBConditions(), CSCTFConfigProducer::CSCTFConfigProducer(), CTPPSBeamParametersESSource::CTPPSBeamParametersESSource(), CTPPSBeamParametersFromLHCInfoESSource::CTPPSBeamParametersFromLHCInfoESSource(), CTPPSGeometryESModule::CTPPSGeometryESModule(), CTPPSInterpolatedOpticalFunctionsESSource::CTPPSInterpolatedOpticalFunctionsESSource(), CTPPSLHCInfoESSource::CTPPSLHCInfoESSource(), CTPPSLHCInfoRandomXangleESSource::CTPPSLHCInfoRandomXangleESSource(), CTPPSModifiedOpticalFunctionsESSource::CTPPSModifiedOpticalFunctionsESSource(), CTPPSOpticalFunctionsESSource::CTPPSOpticalFunctionsESSource(), CTPPSPixelDAQMappingESSourceXML::CTPPSPixelDAQMappingESSourceXML(), CTPPSRPAlignmentCorrectionsDataESSourceXML::CTPPSRPAlignmentCorrectionsDataESSourceXML(), magneticfield::DD4hep_VolumeBasedMagneticFieldESProducerFromDB::DD4hep_VolumeBasedMagneticFieldESProducerFromDB(), DDDetectorESProducer::DDDetectorESProducer(), DIPLumiProducer::DIPLumiProducer(), DTConfigDBProducer::DTConfigDBProducer(), DTConfigTrivialProducer::DTConfigTrivialProducer(), DTGeometryESModule::DTGeometryESModule(), DTGeometryESProducer::DTGeometryESProducer(), EcalBasicClusterLocalContCorrectionsESProducer::EcalBasicClusterLocalContCorrectionsESProducer(), EcalElectronicsMappingBuilder::EcalElectronicsMappingBuilder(), EcalGlobalShowerContainmentCorrectionsVsEtaESProducer::EcalGlobalShowerContainmentCorrectionsVsEtaESProducer(), EcalLaserCorrectionService::EcalLaserCorrectionService(), EcalLaserCorrectionServiceMC::EcalLaserCorrectionServiceMC(), EcalRegionCablingESProducer::EcalRegionCablingESProducer(), EcalShowerContainmentCorrectionsESProducer::EcalShowerContainmentCorrectionsESProducer(), EcalSimParametersESModule::EcalSimParametersESModule(), EcalTBGeometryBuilder::EcalTBGeometryBuilder(), EcalTBHodoscopeGeometryEP::EcalTBHodoscopeGeometryEP(), EcalTrigPrimESProducer::EcalTrigPrimESProducer(), EcalTrigPrimSpikeESProducer::EcalTrigPrimSpikeESProducer(), EcalTrigTowerConstituentsMapBuilder::EcalTrigTowerConstituentsMapBuilder(), ES_TTClusterAlgorithm_neighbor< T >::ES_TTClusterAlgorithm_neighbor(), ES_TTClusterAlgorithm_official< T >::ES_TTClusterAlgorithm_official(), ES_TTStubAlgorithm_cbc3< T >::ES_TTStubAlgorithm_cbc3(), ES_TTStubAlgorithm_official< T >::ES_TTStubAlgorithm_official(), FakeAlignmentProducer::FakeAlignmentProducer(), FakeAlignmentSource::FakeAlignmentSource(), FakeCaloAlignmentEP::FakeCaloAlignmentEP(), FastTimeGeometryESProducer::FastTimeGeometryESProducer(), FastTimeNumberingInitialization::FastTimeNumberingInitialization(), FastTimeParametersESModule::FastTimeParametersESModule(), FastTimeTopologyBuilder::FastTimeTopologyBuilder(), FFTJetCorrectionESProducer< CT >::FFTJetCorrectionESProducer(), FFTJetLookupTableESProducer< CT >::FFTJetLookupTableESProducer(), FWRecoGeometryESProducer::FWRecoGeometryESProducer(), FWTGeoRecoGeometryESProducer::FWTGeoRecoGeometryESProducer(), GsfMaterialEffectsESProducer::GsfMaterialEffectsESProducer(), GsfTrajectoryFitterESProducer::GsfTrajectoryFitterESProducer(), GsfTrajectorySmootherESProducer::GsfTrajectorySmootherESProducer(), HBHEDarkeningEP::HBHEDarkeningEP(), HcalAlignmentEP::HcalAlignmentEP(), HcalDbProducer::HcalDbProducer(), HcalDDDGeometryEP::HcalDDDGeometryEP(), HcalDDDRecConstantsESModule::HcalDDDRecConstantsESModule(), HcalDDDSimConstantsESModule::HcalDDDSimConstantsESModule(), HcalDDDSimulationConstantsESModule::HcalDDDSimulationConstantsESModule(), HcalHardcodeCalibrations::HcalHardcodeCalibrations(), HcalHardcodeGeometryEP::HcalHardcodeGeometryEP(), HcalParametersESModule::HcalParametersESModule(), HcalRecAlgoESProducer::HcalRecAlgoESProducer(), HcalSimParametersESModule::HcalSimParametersESModule(), HcalTB02ParametersESModule::HcalTB02ParametersESModule(), HcalTB06ParametersESModule::HcalTB06ParametersESModule(), HcalTimeSlewEP::HcalTimeSlewEP(), HcalTopologyIdealEP::HcalTopologyIdealEP(), HcalTPGCoderULUT::HcalTPGCoderULUT(), HcalTrigTowerGeometryESProducer::HcalTrigTowerGeometryESProducer(), HepPDTESSource::HepPDTESSource(), HGCalGeometryESProducer::HGCalGeometryESProducer(), HGCalNumberingInitialization::HGCalNumberingInitialization(), HGCalParametersESModule::HGCalParametersESModule(), HGCalTopologyBuilder::HGCalTopologyBuilder(), HGCalTriggerGeometryESProducer::HGCalTriggerGeometryESProducer(), JetCorrectionESChain::JetCorrectionESChain(), JetCorrectionESProducer< Corrector >::JetCorrectionESProducer(), JetCorrectionESSource< Corrector >::JetCorrectionESSource(), JetResolutionESProducer::JetResolutionESProducer(), JetResolutionScaleFactorESProducer::JetResolutionScaleFactorESProducer(), jet_tag_computer_esproducer_impl::JetTagComputerESProducer< ConcreteJetTagComputer, true >::JetTagComputerESProducer(), KFSwitching1DUpdatorESProducer::KFSwitching1DUpdatorESProducer(), L1CaloGeometryProd::L1CaloGeometryProd(), L1CaloInputScalesProducer::L1CaloInputScalesProducer(), L1ConfigOnlineProdBase< L1HtMissScaleRcd, L1CaloEtScale >::L1ConfigOnlineProdBase(), L1CSCTriggerPrimitivesConfigProducer::L1CSCTriggerPrimitivesConfigProducer(), L1GctConfigProducers::L1GctConfigProducers(), L1GtBoardMapsTrivialProducer::L1GtBoardMapsTrivialProducer(), L1GtParametersTrivialProducer::L1GtParametersTrivialProducer(), L1GtPrescaleFactorsAlgoTrigTrivialProducer::L1GtPrescaleFactorsAlgoTrigTrivialProducer(), L1GtPrescaleFactorsTechTrigTrivialProducer::L1GtPrescaleFactorsTechTrigTrivialProducer(), L1GtPsbSetupTrivialProducer::L1GtPsbSetupTrivialProducer(), L1GtStableParametersTrivialProducer::L1GtStableParametersTrivialProducer(), L1GtTriggerMaskAlgoTrigTrivialProducer::L1GtTriggerMaskAlgoTrigTrivialProducer(), L1GtTriggerMaskTechTrigTrivialProducer::L1GtTriggerMaskTechTrigTrivialProducer(), L1GtTriggerMaskVetoAlgoTrigTrivialProducer::L1GtTriggerMaskVetoAlgoTrigTrivialProducer(), L1GtTriggerMaskVetoTechTrigTrivialProducer::L1GtTriggerMaskVetoTechTrigTrivialProducer(), L1GtTriggerMenuXmlProducer::L1GtTriggerMenuXmlProducer(), L1MuGMTParametersProducer::L1MuGMTParametersProducer(), L1MuGMTScalesProducer::L1MuGMTScalesProducer(), L1MuTriggerPtScaleProducer::L1MuTriggerPtScaleProducer(), L1MuTriggerScalesProducer::L1MuTriggerScalesProducer(), L1ObjectKeysOnlineProdBase::L1ObjectKeysOnlineProdBase(), L1ObjectKeysOnlineProdBaseExt::L1ObjectKeysOnlineProdBaseExt(), L1RCTOmdsFedVectorProducer::L1RCTOmdsFedVectorProducer(), L1RPCConeDefinitionProducer::L1RPCConeDefinitionProducer(), L1ScalesTrivialProducer::L1ScalesTrivialProducer(), L1SubsystemKeysOnlineProd::L1SubsystemKeysOnlineProd(), L1SubsystemKeysOnlineProdExt::L1SubsystemKeysOnlineProdExt(), L1TGlobalPrescalesVetosESProducer::L1TGlobalPrescalesVetosESProducer(), L1TMuonBarrelParamsESProducer::L1TMuonBarrelParamsESProducer(), L1TMuonEndCapForestOnlineProxy::L1TMuonEndCapForestOnlineProxy(), L1TMuonEndCapParamsESProducer::L1TMuonEndCapParamsESProducer(), L1TMuonGlobalParamsESProducer::L1TMuonGlobalParamsESProducer(), L1TMuonOverlapParamsESProducer::L1TMuonOverlapParamsESProducer(), L1TMuonOverlapParamsOnlineProxy::L1TMuonOverlapParamsOnlineProxy(), L1TriggerKeyDummyProd::L1TriggerKeyDummyProd(), L1TriggerKeyDummyProdExt::L1TriggerKeyDummyProdExt(), L1TriggerKeyListDummyProd::L1TriggerKeyListDummyProd(), L1TriggerKeyListDummyProdExt::L1TriggerKeyListDummyProdExt(), L1TriggerKeyOnlineProd::L1TriggerKeyOnlineProd(), L1TriggerKeyOnlineProdExt::L1TriggerKeyOnlineProdExt(), L1TTwinMuxParamsESProducer::L1TTwinMuxParamsESProducer(), LumiCorrectionSource::LumiCorrectionSource(), LwtnnESProducer::LwtnnESProducer(), MagneticFieldMapESProducer::MagneticFieldMapESProducer(), sistrip::MeasureLA::MeasureLA(), MisalignedMuonESProducer::MisalignedMuonESProducer(), MisalignedTrackerESProducer::MisalignedTrackerESProducer(), MTDDigiGeometryESModule::MTDDigiGeometryESModule(), MTDGeometricTimingDetESModule::MTDGeometricTimingDetESModule(), MTDGeometricTimingDetExtraESModule::MTDGeometricTimingDetExtraESModule(), MTDParametersESModule::MTDParametersESModule(), MTDTopologyEP::MTDTopologyEP(), MuonGeometryConstantsESModule::MuonGeometryConstantsESModule(), MuonNumberingInitialization::MuonNumberingInitialization(), PhysicsTools::MVAComputerESSourceImpl< RecordType >::MVAComputerESSourceImpl(), NavigationSchoolESProducer::NavigationSchoolESProducer(), ParametersDefinerForTPESProducer::ParametersDefinerForTPESProducer(), magneticfield::ParametrizedMagneticFieldProducer::ParametrizedMagneticFieldProducer(), Phase2StripCPEESProducer::Phase2StripCPEESProducer(), Phase2TrackerCablingESProducer::Phase2TrackerCablingESProducer(), PixelFEDChannelCollectionProducer::PixelFEDChannelCollectionProducer(), PixelToFEDAssociateFromAsciiESProducer::PixelToFEDAssociateFromAsciiESProducer(), PixelToLNKAssociateFromAsciiESProducer::PixelToLNKAssociateFromAsciiESProducer(), PixelTrackCleanerBySharedHitsESProducer::PixelTrackCleanerBySharedHitsESProducer(), PPSTimingCalibrationESSource::PPSTimingCalibrationESSource(), trackerDTC::ProducerES::ProducerES(), QGLikelihoodESProducer::QGLikelihoodESProducer(), QGLikelihoodSystematicsESProducer::QGLikelihoodSystematicsESProducer(), RCTConfigProducers::RCTConfigProducers(), RPCConeBuilder::RPCConeBuilder(), RPCInverseCPPFLinkMapESProducer::RPCInverseCPPFLinkMapESProducer(), RPCInverseLBLinkMapESProducer::RPCInverseLBLinkMapESProducer(), RPCInverseOMTFLinkMapESProducer::RPCInverseOMTFLinkMapESProducer(), RPCInverseTwinMuxLinkMapESProducer::RPCInverseTwinMuxLinkMapESProducer(), RPCTriggerBxOrConfig::RPCTriggerBxOrConfig(), RPCTriggerConfig::RPCTriggerConfig(), RPCTriggerHsbConfig::RPCTriggerHsbConfig(), RPCTriggerHwConfig::RPCTriggerHwConfig(), RunInfoTestESProducer::RunInfoTestESProducer(), HcalDbProducer::setupProduce(), setWhatProduced(), SiPixelFakeCPEGenericErrorParmESSource::SiPixelFakeCPEGenericErrorParmESSource(), SiPixelFakeGainESSource::SiPixelFakeGainESSource(), SiPixelFakeGainForHLTESSource::SiPixelFakeGainForHLTESSource(), SiPixelFakeGainOfflineESSource::SiPixelFakeGainOfflineESSource(), SiPixelFakeGenErrorDBObjectESSource::SiPixelFakeGenErrorDBObjectESSource(), SiPixelFakeLorentzAngleESSource::SiPixelFakeLorentzAngleESSource(), SiPixelFakeQualityESSource::SiPixelFakeQualityESSource(), SiPixelFakeTemplateDBObjectESSource::SiPixelFakeTemplateDBObjectESSource(), SiStripApvGainFakeESSource::SiStripApvGainFakeESSource(), SiStripApvSimulationParametersESSource::SiStripApvSimulationParametersESSource(), SiStripBackPlaneCorrectionDepESProducer::SiStripBackPlaneCorrectionDepESProducer(), SiStripBackPlaneCorrectionFakeESSource::SiStripBackPlaneCorrectionFakeESSource(), SiStripBadModuleConfigurableFakeESSource::SiStripBadModuleConfigurableFakeESSource(), SiStripBaseDelayFakeESSource::SiStripBaseDelayFakeESSource(), SiStripConfObjectFakeESSource::SiStripConfObjectFakeESSource(), SiStripDelayESProducer::SiStripDelayESProducer(), SiStripLatencyFakeESSource::SiStripLatencyFakeESSource(), SiStripLorentzAngleDepESProducer::SiStripLorentzAngleDepESProducer(), SiStripLorentzAngleFakeESSource::SiStripLorentzAngleFakeESSource(), SiStripNoisesFakeESSource::SiStripNoisesFakeESSource(), SiStripPedestalsFakeESSource::SiStripPedestalsFakeESSource(), SiStripQualityFakeESSource::SiStripQualityFakeESSource(), SiStripRecHitMatcherESProducer::SiStripRecHitMatcherESProducer(), SiStripRegionConnectivity::SiStripRegionConnectivity(), SiStripThresholdFakeESSource::SiStripThresholdFakeESSource(), StableParametersTrivialProducer::StableParametersTrivialProducer(), StringResolutionProviderESProducer::StringResolutionProviderESProducer(), StripCPEESProducer::StripCPEESProducer(), TestCaloAlignmentEP::TestCaloAlignmentEP(), TGeoMgrFromDdd::TGeoMgrFromDdd(), TkDetMapESProducer::TkDetMapESProducer(), TkMSParameterizationBuilder::TkMSParameterizationBuilder(), TkTransientTrackingRecHitBuilderESProducer::TkTransientTrackingRecHitBuilderESProducer(), TotemDAQMappingESSourceXML::TotemDAQMappingESSourceXML(), TrackAlgoPriorityOrderESProducer::TrackAlgoPriorityOrderESProducer(), TrackerDigiGeometryESModule::TrackerDigiGeometryESModule(), TrackerGeometricDetESModule::TrackerGeometricDetESModule(), TrackerGeometricDetExtraESModule::TrackerGeometricDetExtraESModule(), TrackerInteractionGeometryESProducer::TrackerInteractionGeometryESProducer(), TrackerParametersESModule::TrackerParametersESModule(), TrackerParametersESProducer::TrackerParametersESProducer(), TrajectoryCleanerESProducer::TrajectoryCleanerESProducer(), TSCBLBuilderNoMaterialESProducer::TSCBLBuilderNoMaterialESProducer(), TSCBLBuilderWithPropagatorESProducer::TSCBLBuilderWithPropagatorESProducer(), magneticfield::UniformMagneticFieldESProducer::UniformMagneticFieldESProducer(), magneticfield::VolumeBasedMagneticFieldESProducerFromDB::VolumeBasedMagneticFieldESProducerFromDB(), XMLIdealGeometryESProducer::XMLIdealGeometryESProducer(), XMLIdealGeometryESSource::XMLIdealGeometryESSource(), XMLIdealMagneticFieldGeometryESProducer::XMLIdealMagneticFieldGeometryESProducer(), ZdcHardcodeGeometryEP::ZdcHardcodeGeometryEP(), and ZeeCalibration::ZeeCalibration().

◆ setWhatProduced() [3/6]

template<typename T >
auto edm::ESProducer::setWhatProduced ( T iThis,
const std::string &  iLabel 
)
inlineprotected

Definition at line 147 of file ESProducer.h.

147  {
148  return setWhatProduced(iThis, es::Label(iLabel));
149  }

References setWhatProduced().

◆ setWhatProduced() [4/6]

template<typename T , typename TDecorator >
auto edm::ESProducer::setWhatProduced ( T iThis,
const TDecorator &  iDec,
const es::Label iLabel = {} 
)
inlineprotected

Definition at line 152 of file ESProducer.h.

152  {}) {
153  return setWhatProduced(iThis, &T::produce, iDec, iLabel);
154  }

◆ setWhatProduced() [5/6]

template<typename T , typename TReturn , typename TRecord >
auto edm::ESProducer::setWhatProduced ( T iThis,
TReturn(T ::*)(const TRecord &)  iMethod,
const es::Label iLabel = {} 
)
inlineprotected
Parameters
iThisthe 'this' pointer to an inheriting class instance
iMethoda member method of then inheriting class The method determines the Record argument and return value of the iMethod argument method in order to do the registration with the EventSetup

Definition at line 161 of file ESProducer.h.

161  {}) {
162  return setWhatProduced(iThis, iMethod, eventsetup::CallbackSimpleDecorator<TRecord>(), iLabel);
163  }

◆ setWhatProduced() [6/6]

template<typename T , typename TReturn , typename TRecord , typename TArg >
ESConsumesCollectorT<TRecord> edm::ESProducer::setWhatProduced ( T iThis,
TReturn(T ::*)(const TRecord &)  iMethod,
const TArg &  iDec,
const es::Label iLabel = {} 
)
inlineprotected
Parameters
iThisthe 'this' pointer to an inheriting class instance
iMethoda member method of then inheriting class
iDecoratora class with 'pre'&'post' methods which are placed around the method call The method determines the Record argument and return value of the iMethod argument method in order to do the registration with the EventSetup

Definition at line 171 of file ESProducer.h.

174  {}) {
175  const auto id = consumesInfos_.size();
177  using CallbackType = eventsetup::Callback<T, TReturn, TRecord, DecoratorType>;
178  unsigned int iovIndex = 0; // Start with 0, but later will cycle through all of them
179  auto temp = std::make_shared<CallbackType>(
180  iThis, iMethod, id, createDecoratorFrom(iThis, static_cast<const TRecord*>(nullptr), iDec));
181  auto callback =
182  std::make_shared<std::pair<unsigned int, std::shared_ptr<CallbackType>>>(iovIndex, std::move(temp));
184  static_cast<const typename eventsetup::produce::product_traits<TReturn>::type*>(nullptr),
185  static_cast<const TRecord*>(nullptr),
186  iLabel);
187  consumesInfos_.push_back(std::make_unique<ESConsumesInfo>());
188  return ESConsumesCollectorT<TRecord>(consumesInfos_.back().get(), id);
189  }

◆ updateFromMayConsumes()

template<typename Record >
void edm::ESProducer::updateFromMayConsumes ( unsigned int  iIndex,
const Record iRecord 
)
inline

Definition at line 118 of file ESProducer.h.

118  {
119  if (itemsToGetFromRecords_.empty() or itemsToGetFromRecords_[iIndex].empty()) {
120  return;
121  }
122  auto const info = consumesInfos_[iIndex].get();
123  for (size_t i = 0; i < info->size(); ++i) {
124  auto chooserBase = (*info)[i].chooser_.get();
125  if (chooserBase) {
126  auto chooser = static_cast<eventsetup::impl::MayConsumeChooserBase<Record>*>(chooserBase);
127  itemsToGetFromRecords_[iIndex][i] = chooser->makeChoice(iRecord);
128  }
129  }
130  }

References consumesInfos_, mps_fire::i, info(), itemsToGetFromRecords_, and or.

◆ updateLookup()

void edm::ESProducer::updateLookup ( eventsetup::ESRecordsToProxyIndices const &  iProxyToIndices)
finalvirtual

Reimplemented from edm::eventsetup::DataProxyProvider.

Definition at line 54 of file ESProducer.cc.

54  {
55  itemsToGetFromRecords_.reserve(consumesInfos_.size());
56  recordsUsedDuringGet_.reserve(consumesInfos_.size());
57 
58  if (itemsToGetFromRecords_.size() == consumesInfos_.size()) {
59  return;
60  }
61 
62  for (auto& info : consumesInfos_) {
63  auto& items = itemsToGetFromRecords_.emplace_back();
64  items.reserve(info->size());
65  auto& records = recordsUsedDuringGet_.emplace_back();
66  records.reserve(info->size());
67  for (auto& proxyInfo : *info) {
68  //check for mayConsumes
69  if (auto chooser = proxyInfo.chooser_.get()) {
70  auto tagGetter = iProxyToIndices.makeTagGetter(chooser->recordKey(), chooser->productType());
71  if (not tagGetter.hasNothingToGet()) {
72  records.push_back(iProxyToIndices.recordIndexFor(chooser->recordKey()));
73  }
74  chooser->setTagGetter(std::move(tagGetter));
76  } else {
77  auto index = iProxyToIndices.indexInRecord(proxyInfo.recordKey_, proxyInfo.productKey_);
79  if (not proxyInfo.moduleLabel_.empty()) {
80  auto component = iProxyToIndices.component(proxyInfo.recordKey_, proxyInfo.productKey_);
81  if (nullptr == component) {
83  } else {
84  if (component->label_.empty()) {
85  if (component->type_ != proxyInfo.moduleLabel_) {
87  }
88  } else if (component->label_ != proxyInfo.moduleLabel_) {
90  }
91  }
92  }
93  }
94  items.push_back(index);
96  records.push_back(iProxyToIndices.recordIndexFor(proxyInfo.recordKey_));
97  }
98  }
99  }
100  }
101  }

References edm::eventsetup::ESRecordsToProxyIndices::component(), consumesInfos_, edm::eventsetup::ESRecordsToProxyIndices::indexInRecord(), info(), mps_monitormerge::items, itemsToGetFromRecords_, edm::eventsetup::ESRecordsToProxyIndices::makeTagGetter(), edm::eventsetup::ESRecordsToProxyIndices::missingProxyIndex(), eostools::move(), edm::eventsetup::ESRecordsToProxyIndices::recordIndexFor(), and recordsUsedDuringGet_.

Member Data Documentation

◆ consumesInfos_

std::vector<std::unique_ptr<ESConsumesInfo> > edm::ESProducer::consumesInfos_
private

Definition at line 235 of file ESProducer.h.

Referenced by updateFromMayConsumes(), and updateLookup().

◆ itemsToGetFromRecords_

std::vector<std::vector<ESProxyIndex> > edm::ESProducer::itemsToGetFromRecords_
private

Definition at line 236 of file ESProducer.h.

Referenced by getTokenIndices(), updateFromMayConsumes(), and updateLookup().

◆ recordsUsedDuringGet_

std::vector<std::vector<ESRecordIndex> > edm::ESProducer::recordsUsedDuringGet_
private

Definition at line 239 of file ESProducer.h.

Referenced by updateLookup().

mixOne_cfi.ESProducer
ESProducer
Definition: mixOne_cfi.py:33
edm::eventsetup::produce::product_traits::type
T type
Definition: produce_helpers.h:58
mps_fire.i
i
Definition: mps_fire.py:355
edm::ESProducer::itemsToGetFromRecords_
std::vector< std::vector< ESProxyIndex > > itemsToGetFromRecords_
Definition: ESProducer.h:236
edm::ESProducer::recordsUsedDuringGet_
std::vector< std::vector< ESRecordIndex > > recordsUsedDuringGet_
Definition: ESProducer.h:239
edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:138
edm::ESProducts
Definition: ESProducts.h:105
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:152
groupFilesInBlocks.temp
list temp
Definition: groupFilesInBlocks.py:142
mps_monitormerge.items
list items
Definition: mps_monitormerge.py:29
edm::ESProducer::consumesInfos_
std::vector< std::unique_ptr< ESConsumesInfo > > consumesInfos_
Definition: ESProducer.h:235
edm::eventsetup::createDecoratorFrom
const TDecorator & createDecoratorFrom(T *, const TRecord *, const TDecorator &iDec)
Definition: ESProducer.h:96
edm::es::Label::def
static const std::string & def()
Definition: es_Label.h:82
edm::ESProxyFactoryProducer::registerFactory
void registerFactory(std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
Definition: ESProxyFactoryProducer.h:97
edm::eventsetup::ESRecordsToProxyIndices::missingProxyIndex
static constexpr ESProxyIndex missingProxyIndex() noexcept
Definition: ESRecordsToProxyIndices.h:48
edm::ParameterSet
Definition: ParameterSet.h:36
edm::ESProducer::registerProducts
void registerProducts(std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TList *, const TRecord *iRecord, const es::Label &iLabel)
Definition: ESProducer.h:193
edm::eventsetup::DecoratorFromArg::Decorator_t
TArg Decorator_t
Definition: eventsetup_dependsOn.h:156
edm::ESProducer::registerProduct
void registerProduct(std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TProduct *, const TRecord *, const es::Label &iLabel)
Definition: ESProducer.h:210
edmIntegrityCheck.callback
callback
Definition: edmIntegrityCheck.py:75
eostools.move
def move(src, dest)
Definition: eostools.py:511
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
relativeConstraints.empty
bool empty
Definition: relativeConstraints.py:46
edm::Exception::throwThis
static void throwThis(Code category, char const *message0="", char const *message1="", char const *message2="", char const *message3="", char const *message4="")
Definition: EDMException.cc:83
or
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
edm::ESProducer
Definition: ESProducer.h:101
DataMixerDataOnData_cff.Label
Label
Definition: DataMixerDataOnData_cff.py:21
edm::errors::Configuration
Definition: EDMException.h:36