35 std::vector<std::unique_ptr<Muon::RpcPrepDataCollection>> prdCollections{};
42 std::unique_ptr<Muon::RpcPrepDataCollection>& coll = prdCollections[modHash];
44 coll = std::make_unique<Muon::RpcPrepDataCollection>(modHash);
50 std::unique_ptr<Muon::RpcPrepData> prd{};
51 std::vector<Identifier> rdo{measId};
53 if (meas->numDimensions() == 1) {
54 prd = std::make_unique<Muon::RpcPrepData>(measId, coll->identifyHash(),
55 meas->localPosition<1>().x() * Amg::Vector2D::UnitX(),
58 outEle, meas->time(), meas->timeOverThreshold(), 0, 0);
60 prd = std::make_unique<Muon::RpcPrepData>(measId, coll->identifyHash(),
61 xAOD::toEigen(meas->localPosition<2>()),
63 xAOD::toEigen(meas->localCovariance<2>()),
64 outEle, meas->time(), meas->timeOverThreshold(), 0, 0);
67 prd->setHashAndIndex(coll->identifyHash(), coll->size());
68 dec_link(*meas) =
Link_t{*coll, coll->size()};
69 coll->push_back(std::move(prd));
72 auto outContainer = std::make_unique<Muon::RpcPrepDataContainer>(idHelper.
module_hash_max());
73 for (std::unique_ptr<Muon::RpcPrepDataCollection>& coll : prdCollections){
78 ATH_CHECK(outContainer->addCollection(coll.release(), hash));
83 return StatusCode::SUCCESS;