CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Private Attributes
edm::eventsetup::DataProxyProvider Class Referenceabstract

#include <DataProxyProvider.h>

Inheritance diagram for edm::eventsetup::DataProxyProvider:
CondDBESSource edm::ESProxyFactoryProducer edm::test::EventSetupTestHelper FWLiteESSource PoolDBESSource edm::ESProducer AnalyticalPropagatorESProducer BeamHaloPropagatorESProducer BeamSpotFakeConditions BtagPerformanceESProducer BufferedBoostIOESProducer< DataType, MyRecord > CaloGeometryBuilder CaloGeometryDBEP< T, U > CaloGeometryEP< T, D > CaloMiscalibTools CaloMiscalibToolsMC CaloSimParametersESModule CaloSimulationConstantsESModule CaloTopologyBuilder CaloTowerConstituentsMapBuilder CaloTowerHardcodeGeometryEP CaloTowerTopologyEP CaloTPGTranscoderULUTs CastorDbProducer CastorHardcodeCalibrations CastorHardcodeGeometryEP CastorTextCalibrations Chi2ChargeMeasurementEstimatorESProducer CloseComponentsMergerESProducer< N > ClusterShapeHitFilterESProducer ConvertingESProducerT< Record, Target, Source > ConvertingESProducerWithDependenciesT< CombinedRecord< DepsRecords...>, Target, Dependencies...> CSCBadChambersConditions CSCBadStripsConditions CSCBadWiresConditions CSCChamberIndexValues CSCChamberMapValues CSCChamberTimeCorrectionsValues CSCChannelMapperESProducer CSCChipSpeedCorrectionDBConditions CSCCrateMapValues CSCCrosstalkConditions CSCCrosstalkDBConditions CSCDBL1TPParametersConditions CSCDDUMapValues CSCFakeCrosstalkConditions CSCFakeDBCrosstalk CSCFakeDBGains CSCFakeDBNoiseMatrix CSCFakeDBPedestals CSCFakeGainsConditions CSCFakeNoiseMatrixConditions CSCFakePedestalsConditions CSCGainsConditions CSCGainsDBConditions CSCGasGainCorrectionDBConditions CSCGeometryESModule CSCIndexerESProducer CSCL1TPLookupTableEP CSCL1TPParametersConditions CSCNoiseMatrixConditions CSCNoiseMatrixDBConditions CSCObjectMapESProducer CSCPedestalsDBConditions CSCTFConfigProducer CTPPSBeamParametersESSource CTPPSBeamParametersFromLHCInfoESSource CTPPSCompositeESSource 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 EcalCATIAGainRatiosESProducer EcalElectronicsMappingBuilder EcalGlobalShowerContainmentCorrectionsVsEtaESProducer EcalLaserCorrectionService EcalLaserCorrectionServiceMC EcalLiteDTUPedestalsESProducer EcalMultifitParametersGPUESProducer EcalMustacheSCParametersESProducer EcalNextToDeadChannelESProducer EcalRecHitParametersGPUESProducer EcalRegionCablingESProducer EcalSCDynamicDPhiParametersESProducer 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 HcalChannelPropertiesEP HcalDbProducer HcalDDDGeometryEP HcalDDDRecConstantsESModule HcalDDDSimConstantsESModule HcalHardcodeCalibrations HcalHardcodeGeometryEP HcalMahiPulseOffsetsGPUESProducer HcalParametersESModule HcalRecAlgoESProducer HcalSimParametersESModule HcalSimulationConstantsESModule HcalTB02ParametersESModule HcalTB06ParametersESModule HcalTextCalibrations HcalTimeSlewEP HcalTopologyIdealEP HcalTPGCoderULUT HcalTrigTowerGeometryESProducer HepPDTESSource HeterogeneousHGCalHEFCellPositionsFiller 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 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< L1TMuonOverlapFwVersionO2ORcd, L1TMuonOverlapFwVersion > 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 L1TGlobalPrescalesVetosFractESProducer L1TMuonBarrelKalmanParamsESProducer L1TMuonBarrelParamsESProducer L1TMuonEndCapForestESProducer L1TMuonEndCapForestOnlineProxy L1TMuonEndCapParamsESProducer L1TMuonGlobalParamsESProducer L1TMuonOverlapFwVersionESProducer L1TMuonOverlapParamsESProducer L1TMuonOverlapParamsOnlineProxy L1TMuonOverlapPhase1ParamsESProducer 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 MisalignedTrackerESProducer MkFitGeometryESProducer MkFitIterationConfigESProducer MTDCPEESProducer MTDDetLayerGeometryESProducer MTDDigiGeometryESModule MTDGeometricTimingDetESModule MTDParametersESModule MTDTimeCalibESProducer MTDTopologyEP MTDTransientTrackingRecHitBuilderESProducer MultipleScatteringParametrisationMakerESProducer MultiRecHitCollectorESProducer MuonDetLayerGeometryESProducer MuonGeometryConstantsESModule MuonNumberingESProducer MuonNumberingInitialization MuonOffsetESProducer MuonTransientTrackingRecHitBuilderESProducer NavigationSchoolESProducer OfflineToTransientBeamSpotESProducer OnlineBeamSpotESProducer Phase2StripCPEESProducer Phase2TrackerCablingESProducer PhysicsTools::MVAComputerESSourceBase PixelCPEClusterRepairESProducer PixelCPEFastESProducer PixelCPEGenericESProducer PixelCPETemplateRecoESProducer PixelFEDChannelCollectionProducer PixelToFEDAssociateFromAsciiESProducer PixelToLNKAssociateFromAsciiESProducer PixelTrackCleanerBySharedHitsESProducer PPSAlignmentConfigurationESSource PPSAssociationCutsESSource PPSPixelTopologyESSource PPSTimingCalibrationESSource PPSTimingCalibrationLUTESSource PropagatorWithMaterialESProducer QGLikelihoodESProducer QGLikelihoodSystematicsESProducer RCTConfigProducers RPCConeBuilder RPCGeometryESModule RPCInverseCPPFLinkMapESProducer RPCInverseLBLinkMapESProducer RPCInverseOMTFLinkMapESProducer RPCInverseTwinMuxLinkMapESProducer RPCPerformanceESSource RPCTriggerBxOrConfig RPCTriggerConfig RPCTriggerHsbConfig RPCTriggerHwConfig RunInfoTestESProducer SiPhase2OuterTrackerFakeLorentzAngleESSource SiPhase2RecHitMatcherESProducer SiPixel2DTemplateDBObjectESProducer SiPixelFakeGainESSource SiPixelFakeGainForHLTESSource SiPixelFakeGainOfflineESSource SiPixelFakeGenErrorDBObjectESSource SiPixelFakeLorentzAngleESSource SiPixelFakeQualityESSource SiPixelFakeTemplateDBObjectESSource SiPixelGainCalibrationForHLTGPUESProducer SiPixelGenErrorDBObjectESProducer SiPixelQualityESProducer SiPixelROCsStatusAndMappingWrapperESProducer SiPixelTemplateDBObjectESProducer sistrip::MeasureLA SiStripApvGainFakeESSource SiStripApvSimulationParametersESSource SiStripBackPlaneCorrectionDepESProducer SiStripBackPlaneCorrectionFakeESSource SiStripBadModuleConfigurableFakeESSource SiStripBaseDelayFakeESSource SiStripClusterizerConditionsESProducer 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 TfGraphDefProducer TGeoMgrFromDdd TkDetMapESProducer TkMSParameterizationBuilder TkTransientTrackingRecHitBuilderESProducer TotemDAQMappingESSourceXML TrackAlgoPriorityOrderESProducer TrackCleanerESProducer TrackerAdditionalParametersPerDetESModule TrackerDigiGeometryESModule trackerDTC::ProducerES TrackerGeometricDetESModule TrackerInteractionGeometryESProducer TrackerMTDRecoGeometryESProducer TrackerParametersESModule TrackerRecoGeometryESProducer TrackerTopologyEP TrackingRecHitPropagatorESProducer TrajectoryCleanerESProducer TransientTrackBuilderESProducer TSCBLBuilderNoMaterialESProducer TSCBLBuilderWithPropagatorESProducer XMLIdealGeometryESProducer XMLIdealGeometryESSource XMLIdealMagneticFieldGeometryESProducer ZdcHardcodeGeometryEP

