ATLAS Offline Software
Loading...
Searching...
No Matches
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>
24class MsgStream;
26
27namespace Trk {
28
29class Surface;
30class PrepRawData;
31class LocalParameters;
33class FitQuality;
34
52
53class TrackSegment final
54 : public Segment
56{
57
58public:
62 TrackSegment(const TrackSegment& seg) = default;
64 TrackSegment(TrackSegment&&) noexcept = default;
66 TrackSegment& operator=(const TrackSegment& seg) = default;
68 TrackSegment& operator=(TrackSegment&&) noexcept = default;
69
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
100 friend class ::TrackSegmentCnv_p1;
101
103};
104
105inline TrackSegment*
107{
108 return new TrackSegment(*this);
109}
110
111inline const Surface&
116
117}
118
119#endif // TRKSEGMENT_TRACKSEGMENT_H
120
An STL vector of pointers that by default owns its pointed-to elements.
Eigen::Matrix< double, 3, 1 > Vector3D
Derived DataVector<T>.
Definition DataVector.h:795
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition FitQuality.h:97
This class is the pure abstract base class for all fittable tracking measurements.
Author author() const
return segment author
Author
enum to identify who created the segment.
Segment()
Default Constructor for POOL.
Abstract Base Class for tracking surfaces.
friend class ::TrackSegmentCnv_p1
virtual TrackSegment * clone() const override final
needed to avoid excessive RTTI
TrackSegment(TrackSegment &&) noexcept=default
Move Constructor.
const Surface & associatedSurface() const override final
returns the surface for the local to global transformation
const Amg::Vector3D & globalPosition() const override final
Interface method to get the global Position.
Amg::Vector3D m_globalPosition
TrackSegment(const TrackSegment &seg)=default
Copy Constructor.
TrackSegment()
Default Constructor for POOL.
This is the base class for all tracking detector elements with read-out relevant information.
STL class.
Definition of ATLAS Math & Geometry primitives (Amg)
Ensure that the ATLAS eigen extensions are properly loaded.
Trk::SurfacePtrHolderImplDetEl< Surface > SurfacePtrHolderDetEl
-event-from-file
STL namespace.
#define private