CMS 3D CMS Logo

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

Public Types

using ReturnType = std::unique_ptr< MTDTopology >
 

Public Member Functions

 MTDTopologyEP (const edm::ParameterSet &)
 
ReturnType produce (const MTDTopologyRcd &)
 
- 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)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 

Private Member Functions

void fillParameters (const PMTDParameters &, int &, MTDTopology::BTLValues &, MTDTopology::ETLValues &)
 

Private Attributes

const edm::ESGetToken< PMTDParameters, PMTDParametersRcdtoken_
 

Additional Inherited Members

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

Detailed Description

Definition at line 16 of file MTDTopologyEP.cc.

Member Typedef Documentation

◆ ReturnType

using MTDTopologyEP::ReturnType = std::unique_ptr<MTDTopology>

Definition at line 20 of file MTDTopologyEP.cc.

Constructor & Destructor Documentation

◆ MTDTopologyEP()

MTDTopologyEP::MTDTopologyEP ( const edm::ParameterSet conf)

Definition at line 32 of file MTDTopologyEP.cc.

References edm::ESProducer::setWhatProduced().

Member Function Documentation

◆ fillDescriptions()

void MTDTopologyEP::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 35 of file MTDTopologyEP.cc.

35  {
37  descriptions.add("mtdTopology", ttc);
38 }

References edm::ConfigurationDescriptions::add().

◆ fillParameters()

void MTDTopologyEP::fillParameters ( const PMTDParameters ptp,
int &  mtdTopologyMode,
MTDTopology::BTLValues btlVals,
MTDTopology::ETLValues etlVals 
)
private

Definition at line 50 of file MTDTopologyEP.cc.

53  {
54  mtdTopologyMode = ptp.topologyMode_;
55 
56  btlVals.sideStartBit_ = ptp.vitems_[0].vpars_[0]; // 16
57  btlVals.layerStartBit_ = ptp.vitems_[0].vpars_[1]; // 16
58  btlVals.trayStartBit_ = ptp.vitems_[0].vpars_[2]; // 8
59  btlVals.moduleStartBit_ = ptp.vitems_[0].vpars_[3]; // 2
60  btlVals.sideMask_ = ptp.vitems_[0].vpars_[4]; // 0xF
61  btlVals.layerMask_ = ptp.vitems_[0].vpars_[5]; // 0xF
62  btlVals.trayMask_ = ptp.vitems_[0].vpars_[6]; // 0xFF
63  btlVals.moduleMask_ = ptp.vitems_[0].vpars_[7]; // 0x3F
64 
65  etlVals.sideStartBit_ = ptp.vitems_[1].vpars_[0];
66  etlVals.layerStartBit_ = ptp.vitems_[1].vpars_[1];
67  etlVals.ringStartBit_ = ptp.vitems_[1].vpars_[2];
68  etlVals.moduleStartBit_ = ptp.vitems_[1].vpars_[3];
69  etlVals.sideMask_ = ptp.vitems_[1].vpars_[4];
70  etlVals.layerMask_ = ptp.vitems_[1].vpars_[5];
71  etlVals.ringMask_ = ptp.vitems_[1].vpars_[6];
72  etlVals.moduleMask_ = ptp.vitems_[1].vpars_[7];
73 
74 #ifdef EDM_ML_DEBUG
75 
76  edm::LogInfo("MTDTopologyEP") << "Topology mode = " << mtdTopologyMode << "\n"
77  << "BTL values = " << btlVals.sideStartBit_ << " " << btlVals.layerStartBit_ << " "
78  << btlVals.trayStartBit_ << " " << btlVals.moduleStartBit_ << " " << std::hex
79  << btlVals.sideMask_ << " " << std::hex << btlVals.layerMask_ << " " << std::hex
80  << btlVals.trayMask_ << " " << std::hex << btlVals.moduleMask_ << "\n"
81  << "ETL values = " << etlVals.sideStartBit_ << " " << etlVals.layerStartBit_ << " "
82  << etlVals.ringStartBit_ << " " << etlVals.moduleStartBit_ << " " << std::hex
83  << etlVals.sideMask_ << " " << std::hex << etlVals.layerMask_ << " " << std::hex
84  << etlVals.ringMask_ << " " << std::hex << etlVals.moduleMask_ << " ";
85 
86 #endif
87 }