Classes

class  DataProxyContainer
 
class  KeyedProxies
 
struct  PerRecordInfo
 

Public Member Functions

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)
 
virtual void updateLookup (ESRecordsToProxyIndices const &)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 

Static Public Member Functions

static void prevalidate (ConfigurationDescriptions &)
 

Protected Types

using KeyedProxiesVector = std::vector< std::pair< DataKey, std::shared_ptr< DataProxy >>>
 

Protected Member Functions

virtual KeyedProxiesVector registerProxies (const EventSetupRecordKey &, unsigned int iovIndex)=0
 
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 

Private Attributes

std::string appendToDataLabel_
 
DataProxyContainer dataProxyContainer_
 
ComponentDescription description_
 

Detailed Description

Description: Lowest level base class for modules which produce data for the EventSetup system.

Usage:

In most cases, the methods in this class are used exclusively by the Framework. Usually, EventSetup modules producing data inherit from the ESProducer base class which inherits from this class. The ESProducer base class takes care of overriding the registerProxies function and calling usingRecord or usingRecordWithKey.

In cases where the ESProducer base class is not used (PoolDBESSource/ CondDBESSource is the main such class) then the registerProxies function must be overridden. For the same EventSetupRecordKey, the vector returned should contain the same DataKeys in the same order for all the different iovIndexes. DataProxies associated with the same EventSetupRecordKey should have caches that use different memory, but other than that they should also be the same.

