![]() |
ATLAS Offline Software
|
Base class for all TrackSegment implementations, extends the common MeasurementBase. More...
#include <Segment.h>
Public Types | |
| enum | Author { AuthorUnknown = 0 , MooMdtSegmentMakerTool = 1 , MooCscSegmentMakerTool = 2 , Muonboy = 3 , DCMathSegmentMaker = 4 , MDT_DHoughSegmentMakerTool = 5 , CSC_DHoughSegmentMakerTool = 6 , Csc2dSegmentMaker = 7 , Csc4dSegmentMaker = 8 , TRT_SegmentMaker = 9 , CTBTracking = 10 , DCMathSegmentMakerCurved = 11 , NswStereoSeeded = 12 , NswStgcSeeded = 13 , NswPadSeeded = 14 , NswQuadAlign = 15 , NumberOfAuthors = 16 } |
| enum to identify who created the segment. More... | |
Public Member Functions | |
| Segment () | |
| Default Constructor for POOL. | |
| Segment (const Segment &seg) | |
| Copy Constructor. | |
| Segment (Segment &&) noexcept | |
| Move Constructor. | |
| Segment & | operator= (const Segment &seg) |
| Assignment operator. | |
| Segment & | operator= (Segment &&) noexcept |
| Move assignment operator. | |
| Segment (LocalParameters &&locpars, Amg::MatrixX &&locerr, DataVector< const MeasurementBase > &&measurements, FitQuality *fitq=nullptr, Author author=AuthorUnknown) | |
| Constructor with parameters. | |
| virtual | ~Segment () |
| Destructor. | |
| virtual Segment * | clone () const override=0 |
| Pseudo-constructor: needed to avoid excessive RTTI. | |
| std::unique_ptr< Segment > | uniqueClone () const |
| NVI uniqueClone method. | |
| virtual bool | type (MeasurementBaseType::Type type) const override final |
| Extended method checking the type. | |
| const std::vector< const Trk::MeasurementBase * > & | containedMeasurements () const |
| returns the vector of Trk::MeasurementBase objects | |
| const DataVector< const Trk::MeasurementBase > & | containedMeasurementsDataVector () const |
| bool | hasContainedMeasurements () const |
| unsigned int | numberOfMeasurementBases () const |
| Return the number of contained Trk::MeasurementBase (s) | |
| const MeasurementBase * | measurement (unsigned int) const |
| returns the Trk::MeasurementBase objects depending on the integer | |
| const FitQuality * | fitQuality () const |
| return the FitQuality object, returns NULL if no FitQuality is defined | |
| void | setAuthor (Author a) |
| sets the segment author | |
| Author | author () const |
| return segment author | |
| std::string | dumpAuthor () const |
| returns human readble string version of author | |
| const LocalParameters & | localParameters () const |
| Interface method to get the LocalParameters. | |
| const Amg::MatrixX & | localCovariance () const |
| Interface method to get the localError. | |
| virtual const Surface & | associatedSurface () const =0 |
| Interface method to get the associated Surface. | |
| virtual const Amg::Vector3D & | globalPosition () const =0 |
| Interface method to get the global Position. | |
| virtual MsgStream & | dump (MsgStream &out) const =0 |
| Interface method for output, to be overloaded by child classes*. | |
| virtual std::ostream & | dump (std::ostream &out) const =0 |
| Interface method for output, to be overloaded by child classes*. | |
Static Public Member Functions | |
| static std::size_t | numberOfInstantiations () |
Static Public Attributes | |
| static std::atomic_size_t | s_numberOfInstantiations |
Protected Attributes | |
| std::unique_ptr< FitQuality > | m_fitQuality |
| The fit quality of the Segment. | |
| DataVector< const MeasurementBase > | m_containedMeasBases |
| The vector of contained (generic) Trk::MeasurementBase objects. | |
| Author | m_author |
| segment author | |
| LocalParameters | m_localParams |
| Amg::MatrixX | m_localCovariance |
Friends | |
| class | ::SegmentCnv_p1 |
Base class for all TrackSegment implementations, extends the common MeasurementBase.
Trk::LocalParameters, an Trk::ErrorMatrix and a number of fitted RIOs are the commonalities of all track segments, the derived classes can overwrite the base class definitions of Trk::RIO_OnTrack, Trk::PrepRawData and Trk::Surface with derived classes for internal use and to avoid extensive RTTI.
The Surface is chosen not to be a private member of the base class, such that dedicated Segments can save specific Surface types and overwrite the return type by a child class to avoid extensive RTTI.
Access to any information of the contained ROTs, such as the underlying Trk::PrepRawData, the pointer to the Trk::DetectorElementBase such as identifiers have to be retrieved from the ROT itself.
Definition at line 53 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
| enum Trk::Segment::Author |
enum to identify who created the segment.
If you update this don't forget to update the dump method.
Definition at line 62 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
| Trk::Segment::Segment | ( | ) |
Definition at line 15 of file Tracking/TrkEvent/TrkSegment/src/Segment.cxx.
| Trk::Segment::Segment | ( | const Segment & | seg | ) |
Copy Constructor.
Definition at line 38 of file Tracking/TrkEvent/TrkSegment/src/Segment.cxx.
|
noexcept |
Move Constructor.
Definition at line 54 of file Tracking/TrkEvent/TrkSegment/src/Segment.cxx.
| Trk::Segment::Segment | ( | Trk::LocalParameters && | locpars, |
| Amg::MatrixX && | locerr, | ||
| DataVector< const MeasurementBase > && | measurements, | ||
| FitQuality * | fitq = nullptr, | ||
| Author | author = AuthorUnknown ) |
Constructor with parameters.
Definition at line 24 of file Tracking/TrkEvent/TrkSegment/src/Segment.cxx.
|
virtualdefault |
Destructor.
|
pure virtualinherited |
Interface method to get the associated Surface.
Implemented in CscClusterOnTrack, HGTD_ClusterOnTrack, InDet::CompetingPixelClustersOnTrack, InDet::CompetingSCT_ClustersOnTrack, InDet::CompetingTRT_DriftCirclesOnTrack, InDet::PixelClusterOnTrack, InDet::SCT_ClusterOnTrack, InDet::TRT_DriftCircleOnTrack, MdtDriftCircleOnTrack, Muon::CompetingMuonClustersOnTrack, Muon::CscClusterOnTrack, Muon::MdtDriftCircleOnTrack, Muon::MMClusterOnTrack, Muon::MuonSegment, Muon::RpcClusterOnTrack, Muon::sTgcClusterOnTrack, Muon::TgcClusterOnTrack, MuonSegment, RIO_OnTrack, Trk::CaloCluster_OnTrack, Trk::PseudoMeasurementOnTrack, Trk::RIO_OnTrack, Trk::SpacePoint, Trk::TrackSegment, and Trk::VertexOnTrack.
|
inline |
return segment author
Definition at line 199 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
|
overridepure virtual |
Pseudo-constructor: needed to avoid excessive RTTI.
Implements Trk::MeasurementBase.
Implemented in Muon::MuonSegment, MuonSegment, and Trk::TrackSegment.
|
inline |
returns the vector of Trk::MeasurementBase objects
Definition at line 166 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
|
inline |
Definition at line 172 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
|
pure virtualinherited |
Interface method for output, to be overloaded by child classes*.
Implemented in CscClusterOnTrack, HGTD_ClusterOnTrack, InDet::CompetingPixelClustersOnTrack, InDet::CompetingSCT_ClustersOnTrack, InDet::CompetingTRT_DriftCirclesOnTrack, InDet::PixelClusterOnTrack, InDet::PixelSpacePoint, InDet::SCT_ClusterOnTrack, InDet::SCT_SpacePoint, InDet::SiClusterOnTrack, InDet::TRT_DriftCircleOnTrack, MdtDriftCircleOnTrack, Muon::CompetingMuonClustersOnTrack, Muon::CscClusterOnTrack, Muon::MdtDriftCircleOnTrack, Muon::MMClusterOnTrack, Muon::MuonClusterOnTrack, Muon::MuonSegment, Muon::RpcClusterOnTrack, Muon::sTgcClusterOnTrack, Muon::TgcClusterOnTrack, MuonClusterOnTrack, MuonSegment, RIO_OnTrack, Trk::CaloCluster_OnTrack, Trk::CompetingRIOsOnTrack, Trk::PseudoMeasurementOnTrack, Trk::RIO_OnTrack, Trk::SpacePoint, Trk::TrackSegment, and Trk::VertexOnTrack.
|
pure virtualinherited |
Interface method for output, to be overloaded by child classes*.
Implemented in CscClusterOnTrack, HGTD_ClusterOnTrack, InDet::CompetingPixelClustersOnTrack, InDet::CompetingSCT_ClustersOnTrack, InDet::CompetingTRT_DriftCirclesOnTrack, InDet::PixelClusterOnTrack, InDet::PixelSpacePoint, InDet::SCT_ClusterOnTrack, InDet::SCT_SpacePoint, InDet::SiClusterOnTrack, InDet::TRT_DriftCircleOnTrack, MdtDriftCircleOnTrack, Muon::CompetingMuonClustersOnTrack, Muon::CscClusterOnTrack, Muon::MdtDriftCircleOnTrack, Muon::MMClusterOnTrack, Muon::MuonClusterOnTrack, Muon::MuonSegment, Muon::RpcClusterOnTrack, Muon::sTgcClusterOnTrack, Muon::TgcClusterOnTrack, MuonClusterOnTrack, MuonSegment, RIO_OnTrack, Trk::CaloCluster_OnTrack, Trk::CompetingRIOsOnTrack, Trk::PseudoMeasurementOnTrack, Trk::RIO_OnTrack, Trk::SpacePoint, Trk::TrackSegment, and Trk::VertexOnTrack.
| std::string Trk::Segment::dumpAuthor | ( | ) | const |
returns human readble string version of author
Definition at line 99 of file Tracking/TrkEvent/TrkSegment/src/Segment.cxx.
|
inline |
return the FitQuality object, returns NULL if no FitQuality is defined
Definition at line 160 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
|
pure virtualinherited |
Interface method to get the global Position.
Implemented in HGTD_ClusterOnTrack, InDet::CompetingPixelClustersOnTrack, InDet::CompetingSCT_ClustersOnTrack, InDet::CompetingTRT_DriftCirclesOnTrack, InDet::SiClusterOnTrack, InDet::TRT_DriftCircleOnTrack, MdtDriftCircleOnTrack, Muon::CompetingMuonClustersOnTrack, Muon::MdtDriftCircleOnTrack, Muon::MuonClusterOnTrack, Muon::MuonSegment, MuonClusterOnTrack, MuonSegment, RIO_OnTrack, Trk::CaloCluster_OnTrack, Trk::PseudoMeasurementOnTrack, Trk::RIO_OnTrack, Trk::SpacePoint, Trk::TrackSegment, and Trk::VertexOnTrack.
|
inline |
Definition at line 178 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
|
inlineinherited |
Interface method to get the localError.
Definition at line 138 of file MeasurementBase.h.
|
inlineinherited |
Interface method to get the LocalParameters.
Definition at line 132 of file MeasurementBase.h.
|
inline |
returns the Trk::MeasurementBase objects depending on the integer
Definition at line 184 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
|
inlinestaticinherited |
Definition at line 25 of file TrkObjectCounter.h.
|
inline |
Return the number of contained Trk::MeasurementBase (s)
Definition at line 193 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
| Trk::Segment & Trk::Segment::operator= | ( | const Segment & | seg | ) |
Assignment operator.
Definition at line 67 of file Tracking/TrkEvent/TrkSegment/src/Segment.cxx.
|
noexcept |
Move assignment operator.
Definition at line 87 of file Tracking/TrkEvent/TrkSegment/src/Segment.cxx.
| void Trk::Segment::setAuthor | ( | Author | a | ) |
sets the segment author
Definition at line 150 of file Tracking/TrkEvent/TrkSegment/src/Segment.cxx.
|
inlinefinaloverridevirtual |
Extended method checking the type.
Implements Trk::MeasurementBase.
Definition at line 114 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
|
inline |
NVI uniqueClone method.
Definition at line 108 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
|
friend |
Definition at line 147 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
|
protected |
segment author
Definition at line 156 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
|
protected |
The vector of contained (generic) Trk::MeasurementBase objects.
Definition at line 153 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
|
protected |
The fit quality of the Segment.
Definition at line 150 of file Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h.
|
protectedinherited |
Definition at line 112 of file MeasurementBase.h.
|
protectedinherited |
Definition at line 111 of file MeasurementBase.h.
|
inlinestaticinherited |
Definition at line 22 of file TrkObjectCounter.h.