18 : mPItems(helper.mPItems), mTItems(helper.mTItems) {
25 : mPItems(src.mPItems), mTItems(src.mTItems), mPItemsById(src.mPItemsById), mTItemsByTrigId(src.mTItemsByTrigId) {}
44 return HcalObjectAddons::findByT<PrecisionItem, HcalElectronicsMapAddons::LessById>(&
target,
mPItemsById);
51 if (i !=
nullptr && i->
mElId != fElId)
60 if (i !=
nullptr && i->
mElId != fElId)
67 return HcalObjectAddons::findByT<TriggerItem, HcalElectronicsMapAddons::LessByTrigId>(&
target,
mTItemsByTrigId);
92 if (i !=
nullptr && i->
mId != 0) {
102 if (i !=
nullptr && i->
mTrigId != 0) {
111 std::vector<HcalElectronicsId>
result;
123 std::vector<HcalElectronicsId>
result;
131 std::vector<HcalElectronicsId>
result;
140 std::vector<HcalGenericDetId>
result;
141 std::set<unsigned long> allIds;
144 allIds.insert(
item->mId);
145 for (std::set<unsigned long>::const_iterator channel = allIds.begin(); channel != allIds.end(); channel++) {
152 std::vector<HcalTrigTowerDetId>
result;
153 std::set<unsigned long> allIds;
156 allIds.insert(
item->mTrigId);
157 for (std::set<unsigned long>::const_iterator channel = allIds.begin(); channel != allIds.end(); channel++)
174 edm::LogWarning(
"HCAL") <<
"HcalElectronicsMap::Helper::mapEId2tId-> Electronics channel " << fElectronicsId
176 <<
". New value " << fTriggerId <<
" is ignored";
189 }
else if (item.
mId != fId.
rawId()) {
190 edm::LogWarning(
"HCAL") <<
"HcalElectronicsMap::Helper::mapEId2tId-> Electronics channel " << fElectronicsId
199 HcalObjectAddons::sortByT<PrecisionItem, HcalElectronicsMapAddons::LessById>(mPItems, mPItemsById);
203 HcalObjectAddons::sortByT<TriggerItem, HcalElectronicsMapAddons::LessByTrigId>(mTItems, mTItemsByTrigId);
constexpr uint32_t rawId() const
bool mapEId2chId(HcalElectronicsId fElectronicsId, DetId fId)
const TriggerItem * findByTrigId(unsigned long fTrigId) const
const PrecisionItem * findPByElId(unsigned long fElId) const
std::vector< HcalElectronicsId > allElectronicsIdPrecision() const
std::vector< PrecisionItem > mPItems
constexpr uint32_t rawId() const
get the raw id
void swap(HcalElectronicsMap &other)
std::vector< HcalElectronicsId > allElectronicsIdTrigger() const
std::vector< const PrecisionItem * > mPItemsById
const PrecisionItem * findById(unsigned long fId) const
constexpr int linearIndex() const
get a fast, compact, unique index for linear lookups
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
std::vector< TriggerItem > mTItems
std::vector< HcalGenericDetId > allPrecisionId() const
bool mapEId2tId(HcalElectronicsId fElectronicsId, HcalTrigTowerDetId fTriggerId)
std::vector< HcalElectronicsId > allElectronicsId() const
std::vector< const TriggerItem * > mTItemsByTrigId
const TriggerItem * findTByElId(unsigned long fElId) const
HcalElectronicsMap & operator=(const HcalElectronicsMap &rhs)
const DetId lookupTrigger(HcalElectronicsId fId) const
brief lookup the trigger logical detid associated with the given electronics id
Log< level::Warning, false > LogWarning
Readout chain identification for Hcal.
std::vector< HcalTrigTowerDetId > allTriggerId() const
const DetId lookup(HcalElectronicsId fId) const
lookup the logical detid associated with the given electronics id