References MTDTopology::BTLValues::layerMask_, MTDTopology::ETLValues::layerMask_, MTDTopology::BTLValues::layerStartBit_, MTDTopology::ETLValues::layerStartBit_, MTDTopology::BTLValues::moduleMask_, MTDTopology::ETLValues::moduleMask_, MTDTopology::BTLValues::moduleStartBit_, MTDTopology::ETLValues::moduleStartBit_, MTDTopology::ETLValues::ringMask_, MTDTopology::ETLValues::ringStartBit_, MTDTopology::BTLValues::sideMask_, MTDTopology::ETLValues::sideMask_, MTDTopology::BTLValues::sideStartBit_, MTDTopology::ETLValues::sideStartBit_, PMTDParameters::topologyMode_, MTDTopology::BTLValues::trayMask_, MTDTopology::BTLValues::trayStartBit_, and PMTDParameters::vitems_.

Referenced by produce().

◆ produce()

MTDTopologyEP::ReturnType MTDTopologyEP::produce ( const MTDTopologyRcd iRecord)

Definition at line 40 of file MTDTopologyEP.cc.

40  {
41  int mtdTopologyMode;
42  MTDTopology::BTLValues btlVals;
43  MTDTopology::ETLValues etlVals;
44 
45  fillParameters(iRecord.get(token_), mtdTopologyMode, btlVals, etlVals);
46 
47  return std::make_unique<MTDTopology>(mtdTopologyMode, btlVals, etlVals);
48 }

References fillParameters(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::get(), and token_.

Member Data Documentation

◆ token_

const edm::ESGetToken<PMTDParameters, PMTDParametersRcd> MTDTopologyEP::token_
private

Definition at line 29 of file MTDTopologyEP.cc.

Referenced by produce().

MTDTopology::ETLValues::moduleStartBit_
unsigned int moduleStartBit_
Definition: MTDTopology.h:33
PMTDParameters
Definition: PMTDParameters.h:6
edm::ESInputTag
Definition: ESInputTag.h:87
MTDTopologyEP::token_
const edm::ESGetToken< PMTDParameters, PMTDParametersRcd > token_
Definition: MTDTopologyEP.cc:29
PMTDParameters::vitems_
std::vector< Item > vitems_
Definition: PMTDParameters.h:18
MTDTopology::BTLValues::trayStartBit_
unsigned int trayStartBit_
Definition: MTDTopology.h:21
edm::LogInfo
Definition: MessageLogger.h:254
edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:138
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
MTDTopology::ETLValues::ringStartBit_
unsigned int ringStartBit_
Definition: MTDTopology.h:32
MTDTopology::BTLValues::layerMask_
unsigned int layerMask_
Definition: MTDTopology.h:24
MTDTopology::BTLValues::moduleMask_
unsigned int moduleMask_
Definition: MTDTopology.h:26
MTDTopology::BTLValues
Definition: MTDTopology.h:18
MTDTopology::ETLValues
Definition: MTDTopology.h:29
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
MTDTopology::ETLValues::ringMask_
unsigned int ringMask_
Definition: MTDTopology.h:36
edm::eventsetup::DependentRecordImplementation::get
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
Definition: DependentRecordImplementation.h:112
MTDTopology::ETLValues::sideStartBit_
unsigned int sideStartBit_
Definition: MTDTopology.h:30
MTDTopologyEP::fillParameters
void fillParameters(const PMTDParameters &, int &, MTDTopology::BTLValues &, MTDTopology::ETLValues &)
Definition: MTDTopologyEP.cc:50
PMTDParametersRcd
Definition: PMTDParametersRcd.h:9
MTDTopology::BTLValues::sideStartBit_
unsigned int sideStartBit_
Definition: MTDTopology.h:19
MTDTopology::BTLValues::sideMask_
unsigned int sideMask_
Definition: MTDTopology.h:23
PMTDParameters::topologyMode_
int topologyMode_
Definition: PMTDParameters.h:20
MTDTopology::ETLValues::sideMask_
unsigned int sideMask_
Definition: MTDTopology.h:34
MTDTopology::BTLValues::trayMask_
unsigned int trayMask_
Definition: MTDTopology.h:25
MTDTopology::ETLValues::moduleMask_
unsigned int moduleMask_
Definition: MTDTopology.h:37
MTDTopology::ETLValues::layerStartBit_
unsigned int layerStartBit_
Definition: MTDTopology.h:31
MTDTopology::BTLValues::layerStartBit_
unsigned int layerStartBit_
Definition: MTDTopology.h:20
MTDTopology::ETLValues::layerMask_
unsigned int layerMask_
Definition: MTDTopology.h:35
MTDTopology::BTLValues::moduleStartBit_
unsigned int moduleStartBit_
Definition: MTDTopology.h:22