36 std::map<int, LMapRow>&
get_map(
void) {
return _lmap; };
39 std::vector<LMapRow> _table;
57 edm::LogError(
"LMap") <<
"Unable to open file with the logical map: " << map_file;
59 edm::LogInfo(
"LMap") <<
"File with the logical map opened successfully: " << map_file << std::endl
62 while (getline(inFile, _row)) {
72 const char* let_code =
"Z";
77 " %d %d %d %d %d %s %s %d %d %d %d %d %d %d %d %d %s %d %d %d %d %d %s %s %s %d %d %d %s %d";
78 _read = sscanf(_row.c_str(),
110 }
else if (type ==
"HO") {
111 const char* _format =
" %d %d %d %d %d %s %s %d %d %d %d %d %d %d %s %d %d %s %d %d %d %d %d";
112 _read = sscanf(_row.c_str(),
146 if (_det.find(
"HB") != std::string::npos)
148 else if (_det.find(
"HE") != std::string::npos)
150 else if (_det.find(
"HF") != std::string::npos)
152 else if (_det.find(
"HO") != std::string::npos)
157 aRow.
rbx.append(rbx);
158 aRow.
fpga.append(fpga);
159 aRow.
slbin.append(slbin);
160 aRow.
slbin2.append(slbin2);
161 aRow.
slnam.append(slnam);
162 aRow.
rctnam.append(rctnam);
165 _table.push_back(aRow);
169 _lmap[_hdid.
rawId()] = aRow;
191 for (std::vector<HcalElectronicsId>::const_iterator eId = v_eId.begin(); eId != v_eId.end(); eId++) {
194 row.
crate = eId->readoutVMECrateId();
195 row.
slot = eId->htrSlot();
196 row.
dcc = eId->dccid();
197 row.
spigot = eId->spigot();
198 row.
fiber = eId->fiberIndex();
200 if (eId->htrTopBottom() == 1)
202 else if (eId->htrTopBottom() == 0)
236 for (std::vector<HcalElectronicsId>::const_iterator eId = v_eId.begin(); eId != v_eId.end(); eId++) {
239 row.
crate = eId->readoutVMECrateId();
240 row.
slot = eId->htrSlot();
241 row.
dcc = eId->dccid();
242 row.
spigot = eId->spigot();
243 row.
fiber = eId->isVMEid() ? eId->slbSiteNumber() : eId->fiberIndex();
244 row.
fiberchan = eId->isVMEid() ? eId->slbChannelIndex() : eId->fiberChanId();
245 if (eId->htrTopBottom() == 1)
247 else if (eId->htrTopBottom() == 0)
264 edm::LogError(
"EMap") <<
"Pointer to HcalElectronicsMap is 0!!!";
278 while (getline(inFile, _row)) {
284 const char* _format =
"%d %d %d %s %d %d %d %d %s %d %d %d";
285 _read = sscanf(_row.c_str(),
302 aRow.
subdet.append(subdet);
330 _lmap->read(accessor, type);
std::string getSubdetectorString(HcalSubdetector _det)
int read_map(std::string filename)
std::vector< HcalElectronicsId > allElectronicsIdPrecision() const
constexpr uint32_t rawId() const
get the raw id
std::shared_ptr< impl > p_impl
std::string getZDCSectionString(HcalZDCDetId::Section _section)
unsigned long int getCount(void)
std::map< int, LMapRow > & get_map(void)
std::vector< HcalElectronicsId > allElectronicsIdTrigger() const
int test_read(std::string accessor, std::string type="HBEF")
int read(std::string accessor, std::string type="HBEF")
bool operator<(const EMapRow &other) const
int read(std::string accessor, std::string type)
std::map< int, LMapRow > _lmap
std::shared_ptr< LMap > _lmap
std::map< int, LMapRow > & get_map(void)
int test_read_map(std::string filename)
std::vector< EMap::EMapRow > & get_map(void)
const DetId lookupTrigger(HcalElectronicsId fId) const
brief lookup the trigger logical detid associated with the given electronics id
const DetId lookup(HcalElectronicsId fId) const
lookup the logical detid associated with the given electronics id