ATLAS Offline Software
TrackStateOnSurface.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 inline Trk::TrackStateOnSurface*
6 Trk::TrackStateOnSurface::clone() const
7 {
8  return new TrackStateOnSurface(*this);
9 }
10 
11 inline const Trk::FitQualityOnSurface&
12 Trk::TrackStateOnSurface::fitQualityOnSurface() const
13 {
14  return m_fitQualityOnSurface;
15 }
16 
17 inline Trk::FitQualityOnSurface&
18 Trk::TrackStateOnSurface::fitQualityOnSurface()
19 {
20  return m_fitQualityOnSurface;
21 }
22 
23 inline const Trk::TrackParameters*
24 Trk::TrackStateOnSurface::trackParameters() const
25 {
26  return m_trackParameters.get();
27 }
28 
29 inline Trk::TrackParameters*
30 Trk::TrackStateOnSurface::trackParameters()
31 {
32  return m_trackParameters.get();
33 }
34 
35 inline const Trk::MeasurementBase*
36 Trk::TrackStateOnSurface::measurementOnTrack() const
37 {
38  return m_measurementOnTrack.get();
39 }
40 
41 inline Trk::MeasurementBase*
42 Trk::TrackStateOnSurface::measurementOnTrack()
43 {
44  return m_measurementOnTrack.get();
45 }
46 
47 inline const Trk::MaterialEffectsBase*
48 Trk::TrackStateOnSurface::materialEffectsOnTrack() const
49 {
50  return m_materialEffectsOnTrack.get();
51 }
52 
53 inline Trk::MaterialEffectsBase*
54 Trk::TrackStateOnSurface::materialEffectsOnTrack()
55 {
56  return m_materialEffectsOnTrack.get();
57 }
58 
59 inline const Trk::AlignmentEffectsOnTrack*
60 Trk::TrackStateOnSurface::alignmentEffectsOnTrack() const
61 {
62  return m_alignmentEffectsOnTrack.get();
63 }
64 
65 inline Trk::AlignmentEffectsOnTrack*
66 Trk::TrackStateOnSurface::alignmentEffectsOnTrack()
67 {
68  return m_alignmentEffectsOnTrack.get();
69 }
70 
71 inline bool
72 Trk::TrackStateOnSurface::type(const TrackStateOnSurfaceType type) const
73 {
74  if (type == NumberOfTrackStateOnSurfaceTypes || type == Unknown) {
75  return false;
76  }
77  return (m_typeFlags & (1<<type));
78 }
79 
80 inline Trk::TrackStateOnSurface::Variety
81 Trk::TrackStateOnSurface::variety() const
82 {
83  return Trk::TrackStateOnSurface::SingleComponent;
84 }
85 
86 inline void
87 Trk::TrackStateOnSurface::setFlags()
88 {
89  if (m_measurementOnTrack) {
90  m_typeFlags |= 1 << Measurement;
91  }
92  if (m_materialEffectsOnTrack) {
93  m_typeFlags |= 1 << InertMaterial;
94  }
95  if (m_trackParameters) {
96  m_typeFlags |= 1 << Parameter;
97  }
98  if(m_fitQualityOnSurface){
99  m_typeFlags |= 1 << FitQuality;
100  }
101  if (m_alignmentEffectsOnTrack) {
102  m_typeFlags |= 1 << Alignment;
103  }
104 
105 }
106 
107 inline const std::bitset<
108  Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes>
109 Trk::TrackStateOnSurface::types() const
110 {
111  return {m_typeFlags};
112 }
113 
114 inline const std::bitset<
115  Trk::TrackStateOnSurface::NumberOfPersistencyHints>
116 Trk::TrackStateOnSurface::hints() const
117 {
118  return {m_hints};
119 }
120