CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
SiStripLatencyFakeESSource Class Reference
Inheritance diagram for SiStripLatencyFakeESSource:
edm::ESProducer edm::EventSetupRecordIntervalFinder edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Types

typedef std::unique_ptr< SiStripLatencyReturnType
 

Public Member Functions

ReturnType produce (const SiStripLatencyRcd &)
 
void setIntervalFor (const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &iov, edm::ValidityInterval &iValidity) override
 
 SiStripLatencyFakeESSource (const edm::ParameterSet &)
 
 ~SiStripLatencyFakeESSource () override
 
- Public Member Functions inherited from edm::ESProducer
 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)
 
- Public Member Functions inherited from edm::EventSetupRecordIntervalFinder
bool concurrentFinder () const
 
const eventsetup::ComponentDescriptiondescriptionForFinder () const
 
 EventSetupRecordIntervalFinder ()
 
 EventSetupRecordIntervalFinder (const EventSetupRecordIntervalFinder &)=delete
 
std::set< eventsetup::EventSetupRecordKeyfindingForRecords () const
 
const ValidityIntervalfindIntervalFor (const eventsetup::EventSetupRecordKey &, const IOVSyncValue &)
 
bool nonconcurrentAndIOVNeedsUpdate (const eventsetup::EventSetupRecordKey &key, const IOVSyncValue &syncValue) const
 
const EventSetupRecordIntervalFinderoperator= (const EventSetupRecordIntervalFinder &)=delete
 
void resetInterval (const eventsetup::EventSetupRecordKey &)
 
void setDescriptionForFinder (const eventsetup::ComponentDescription &iDescription)
 
virtual ~EventSetupRecordIntervalFinder () noexcept(false)
 

Private Attributes

SiStripDetInfoFileReader m_detInfoFileReader
 
uint32_t m_latency
 
uint32_t m_mode
 

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 > >>
 
- Protected Member Functions inherited from edm::ESProducer
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)
 
- Protected Member Functions inherited from edm::EventSetupRecordIntervalFinder
template<class T >
void findingRecord ()
 
void findingRecordWithKey (const eventsetup::EventSetupRecordKey &)
 

Detailed Description

Description: "fake" SiStripLatency ESProducer - fixed value from configuration for the latency and mode

Implementation: Port of SiStripLatencyGenerator and templated fake ESSource to an edm::ESProducer

Definition at line 28 of file SiStripLatencyFakeESSource.cc.

Member Typedef Documentation

◆ ReturnType

Definition at line 37 of file SiStripLatencyFakeESSource.cc.

Constructor & Destructor Documentation

◆ SiStripLatencyFakeESSource()

SiStripLatencyFakeESSource::SiStripLatencyFakeESSource ( const edm::ParameterSet iConfig)

Definition at line 46 of file SiStripLatencyFakeESSource.cc.

46  {
47  setWhatProduced(this);
48  findingRecord<SiStripLatencyRcd>();
49 
50  m_latency = iConfig.getParameter<uint32_t>("latency");
51  m_mode = iConfig.getParameter<uint32_t>("mode");
53  SiStripDetInfoFileReader{iConfig.getParameter<edm::FileInPath>("SiStripDetInfoFile").fullPath()};
54 }

References contentValuesFiles::fullPath, edm::ParameterSet::getParameter(), m_detInfoFileReader, m_latency, m_mode, and edm::ESProducer::setWhatProduced().

◆ ~SiStripLatencyFakeESSource()

SiStripLatencyFakeESSource::~SiStripLatencyFakeESSource ( )
override

Definition at line 56 of file SiStripLatencyFakeESSource.cc.

56 {}

Member Function Documentation

◆ produce()

SiStripLatencyFakeESSource::ReturnType SiStripLatencyFakeESSource::produce ( const SiStripLatencyRcd iRecord)

Definition at line 65 of file SiStripLatencyFakeESSource.cc.

65  {
66  using namespace edm::es;
67 
68  auto latency = std::make_unique<SiStripLatency>();
69 
70  const auto& detInfos = m_detInfoFileReader.getAllData();
71  // Take the last detId. Since the map is sorted it will be the biggest value
72  if (!detInfos.empty()) {
73  // Set the apv number as 6, the highest possible
74  edm::LogInfo("SiStripLatencyGenerator") << "detId = " << detInfos.rbegin()->first << " apv = " << 6
75  << " latency = " << m_latency << " mode = " << m_mode;
76  latency->put(detInfos.rbegin()->first, 6, m_latency, m_mode);
77 
78  // Call this method to collapse all consecutive detIdAndApvs with the same latency and mode to a single entry
79  latency->compress();
80  } else {
81  edm::LogError("SiStripLatencyGenerator") << "Error: detInfo map is empty. Cannot get the last detId.";
82  }
83 
84  return latency;
85 }

References SiStripDetInfoFileReader::getAllData(), config_102169_raw_cff::latency, m_detInfoFileReader, m_latency, and m_mode.

◆ setIntervalFor()

void SiStripLatencyFakeESSource::setIntervalFor ( const edm::eventsetup::EventSetupRecordKey ,
const edm::IOVSyncValue iov,
edm::ValidityInterval iValidity 
)
overridevirtual

Member Data Documentation

◆ m_detInfoFileReader

SiStripDetInfoFileReader SiStripLatencyFakeESSource::m_detInfoFileReader
private

Definition at line 43 of file SiStripLatencyFakeESSource.cc.

Referenced by produce(), and SiStripLatencyFakeESSource().

◆ m_latency

uint32_t SiStripLatencyFakeESSource::m_latency
private

Definition at line 41 of file SiStripLatencyFakeESSource.cc.

Referenced by produce(), and SiStripLatencyFakeESSource().

◆ m_mode

uint32_t SiStripLatencyFakeESSource::m_mode
private

Definition at line 42 of file SiStripLatencyFakeESSource.cc.

Referenced by produce(), and SiStripLatencyFakeESSource().

config_102169_raw_cff.latency
latency
Definition: config_102169_raw_cff.py:29
contentValuesFiles.fullPath
fullPath
Definition: contentValuesFiles.py:64
SiStripLatencyFakeESSource::m_mode
uint32_t m_mode
Definition: SiStripLatencyFakeESSource.cc:42
edm::LogInfo
Definition: MessageLogger.h:254
edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:138
edm::ValidityInterval
Definition: ValidityInterval.h:28
SiStripDetInfoFileReader
Definition: SiStripDetInfoFileReader.h:30
edm::FileInPath
Definition: FileInPath.h:64
edm::LogError
Definition: MessageLogger.h:183
SiStripLatencyFakeESSource::m_detInfoFileReader
SiStripDetInfoFileReader m_detInfoFileReader
Definition: SiStripLatencyFakeESSource.cc:43
edm::IOVSyncValue::endOfTime
static const IOVSyncValue & endOfTime()
Definition: IOVSyncValue.cc:82
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
SiStripDetInfoFileReader::getAllData
const std::map< uint32_t, DetInfo > & getAllData() const
Definition: SiStripDetInfoFileReader.h:58
edm::es
Definition: es_Label.h:33
edm::IOVSyncValue::beginOfTime
static const IOVSyncValue & beginOfTime()
Definition: IOVSyncValue.cc:88
SiStripLatencyFakeESSource::m_latency
uint32_t m_latency
Definition: SiStripLatencyFakeESSource.cc:41