ATLAS Offline Software
Loading...
Searching...
No Matches
CompetingTRT_DriftCirclesOnTrack.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// CompetingTRT_DriftCirclesOnTrack.h, (c) ATLAS Detector software
8
9#ifndef COMPETINGTRTDRIFTCIRCLESONTRACK_H
10#define COMPETINGTRTDRIFTCIRCLESONTRACK_H
11
12// Trk
17#include <atomic>
18#include <iosfwd>
19#include <utility>
20class MsgStream;
21
22namespace Trk {
23class LocalParameters;
24class Surface;
25}
26
27namespace InDet {
28
44
48{
49
50public:
54
65 CompetingTRT_DriftCirclesOnTrack&& compROT) noexcept;
66
71 const Trk::Surface* sf,
72 std::vector<const InDet::TRT_DriftCircleOnTrack*>&& childrots,
73 std::vector<AssignmentProb>&& assgnProb,
74 const Trk::LocalParameters& effecLocalPars,
75 const Amg::MatrixX& effecLocalErrMat,
76 int ROTsHaveComSrfc // meaning of the values are described in the definition
77 // of ROTsHaveCommonSurface()
78 );
79
82
85
88 const Trk::Surface& associatedSurface() const;
89
92 const Amg::Vector3D& globalPosition() const;
93
95 unsigned int numberOfContainedROTs() const;
96
100 const std::vector<const InDet::TRT_DriftCircleOnTrack*>& containedROTs()
101 const;
102
105 const InDet::TRT_DriftCircleOnTrack& rioOnTrack(unsigned int) const;
106
109 MsgStream& dump(MsgStream& out) const;
112 std::ostream& dump(std::ostream& out) const;
113
115
116private:
118 void clearChildRotVector();
119
122
124 std::vector<const InDet::TRT_DriftCircleOnTrack*> m_containedChildRots;
125
130 const bool withNonVanishingAssignProb = true) const;
132};
133
139
140inline const Trk::Surface&
145
146inline const std::vector<const InDet::TRT_DriftCircleOnTrack*>&
151
154{
155 return *std::as_const(m_containedChildRots)[indx];
156}
157
158inline unsigned int
163}
164
165#endif // COMPETINGTRTDRIFTCIRCLESONTRACK_H
166
Cached unique_ptr with atomic update.
Class for competing TRT_DriftCircles, it extends the Trk::CompetingRIOsOnTrack base class.
const InDet::TRT_DriftCircleOnTrack & rioOnTrack(unsigned int) const
returns the RIO_OnTrack (also known as ROT) objects depending on the integer
void clearChildRotVector()
private method to clear the Trk::RIO_OnTrack vector
const Trk::Surface & associatedSurface() const
returns the surface for the local to global transformation .
CompetingTRT_DriftCirclesOnTrack & operator=(const CompetingTRT_DriftCirclesOnTrack &compROT)
Assignment operator.
const std::vector< const InDet::TRT_DriftCircleOnTrack * > & containedROTs() const
returns the vector of TRT_DriftCircleOnTrack objects .
virtual void setLocalParametersAndErrorMatrix()
recalculate the LocalParameters and ErrorMatrix
const Amg::Vector3D & globalPosition() const
Interface method to get the global Position.
unsigned int numberOfContainedROTs() const
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack.
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalPosition
The global Position.
bool ROTsHaveCommonSurface(const bool withNonVanishingAssignProb=true) const
Have all the contained ROTs a common associated surface?
friend class CompetingTRT_DriftCirclesOnTrackTool
InDet::CompetingTRT_DriftCirclesOnTrackTool is a friend to allow for updates of the assignment probab...
CompetingTRT_DriftCirclesOnTrack * clone() const
virtual constructor - needed to avoid excessive RTTI
std::vector< const InDet::TRT_DriftCircleOnTrack * > m_containedChildRots
The vector of contained InDet::TRT_DriftCircleOnTrack objects.
Represents 'corrected' measurements from the TRT (for example, corrected for wire sag).
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
Abstract Base Class for tracking surfaces.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 3, 1 > Vector3D
CachedUniquePtrT< const T > CachedUniquePtr
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
Trk::SurfacePtrHolderImplDetEl< Surface > SurfacePtrHolderDetEl
-event-from-file