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-2022 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 setCommissioning(bool b);
68 bool isCommissioning() const;
69
71 void setSegments(std::vector<const Muon::MuonSegment*>&& segments);
73 const std::vector<const Muon::MuonSegment*>& getSegments() const;
74
75 private:
82
85
87 bool m_isCommissioning{false};
88
90 std::vector<const Muon::MuonSegment*> m_assoc_segments;
91
93 size_t m_extContIdx{0};
94 };
95
96} // namespace MuonCombined
97
98#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
bool m_isCommissioning
flag whether the track belongs to the comissioning stream
size_t extrapolatedElementID() const
returns the index of the container where the extrapolated track is located
bool isCommissioning() const
Returns whether the muon belongs to the comissioning chain.
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.