18 mPItems(helper.mPItems), mTItems(helper.mTItems)
50 return HcalObjectAddons::findByT<PrecisionItem,HcalElectronicsMapAddons::LessById>(&
target,
mPItemsById);
57 if (i!=
nullptr && i->
mElId!=fElId) i=
nullptr;
65 if (i!=
nullptr && i->
mElId!=fElId) i=
nullptr;
72 return HcalObjectAddons::findByT<TriggerItem,HcalElectronicsMapAddons::LessByTrigId>(&
target,
mTItemsByTrigId);
97 if (i!=
nullptr && i->
mId!=0) {
106 if (i!=
nullptr && i->
mTrigId!=0) {
115 std::vector <HcalElectronicsId>
result;
116 for (std::vector<PrecisionItem>::const_iterator item =
mPItems.begin (); item !=
mPItems.end (); item++)
118 for (std::vector<TriggerItem>::const_iterator item =
mTItems.begin (); item !=
mTItems.end (); item++)
125 std::vector <HcalElectronicsId>
result;
126 for (std::vector<PrecisionItem>::const_iterator item =
mPItems.begin (); item !=
mPItems.end (); item++)
132 std::vector <HcalElectronicsId>
result;
133 for (std::vector<TriggerItem>::const_iterator item =
mTItems.begin (); item !=
mTItems.end (); item++)
140 std::vector <HcalGenericDetId>
result;
141 std::set <unsigned long> allIds;
142 for (std::vector<PrecisionItem>::const_iterator item =
mPItems.begin (); item !=
mPItems.end (); item++)
143 if (item->mId) allIds.insert (item->mId);
144 for (std::set <unsigned long>::const_iterator channel = allIds.begin (); channel != allIds.end (); channel++) {
151 std::vector <HcalTrigTowerDetId>
result;
152 std::set <unsigned long> allIds;
153 for (std::vector<TriggerItem>::const_iterator item =
mTItems.begin (); item !=
mTItems.end (); item++)
154 if (item->mTrigId) allIds.insert (item->mTrigId);
155 for (std::set <unsigned long>::const_iterator channel = allIds.begin (); channel != allIds.end (); channel++)
174 edm::LogWarning(
"HCAL") <<
"HcalElectronicsMap::Helper::mapEId2tId-> Electronics channel " << fElectronicsId <<
" already mapped to trigger channel " 188 else if (item.
mId != fId.
rawId ()) {
189 edm::LogWarning(
"HCAL") <<
"HcalElectronicsMap::Helper::mapEId2tId-> Electronics channel " << fElectronicsId <<
" already mapped to channel " 197 HcalObjectAddons::sortByT<PrecisionItem,HcalElectronicsMapAddons::LessById>(
mPItems,mPItemsById);
201 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
std::vector< HcalElectronicsMap::TriggerItem > mTItems
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< HcalElectronicsMap::PrecisionItem > mPItems
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
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