13 #include <AthLinks/ElementLink.h>
21 using SimHitLinkVec_t = std::vector<SimHitLink_t>;
29 if (
acc.isAvailable(prdHit)){
30 const SimHitLink_t& link{
acc(prdHit)};
42 std::unordered_set<const xAOD::MuonSimHit*>
hits{};
43 if (acc_simLink.isAvailable(segment)){
44 hits.reserve(acc_simLink(segment).
size());
45 for (
const SimHitLink_t& link : acc_simLink(segment)) {
50 }
else if (acc_prdLink.isAvailable(segment)){
51 for (
const PrdLink_t& link : acc_prdLink(segment)) {
62 std::unordered_set<const xAOD::MuonSimHit*>
hits{};
69 if (secHit && secHit != primHit) {
76 std::unordered_set<const xAOD::MuonSimHit*>
getMatchingSimHits(
const std::vector<const CalibratedSpacePoint*>& measurements) {
77 std::unordered_set<const xAOD::MuonSimHit*>
hits{};
86 if (secHit && secHit != primHit) {
93 std::vector<const CalibratedSpacePoint*> calibSps{};
110 if (
acc.isAvailable(segment)){
112 if (link.isValid()) {
120 if (
acc.isAvailable(segment)) {
130 std::vector<const xAOD::MuonSegment*> segments{};
136 segments.emplace_back(*link);