42 {
43
44 SG::WriteHandle<TgcPrepDataContainer> tgcPrepDataContainerAll(
m_AllBCKey, ctx);
45 ATH_CHECK(tgcPrepDataContainerAll.record(std::make_unique<TgcPrepDataContainer>(
m_idHelperSvc->tgcIdHelper().module_hash_max()) ));
46
47 auto tgc3BCs =
m_3BCKeys.makeHandles(ctx);
48
49
50 int ibc{0};
51 for (SG::ReadHandle<TgcPrepDataContainer>& handle :
m_3BCKeys.makeHandles(ctx)) {
56 ++ibc;
57
58 if(!handle.isValid()) {
60 return StatusCode::FAILURE;
61 }
63
64 for (const Muon::TgcPrepData* to_copy : *coll) {
65 const Identifier
channelId = to_copy->identify();
66 const Identifier elementId =
m_idHelperSvc->tgcIdHelper().elementID(channelId);
67
69 (elementId, tgcPrepDataContainerAll.ptr(),
m_idHelperSvc->tgcIdHelper(),
msg());
70
72 std::find_if(collection->
begin(),collection->
end(),[&channelId](
const TgcPrepData* duplicate){
73 return channelId == duplicate->identify();
74 });
75 if(duplicateInAllBCs != collection->
end()) {
77 prd->setBcBitMap(prd->getBcBitMap() | bcBitMap);
78 } else {
82 }
83 }
84 }
85 }
86
87 return StatusCode::SUCCESS;
88}
#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