Classes that derive from this class should also call usingRecord or usingRecordWithKey in their constructor to announce the records they provide data for.

All other functions are intended for use by the Framework or tests and should not be called in classes derived from DataProxyProvider. They are primarily used when initializing the EventSetup system so the DataProxies are available for use when needed.

Definition at line 64 of file DataProxyProvider.h.

Member Typedef Documentation

using edm::eventsetup::DataProxyProvider::KeyedProxiesVector = std::vector<std::pair<DataKey, std::shared_ptr<DataProxy>>>
protected

Definition at line 196 of file DataProxyProvider.h.

Constructor & Destructor Documentation

edm::eventsetup::DataProxyProvider::DataProxyProvider ( )

Definition at line 31 of file DataProxyProvider.cc.

31 {}
edm::eventsetup::DataProxyProvider::DataProxyProvider ( const DataProxyProvider )
delete
edm::eventsetup::DataProxyProvider::~DataProxyProvider ( )
virtualnoexcept

Definition at line 33 of file DataProxyProvider.cc.

33 {}

Member Function Documentation

void edm::eventsetup::DataProxyProvider::createKeyedProxies ( EventSetupRecordKey const &  key,
unsigned int  nConcurrentIOVs 
)
inline

Definition at line 166 of file DataProxyProvider.h.

References edm::eventsetup::DataProxyProvider::DataProxyContainer::createKeyedProxies(), dataProxyContainer_, and initConcurrentIOVs().

