ATLAS Offline Software
Loading...
Searching...
No Matches
CompetingPixelClustersOnTrack.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// CompetingPixelClustersOnTrack.h, (c) ATLAS Detector software
8
9#ifndef COMPETINGPIXELCLUSTERSONTRACK_H
10#define COMPETINGPIXELCLUSTERSONTRACK_H
11
12// Trk
14#include "InDetRIO_OnTrack/PixelClusterOnTrack.h" // cannot forward declare
16#include <iosfwd>
17#include <memory>
18#include <utility>
19
20class MsgStream;
21
22namespace Trk {
23class PrepRawData;
24class LocalParameters;
25class Surface;
26}
27
28namespace InDet {
29
45
47{
48
49public:
53
61
65 CompetingPixelClustersOnTrack(std::vector<const InDet::PixelClusterOnTrack*>&& childrots,
66 std::vector<AssignmentProb>&& assgnProb);
67
70
73
75 std::unique_ptr<CompetingPixelClustersOnTrack> uniqueClone() const
76 {
77 return std::unique_ptr<CompetingPixelClustersOnTrack>(clone());
78 }
79
82 const Trk::Surface& associatedSurface() const;
83
86 const Amg::Vector3D& globalPosition() const;
87
89 unsigned int numberOfContainedROTs() const;
90
93 const std::vector<const InDet::PixelClusterOnTrack*>& containedROTs() const;
94
96 const InDet::PixelClusterOnTrack& rioOnTrack(unsigned int) const;
97
99 MsgStream& dump(MsgStream& out) const;
101 std::ostream& dump(std::ostream& out) const;
102
103private:
105 void clearChildRotVector();
106
109
111 std::vector<const InDet::PixelClusterOnTrack*> m_containedChildRots;
112
119 bool ROTsHaveCommonSurface(const bool withNonVanishingAssignProb = true) const;
120};
121
127
128inline const Trk::Surface&
130{
131 return ((*(std::as_const(m_containedChildRots).begin()))->associatedSurface());
132}
133
134inline const std::vector<const InDet::PixelClusterOnTrack*>&
139
140inline const InDet::PixelClusterOnTrack&
142{
143 return *std::as_const(m_containedChildRots)[indx];
144}
145
146inline unsigned int
151
152}
153
154#endif // COMPETINGPIXELCLUSTERSONTRACK_H
155
Cached unique_ptr with atomic update.
Class for competing PixelClusters, it extends the Trk::CompetingRIOsOnTrack base class.
bool ROTsHaveCommonSurface(const bool withNonVanishingAssignProb=true) const
Have all the contained ROTs a common associated surface?
const Trk::Surface & associatedSurface() const
returns the surface for the local to global transformation .
const Amg::Vector3D & globalPosition() const
Interface method to get the global Position.
void clearChildRotVector()
private method to clear the Trk::RIO_OnTrack vector
CompetingPixelClustersOnTrack * clone() const
needed to avoid excessive RTTI
unsigned int numberOfContainedROTs() const
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack.
const std::vector< const InDet::PixelClusterOnTrack * > & containedROTs() const
returns the vector of PixelClusterOnTrack objects .
CompetingPixelClustersOnTrack & operator=(const CompetingPixelClustersOnTrack &compROT)
Assignment operator.
CxxUtils::CachedUniquePtr< const Amg::Vector3D > m_globalPosition
The global Position.
CompetingPixelClustersOnTrack()
Default Constructor for POOL.
std::vector< const InDet::PixelClusterOnTrack * > m_containedChildRots
The vector of contained InDet::PixelClusterOnTrack objects.
std::unique_ptr< CompetingPixelClustersOnTrack > uniqueClone() const
NVI method returning unique_ptr clone.
friend class CompetingPixelClustersOnTrackTool
InDet::CompetingPixelClustersOnTrackTool is a friend to allow for updates of the assignment probabili...
const InDet::PixelClusterOnTrack & rioOnTrack(unsigned int) const
returns the RIO_OnTrack (also known as ROT) objects depending on the integer
Specific class to represent the pixel measurements.
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
Abstract Base Class for tracking surfaces.
Eigen::Matrix< double, 3, 1 > Vector3D
CachedUniquePtrT< const T > CachedUniquePtr
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
-event-from-file