ATLAS Offline Software
Loading...
Searching...
No Matches
SiCluster.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// SiCluster.h
7// Header file for class SiCluster
9// Class to implement Cluster for Si
11// Version 1.0 15/07/2003 Veronique Boisvert
13
14#ifndef TRKPREPRAWDATA_SICLUSTER_H
15#define TRKPREPRAWDATA_SICLUSTER_H
16
17// Base class
18#include "Identifier/Identifier.h"
20#include "InDetReadoutGeometry/SiDetectorElement.h" // cant be forward declared
22#include "TrkSurfaces/Surface.h"
23#include <memory>
24#include <iosfwd>
25
28
29class MsgStream;
30
34class SCT_ClusterContainerCnv_p1;
35class SiClusterCnv_p1;
36
37namespace InDet {
38
40{
45 friend class ::PixelClusterContainerCnv;
46 friend class ::SCT_ClusterContainerCnv;
47 friend class ::PixelClusterContainerCnv_p2;
49 friend class ::PixelClusterContainerCnv_p0;
51 friend class ::SCT_ClusterContainerCnv_p0;
52 friend class ::SiClusterCnv_p1;
54
55public:
56 // Used by TPCnv converters
57 SiCluster() = default;
59 SiCluster(const SiCluster&) = default;
61 SiCluster(SiCluster&&) = default;
63 SiCluster& operator=(const SiCluster&) = default;
67 virtual ~SiCluster() = default;
68
73 SiCluster(const Identifier& RDOId,
74 const Amg::Vector2D& locpos,
75 std::vector<Identifier>&& rdoList,
76 const InDet::SiWidth& width,
77 const InDetDD::SiDetectorElement* detEl,
78 Amg::MatrixX&& locErrMat);
79
80 SiCluster(const Identifier& RDOId,
81 const Amg::Vector2D& locpos,
82 std::vector<Identifier>&& rdoList,
83 const InDet::SiWidth& width,
84 const InDetDD::SiDetectorElement* detEl);
85
86 SiCluster(const Identifier& RDOId,
87 const Amg::Vector2D& locpos,
88 const Amg::Vector3D& globpos,
89 std::vector<Identifier>&& rdoList,
90 const InDet::SiWidth& width,
91 const InDetDD::SiDetectorElement* detEl,
92 Amg::MatrixX&& locErrMat);
93
94 SiCluster(const Identifier& RDOId,
95 const Amg::Vector2D& locpos,
96 const Amg::Vector3D& globpos,
97 std::vector<Identifier>&& rdoList,
98 const InDet::SiWidth& width,
99 const InDetDD::SiDetectorElement* detEl);
100
105
106 const InDet::SiWidth& width() const;
107
110
112 void setGangedPixel(bool ganged);
113
115 bool gangedPixel() const;
119 virtual const InDetDD::SiDetectorElement* detectorElement() const override final;
120
122 virtual Trk::PrepRawDataType prdType() const override;
123
125 virtual MsgStream& dump(MsgStream& stream) const override;
127 virtual std::ostream& dump(std::ostream& stream) const override;
129
131 //used by TPCnv converters
133
134private:
140 bool m_gangedPixel = false;
141};
142
143MsgStream&
144operator<<(MsgStream& stream, const SiCluster& prd);
145std::ostream&
146operator<<(std::ostream& stream, const SiCluster& prd);
147
148}
149
151#endif // TRKPREPRAWDATA_SICLUSTER_H
Eigen::Matrix< double, 3, 1 > Vector3D
Class to hold geometrical description of a silicon detector element.
const Amg::Vector3D & globalPosition() const
return global position reference
virtual Trk::PrepRawDataType prdType() const override
Interface method checking the type.
friend class PixelClusterContainerCnv_p1
Definition SiCluster.h:48
void setDetectorElement(const InDetDD::SiDetectorElement *detEl)
Set the m_detEl and calculate globalPostion.
Amg::Vector3D m_globalPosition
Definition SiCluster.h:135
SiCluster & operator=(SiCluster &&)=default
Move assignment operator.
virtual ~SiCluster()=default
Destructor:
SiCluster(SiCluster &&)=default
Move constructor.
SiCluster & operator=(const SiCluster &)=default
Assignment operator.
SiCluster(const SiCluster &)=default
Copy constructor.
bool gangedPixel() const
return the flag of this cluster containing a gangedPixel
const InDet::SiWidth & width() const
return width class reference
friend class SCT_ClusterContainerCnv_p1
Definition SiCluster.h:50
const InDetDD::SiDetectorElement * m_detEl
Not owning points (ownned by the store.
Definition SiCluster.h:139
void setGangedPixel(bool ganged)
set the flag of this cluster containing a gangedPixel
virtual const InDetDD::SiDetectorElement * detectorElement() const override final
return the detector element corresponding to this PRD The pointer will be zero if the det el is not d...
SiCluster()=default
InDet::SiWidth m_width
col, row, and width in mm
Definition SiCluster.h:137
Create derived converter to customize the saving of identifiable container.
Create derived converter to customize the saving of identifiable container.
Class to hold geometrical description of a silicon detector element.
const std::vector< Identifier > & rdoList() const
return the List of rdo identifiers (pointers)
STL class.
Definition of ATLAS Math & Geometry primitives (Amg).
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 2, 1 > Vector2D
Eigen::Matrix< double, 3, 1 > Vector3D
Message Stream Member.
Primary Vertex Finder.
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
Ensure that the ATLAS eigen extensions are properly loaded.
-event-from-file
STL namespace.
#define private