166  {
167  dataProxyContainer_.createKeyedProxies(key, nConcurrentIOVs);
168  initConcurrentIOVs(key, nConcurrentIOVs);
169  }
tuple key
prepare the HTCondor submission files and eventually submit them
void createKeyedProxies(EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
virtual void initConcurrentIOVs(EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
const ComponentDescription& edm::eventsetup::DataProxyProvider::description ( ) const
inline
void edm::eventsetup::DataProxyProvider::fillRecordsNotAllowingConcurrentIOVs ( std::set< EventSetupRecordKey > &  recordsNotAllowingConcurrentIOVs) const
inline

Definition at line 160 of file DataProxyProvider.h.

References dataProxyContainer_, and edm::eventsetup::DataProxyProvider::DataProxyContainer::fillRecordsNotAllowingConcurrentIOVs().

160  {
161  dataProxyContainer_.fillRecordsNotAllowingConcurrentIOVs(recordsNotAllowingConcurrentIOVs);
162  }
void fillRecordsNotAllowingConcurrentIOVs(std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
virtual void edm::eventsetup::DataProxyProvider::initConcurrentIOVs ( EventSetupRecordKey const &  key,
unsigned int  nConcurrentIOVs 
)
inlinevirtual

Reimplemented in CondDBESSource.

Definition at line 164 of file DataProxyProvider.h.

Referenced by createKeyedProxies().

164 {}
bool edm::eventsetup::DataProxyProvider::isUsingRecord ( const EventSetupRecordKey key) const
inline
DataProxyProvider::KeyedProxies & edm::eventsetup::DataProxyProvider::keyedProxies ( const EventSetupRecordKey iRecordKey,
unsigned int  iovIndex = 0 
)

Definition at line 191 of file DataProxyProvider.cc.

References appendToDataLabel_, dataProxyContainer_, description(), edm::eventsetup::DataProxyProvider::KeyedProxies::insert(), edm::eventsetup::DataProxyProvider::DataProxyContainer::keyedProxies(), eostools::move(), registerProxies(), AlCaHLTBitMon_QueryRunRegistry::string, edm::eventsetup::swap(), groupFilesInBlocks::temp, and edm::eventsetup::DataProxyProvider::KeyedProxies::unInitialized().

192  {
193  KeyedProxies& keyedProxies = dataProxyContainer_.keyedProxies(iRecordKey, iovIndex);
194 
195  if (keyedProxies.unInitialized()) {
196  //delayed registration
197  std::vector<std::pair<DataKey, std::shared_ptr<DataProxy>>> keyedProxiesVector =
198  registerProxies(iRecordKey, iovIndex);
199  keyedProxies.insert(std::move(keyedProxiesVector), appendToDataLabel_);
200 
201  bool mustChangeLabels = (!appendToDataLabel_.empty());
202  for (auto keyedProxy : keyedProxies) {
203  keyedProxy.dataProxy_->setProviderDescription(&description());
204  if (mustChangeLabels) {
205  //Using swap is fine since
206  // 1) the data structure is not a map and so we have not sorted on the keys
207  // 2) this is the first time filling this so no outside agency has yet seen
208  // the label and therefore can not be dependent upon its value
209  std::string temp(std::string(keyedProxy.dataKey_.name().value()) + appendToDataLabel_);
210  DataKey newKey(keyedProxy.dataKey_.type(), temp.c_str());
211  swap(keyedProxy.dataKey_, newKey);
212  }
213  }
214  }
215  return keyedProxies;
216  }
virtual KeyedProxiesVector registerProxies(const EventSetupRecordKey &, unsigned int iovIndex)=0
def move
Definition: eostools.py:511
KeyedProxies & keyedProxies(const EventSetupRecordKey &iRecordKey, unsigned int iovIndex)
const ComponentDescription & description() const
void swap(DataKey &a, DataKey &b)
Definition: DataKey.h:85
KeyedProxies & keyedProxies(const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
const DataProxyProvider& edm::eventsetup::DataProxyProvider::operator= ( const DataProxyProvider )
delete
void edm::eventsetup::DataProxyProvider::prevalidate ( ConfigurationDescriptions iDesc)
static

Used to add parameters available to all inheriting classes

Definition at line 220 of file DataProxyProvider.cc.

References edm::ParameterSetDescription::add(), edm::ConfigurationDescriptions::defaultDescription(), edm::ParameterSetDescription::isLabelUnused(), edm::eventsetup::kAppendToDataLabel(), AlCaHLTBitMon_QueryRunRegistry::string, and findQualityFiles::v.

220  {
221  if (iDesc.defaultDescription()) {
222  if (iDesc.defaultDescription()->isLabelUnused(kAppendToDataLabel)) {
223  iDesc.defaultDescription()->add<std::string>(kAppendToDataLabel, std::string(""));
224  }
225  }
226  for (auto& v : iDesc) {
227  if (v.second.isLabelUnused(kAppendToDataLabel)) {
228  v.second.add<std::string>(kAppendToDataLabel, std::string(""));
229  }
230  }
231  }
static const std::string kAppendToDataLabel("appendToDataLabel")
virtual KeyedProxiesVector edm::eventsetup::DataProxyProvider::registerProxies ( const EventSetupRecordKey ,
unsigned int  iovIndex 
)
protectedpure virtual
void edm::eventsetup::DataProxyProvider::setAppendToDataLabel ( const edm::ParameterSet iToAppend)

This method is only to be called by the framework, it sets the string which will be appended to the labels of all data products being produced

Definition at line 180 of file DataProxyProvider.cc.

References appendToDataLabel_, cms::cuda::assert(), edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by edm::eventsetup::ComponentMaker< edm::eventsetup::LooperMakerTraits, TType >::setPostConstruction().

180  {
182  //this can only be changed once and the default value is the empty string
183  assert(oldValue.empty());
184 
185  const std::string kParamName("appendToDataLabel");
186  if (iToAppend.exists(kParamName)) {
187  appendToDataLabel_ = iToAppend.getParameter<std::string>(kParamName);
188  }
189  }
bool exists(std::string const &parameterName) const
checks if a parameter exists
assert(be >=bs)
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
void edm::eventsetup::DataProxyProvider::setDescription ( const ComponentDescription iDescription)
inline
void edm::eventsetup::DataProxyProvider::updateLookup ( eventsetup::ESRecordsToProxyIndices const &  )
virtual

Reimplemented in edm::ESProducer.

Definition at line 178 of file DataProxyProvider.cc.

178 {}
template<class T >
void edm::eventsetup::DataProxyProvider::usingRecord ( )
inlineprotected

Definition at line 190 of file DataProxyProvider.h.

References usingRecordWithKey().

190  {
191  usingRecordWithKey(EventSetupRecordKey::makeKey<T>());
192  }
void usingRecordWithKey(const EventSetupRecordKey &key)
std::set<EventSetupRecordKey> edm::eventsetup::DataProxyProvider::usingRecords ( ) const
inline
void edm::eventsetup::DataProxyProvider::usingRecordWithKey ( const EventSetupRecordKey key)
inlineprotected

Member Data Documentation

std::string edm::eventsetup::DataProxyProvider::appendToDataLabel_
private

Definition at line 203 of file DataProxyProvider.h.

Referenced by keyedProxies(), and setAppendToDataLabel().

DataProxyContainer edm::eventsetup::DataProxyProvider::dataProxyContainer_
private
ComponentDescription edm::eventsetup::DataProxyProvider::description_
private

Definition at line 202 of file DataProxyProvider.h.

Referenced by description(), and setDescription().