CMS 3D CMS Logo

MTDTopologyEP.cc
Go to the documentation of this file.
12 
13 #include <memory>
14 //#define EDM_ML_DEBUG
15 
17 public:
19 
20  using ReturnType = std::unique_ptr<MTDTopology>;
21 
22  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
23 
25 
26 private:
28 
30 };
31 
34  edm::LogInfo("MTD") << "MTDTopologyEP::MTDTopologyEP";
35 }
36 
39  descriptions.add("mtdTopology", ttc);
40 }
41 
43  edm::LogInfo("MTDTopologyEP") << "MTDTopologyEP::produce(const MTDTopologyRcd& iRecord)";
44 
45  int mtdTopologyMode;
46  MTDTopology::BTLValues btlVals;
47  MTDTopology::ETLValues etlVals;
48 
49  fillParameters(iRecord.get(token_), mtdTopologyMode, btlVals, etlVals);
50 
51  return std::make_unique<MTDTopology>(mtdTopologyMode, btlVals, etlVals);
52 }
53 
55  int& mtdTopologyMode,
56  MTDTopology::BTLValues& btlVals,
57  MTDTopology::ETLValues& etlVals) {
58  mtdTopologyMode = ptp.topologyMode_;
59 
60  btlVals.sideStartBit_ = ptp.vitems_[0].vpars_[0]; // 16
61  btlVals.layerStartBit_ = ptp.vitems_[0].vpars_[1]; // 16
62  btlVals.trayStartBit_ = ptp.vitems_[0].vpars_[2]; // 8
63  btlVals.moduleStartBit_ = ptp.vitems_[0].vpars_[3]; // 2
64  btlVals.sideMask_ = ptp.vitems_[0].vpars_[4]; // 0xF
65  btlVals.layerMask_ = ptp.vitems_[0].vpars_[5]; // 0xF
66  btlVals.trayMask_ = ptp.vitems_[0].vpars_[6]; // 0xFF
67  btlVals.moduleMask_ = ptp.vitems_[0].vpars_[7]; // 0x3F
68 
69  etlVals.sideStartBit_ = ptp.vitems_[1].vpars_[0];
70  etlVals.layerStartBit_ = ptp.vitems_[1].vpars_[1];
71  etlVals.ringStartBit_ = ptp.vitems_[1].vpars_[2];
72  etlVals.moduleStartBit_ = ptp.vitems_[1].vpars_[3];
73  etlVals.sideMask_ = ptp.vitems_[1].vpars_[4];
74  etlVals.layerMask_ = ptp.vitems_[1].vpars_[5];
75  etlVals.ringMask_ = ptp.vitems_[1].vpars_[6];
76  etlVals.moduleMask_ = ptp.vitems_[1].vpars_[7];
77 
78 #ifdef EDM_ML_DEBUG
79 
80  edm::LogInfo("MTDTopologyEP") << "BTL values = " << btlVals.sideStartBit_ << " " << btlVals.layerStartBit_ << " "
81  << btlVals.trayStartBit_ << " " << btlVals.moduleStartBit_ << " " << std::hex
82  << btlVals.sideMask_ << " " << std::hex << btlVals.layerMask_ << " " << std::hex
83  << btlVals.trayMask_ << " " << std::hex << btlVals.moduleMask_ << " ";
84  edm::LogInfo("MTDTopologyEP") << "ETL values = " << etlVals.sideStartBit_ << " " << etlVals.layerStartBit_ << " "
85  << etlVals.ringStartBit_ << " " << etlVals.moduleStartBit_ << " " << std::hex
86  << etlVals.sideMask_ << " " << std::hex << etlVals.layerMask_ << " " << std::hex
87  << etlVals.ringMask_ << " " << std::hex << etlVals.moduleMask_ << " ";
88 
89 #endif
90 }
91 
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:138
unsigned int ringMask_
Definition: MTDTopology.h:36
MTDTopologyEP(const edm::ParameterSet &)
std::vector< Item > vitems_
unsigned int sideStartBit_
Definition: MTDTopology.h:19
unsigned int sideStartBit_
Definition: MTDTopology.h:30
unsigned int moduleMask_
Definition: MTDTopology.h:26
const edm::ESGetToken< PMTDParameters, PMTDParametersRcd > token_
unsigned int moduleStartBit_
Definition: MTDTopology.h:22
unsigned int layerStartBit_
Definition: MTDTopology.h:31
unsigned int trayMask_
Definition: MTDTopology.h:25
void fillParameters(const PMTDParameters &, int &, MTDTopology::BTLValues &, MTDTopology::ETLValues &)
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
unsigned int moduleStartBit_
Definition: MTDTopology.h:33
unsigned int sideMask_
Definition: MTDTopology.h:23
ReturnType produce(const MTDTopologyRcd &)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:60
unsigned int trayStartBit_
Definition: MTDTopology.h:21
void add(std::string const &label, ParameterSetDescription const &psetDescription)
unsigned int ringStartBit_
Definition: MTDTopology.h:32
unsigned int moduleMask_
Definition: MTDTopology.h:37
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
unsigned int layerStartBit_
Definition: MTDTopology.h:20
std::unique_ptr< MTDTopology > ReturnType
unsigned int sideMask_
Definition: MTDTopology.h:34
unsigned int layerMask_
Definition: MTDTopology.h:24
unsigned int layerMask_
Definition: MTDTopology.h:35