42 {
43
44 SG::WriteHandle<TgcPrepDataContainer> tgcPrepDataContainerAll(
m_AllBCKey,
45 ctx);
47 tgcPrepDataContainerAll.record(std::make_unique<TgcPrepDataContainer>(
49
50 auto tgc3BCs =
m_3BCKeys.makeHandles(ctx);
51
52
53 int ibc{0};
54 for (SG::ReadHandle<TgcPrepDataContainer>& handle :
63 }
64 ++ibc;
65
66 if (!handle.isValid()) {
68 return StatusCode::FAILURE;
69 }
71
72 for (const Muon::TgcPrepData* to_copy : *coll) {
73 const Identifier
channelId = to_copy->identify();
74 const Identifier elementId =
76
79 TgcIdHelper>(
80 elementId, tgcPrepDataContainerAll.ptr(),
82
84 std::find_if(collection->
begin(), collection->
end(),
85 [&channelId](const TgcPrepData* duplicate) {
86 return channelId == duplicate->identify();
87 });
88 if (duplicateInAllBCs != collection->
end()) {
90 prd->setBcBitMap(prd->getBcBitMap() | bcBitMap);
91 } else {
92 Muon::TgcPrepData* newPrepData =
94 to_copy, bcBitMap);
98 }
99 }
100 }
101 }
102
103 return StatusCode::SUCCESS;
104}
#define ATH_CHECK
Evaluate an expression and check for errors.
value_type push_back(value_type pElem)
DataModel_detail::iterator< DataVector > iterator
const_iterator end() const noexcept
const_iterator begin() const noexcept
size_type size() const noexcept
virtual IdentifierHash identifyHash() const override final
void setHashAndIndex(unsigned short collHash, unsigned short objIndex)
TEMP for testing: might make some classes friends later ...
MuonPrepDataCollection< TgcPrepData > TgcPrepDataCollection
MuonPrepDataContainerT< TgcPrepData > TgcPrepDataContainer