ATLAS Offline Software
Loading...
Searching...
No Matches
Reconstruction/MuonIdentification/MuonCombinedEvent/MuonCombinedEvent/MuonCandidate.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONCOMBINEDEVENT_MUONCANDIDATE_H
6#define MUONCOMBINEDEVENT_MUONCANDIDATE_H
7
8#include <memory>
9#include <vector>
10
11#include "AthLinks/ElementLink.h"
15
16namespace Trk {
17 class Track;
18}
19namespace Muon {
20 class MuonSegment;
21}
22
23namespace MuonCombined {
24
26 public:
32
33 /*Constructor taking two ElementLinks, and the index location of the extrapolated track in the container*/
35 size_t container_idx);
36
37 /* Update constructor to insert the element link to the extrapolated MSOE xAOD TrackParticle */
38 MuonCandidate(const MuonCandidate& oldCandidate, const ElementLink<xAOD::TrackParticleContainer>& msoeTrackLink);
39
42
44 const Trk::Track& muonSpectrometerTrack() const;
45
48
50 const Trk::Track* extrapolatedTrack() const;
51
53 const Trk::Track* primaryTrack() const;
54
58 size_t extrapolatedElementID() const;
61
63 std::string toString() const;
64
66 void setSegments(std::vector<const Muon::MuonSegment*>&& segments);
68 const std::vector<const Muon::MuonSegment*>& getSegments() const;
69
70 private:
77
80
82 std::vector<const Muon::MuonSegment*> m_assoc_segments;
83
85 size_t m_extContIdx{0};
86 };
87
88} // namespace MuonCombined
89
90#endif
void setSegments(std::vector< const Muon::MuonSegment * > &&segments)
set the vector of associated segments to the candidate
const ElementLink< TrackCollection > m_extrapolatedTrackLink
element link to extrapolated track
const ElementLink< xAOD::TrackParticleContainer > m_extrapolatedParticleLink
element link to the extrapolated muon track particle
std::vector< const Muon::MuonSegment * > m_assoc_segments
Segments associated with the candidate.
const ElementLink< xAOD::TrackParticleContainer > m_muonSpectrometerTrackLink
element link to spectrometer track
const Trk::Track & muonSpectrometerTrack() const
access spectrometer track, always there
const Trk::Track * primaryTrack() const
Returns the extrapolated track otherwise the muonSpectrometer.
MuonCandidate(const ElementLink< xAOD::TrackParticleContainer > &msTrackLink)
constructor taking an ElementLink to a xAOD::TrackParicle& Users should ensure that the element link ...
const ElementLink< TrackCollection > & extrapolatedTrackLink() const
access extrapolated track element link
const std::vector< const Muon::MuonSegment * > & getSegments() const
returns the vector of associated muon segments
const ElementLink< xAOD::TrackParticleContainer > & muonSpectrometerTrackLink() const
access spectrometer track, always there
const ElementLink< xAOD::TrackParticleContainer > & extrapolatedParticleLink() const
access extrapolated track particle element link
const Trk::Track * extrapolatedTrack() const
access extrapolated track, can be zero if back extrapolation failed
size_t extrapolatedElementID() const
returns the index of the container where the extrapolated track is located
This is the common class for 3D segments used in the muon spectrometer.
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Ensure that the ATLAS eigen extensions are properly loaded.