ATLAS Offline Software
Track.icc
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 namespace Trk {
6 
7 inline bool Track::isValid() const {
8  return (m_fitQuality && !m_trackStateVector->empty());
9 }
10 
11 inline void Track::resetCaches() {
12  m_cachedParameterVector.reset();
13  m_cachedMeasurementVector.reset();
14  m_cachedOutlierVector.reset();
15  m_perigeeParameters.reset();
16 }
17 
18 inline const FitQuality* Track::fitQuality() const {
19  return m_fitQuality.get();
20 }
21 
22 inline FitQuality* Track::fitQuality() {
23  return m_fitQuality.get();
24 }
25 
26 inline void Track::setFitQuality(std::unique_ptr<FitQuality> quality) {
27  m_fitQuality = std::move(quality);
28 }
29 
30 inline const Trk::TrackStates*
31 Track::trackStateOnSurfaces() const {
32  return m_trackStateVector.get();
33 }
34 
35 inline Trk::TrackStates* Track::trackStateOnSurfaces() {
36  return m_trackStateVector.get();
37 }
38 
39 inline void Track::setTrackStateOnSurfaces(
40  std::unique_ptr<Trk::TrackStates> input) {
41  m_trackStateVector = std::move(input);
42  resetCaches();
43 }
44 
45 inline const TrackInfo& Track::info() const {
46  return m_trackInfo;
47 }
48 
49 inline TrackInfo& Track::info() {
50  return m_trackInfo;
51 }
52 
53 inline void Track::setInfo(const TrackInfo& input) {
54  m_trackInfo = input;
55 }
56 
57 inline const TrackSummary* Track::trackSummary() const {
58  return m_trackSummary.get();
59 }
60 
61 inline TrackSummary* Track::trackSummary() {
62  return m_trackSummary.get();
63 }
64 
65 inline void Track::setTrackSummary(std::unique_ptr<Trk::TrackSummary> input) {
66  m_trackSummary = std::move(input);
67 }
68 
69 } // namespace Trk