ATLAS Offline Software
TrackSegment.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // TrackSegment.h, (c) ATLAS Detector software
8 
9 #ifndef TRKSEGMENT_TRACKSEGMENT_H
10 #define TRKSEGMENT_TRACKSEGMENT_H
11 
12 // Trk
14 #include "TrkSegment/Segment.h"
16 // Identifier
18 #include "Identifier/Identifier.h"
20 //
21 #include <memory>
22 #include <ostream>
23 #include <vector>
24 class MsgStream;
25 class TrackSegmentCnv_p1;
26 
27 namespace Trk {
28 
29 class Surface;
30 class PrepRawData;
31 class LocalParameters;
32 class TrkDetElementBase;
33 class FitQuality;
34 
53 class TrackSegment final
54  : public Segment
55  , public SurfacePtrHolderDetEl
56 {
57 
58 public:
60  TrackSegment();
62  TrackSegment(const TrackSegment& seg) = default;
66  TrackSegment& operator=(const TrackSegment& seg) = default;
68  TrackSegment& operator=(TrackSegment&&) noexcept = default;
69 
71  TrackSegment(LocalParameters&& locpars,
72  Amg::MatrixX&& locerr,
73  const Surface* sf,
75  FitQuality* fqual,
77 
79  virtual ~TrackSegment() = default;
80 
82  virtual TrackSegment* clone() const override final;
83 
86  const Surface& associatedSurface() const override final;
87 
90  const Amg::Vector3D& globalPosition() const override final;
91 
94  MsgStream& dump(MsgStream& out) const override final;
97  std::ostream& dump(std::ostream& out) const override final;
98 
99 private:
100  friend class ::TrackSegmentCnv_p1;
101 
103 };
104 
105 inline TrackSegment*
107 {
108  return new TrackSegment(*this);
109 }
110 
111 inline const Surface&
113 {
114  return (*m_associatedSurface);
115 }
116 
117 }
118 
119 #endif // TRKSEGMENT_TRACKSEGMENT_H
120 
Trk::Segment::Author
Author
enum to identify who created the segment.
Definition: Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h:63
Trk::LocalParameters
Definition: LocalParameters.h:98
SurfaceHolders.h
Trk::TrackSegment::globalPosition
const Amg::Vector3D & globalPosition() const override final
Interface method to get the global Position.
Definition: TrackSegment.cxx:46
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:27
TrackSegmentCnv_p1
Definition: TrackSegmentCnv_p1.h:30
MeasurementBase.h
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
Trk::TrackSegment::TrackSegment
TrackSegment(const TrackSegment &seg)=default
Copy Constructor.
Trk::TrackSegment::TrackSegment
TrackSegment()
Default Constructor for POOL.
Definition: TrackSegment.cxx:20
Trk::TrackSegment
Definition: TrackSegment.h:56
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
Trk::TrackSegment::m_globalPosition
Amg::Vector3D m_globalPosition
Definition: TrackSegment.h:102
Trk::SurfacePtrHolderImplDetEl::m_associatedSurface
const S * m_associatedSurface
Definition: SurfaceHolderImpl.h:244
Trk::TrackSegment::TrackSegment
TrackSegment(TrackSegment &&) noexcept=default
Move Constructor.
Trk::Segment
Definition: Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h:56
Trk::Segment::AuthorUnknown
@ AuthorUnknown
Definition: Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h:64
Trk::TrackSegment::associatedSurface
const Surface & associatedSurface() const override final
returns the surface for the local to global transformation
Definition: TrackSegment.h:112
Trk::TrackSegment::dump
MsgStream & dump(MsgStream &out) const override final
returns some information about this MeasurementBase/TrackSegment.
Definition: TrackSegment.cxx:52
Trk::FitQuality
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition: FitQuality.h:97
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
Trk::MeasurementBase
Definition: MeasurementBase.h:58
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
IdentifierHash.h
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
Trk::TrackSegment::clone
virtual TrackSegment * clone() const override final
needed to avoid excessive RTTI
Definition: TrackSegment.h:106
Trk::SurfacePtrHolderImplDetEl
Definition: SurfaceHolderImpl.h:165
Trk::Segment::author
Author author() const
return segment author
Definition: Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h:199
python.CaloScaleNoiseConfig.default
default
Definition: CaloScaleNoiseConfig.py:79
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
python.Dumpers.FitQuality
FitQuality
Definition: Dumpers.py:63
Segment.h