ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
HighGranularityTimingDetector
HGTD_Reconstruction
HGTD_RecEvent
HGTD_PrepRawData
HGTD_PrepRawData
HGTD_Cluster.h
Go to the documentation of this file.
1
22
23
#ifndef HGTD_PREPRAWDATA_HGTD_CLUSTER_H
24
#define HGTD_PREPRAWDATA_HGTD_CLUSTER_H
25
26
#include "
TrkPrepRawData/PrepRawData.h
"
27
#include "
InDetPrepRawData/SiWidth.h
"
28
#include "
TrkSurfaces/Surface.h
"
29
#include "
ReadoutGeometryBase/SolidStateDetectorElementBase.h
"
30
#include "
EventPrimitives/EventPrimitives.h
"
//Amg::MatrixX etc
31
#include "
CxxUtils/CachedValue.h
"
32
#include <vector>
33
34
class
Identifier
;
35
36
37
38
class
HGTD_Cluster
final:
public
Trk::PrepRawData
{
39
40
public
:
41
HGTD_Cluster
();
42
HGTD_Cluster
(
const
HGTD_Cluster
&) =
default
;
43
HGTD_Cluster
&
operator=
(
const
HGTD_Cluster
&) =
default
;
44
HGTD_Cluster
(
HGTD_Cluster
&&) =
default
;
45
HGTD_Cluster
&
operator=
(
HGTD_Cluster
&&) =
default
;
46
virtual
~HGTD_Cluster
() =
default
;
47
48
// Constructor
49
HGTD_Cluster
(
const
Identifier
& rdo_id,
50
const
Amg::Vector2D
& loc_pos,
51
std::vector<Identifier>&& rdo_list,
52
const
InDet::SiWidth
&
width
,
53
const
InDetDD::SolidStateDetectorElementBase
* det_el,
54
Amg::MatrixX
&& loc_err_matx,
55
const
float
time_of_arrival,
56
const
float
time_of_arrival_err,
57
std::vector<int>&& time_over_threshold);
58
59
60
// return width class reference
61
const
InDet::SiWidth
&
width
()
const
;
62
63
// return global position reference
64
const
Amg::Vector3D
&
globalPosition
()
const
;
65
66
virtual
const
InDetDD::SolidStateDetectorElementBase
*
detectorElement
()
const override
;
67
69
virtual
Trk::PrepRawDataType
prdType
()
const override
;
70
// return time of arrival
71
float
time
()
const
;
72
73
// return the resolution of the time of arrival
74
float
timeResolution
()
const
;
75
76
// return time over threshold list
77
const
std::vector<int>&
totList
()
const
;
78
79
private
:
80
InDet::SiWidth
m_width
{};
// col, row, and width in mm
81
82
CxxUtils::CachedValue<Amg::Vector3D>
m_glob_pos
;
83
84
const
InDetDD::SolidStateDetectorElementBase
*
m_det_el
{};
85
86
float
m_time
{};
87
float
m_time_resolution
{};
88
std::vector<int>
m_time_over_threshold
;
89
};
90
92
// Inline methods:
93
94
inline
const
InDet::SiWidth
&
HGTD_Cluster::width
()
const
{
return
m_width
; }
95
96
inline
const
Amg::Vector3D
&
HGTD_Cluster::globalPosition
()
const
{
97
if
(!
m_det_el
) {
98
throw
Trk::PrepRawDataUndefinedVariable
();
99
}
100
if
(!
m_glob_pos
.isValid()) {
101
m_glob_pos
.set (
m_det_el
->surface(
identify
()).localToGlobal(
localPosition
()));
102
}
103
return
*
m_glob_pos
.ptr();
104
}
105
106
inline
const
InDetDD::SolidStateDetectorElementBase
*
107
HGTD_Cluster::detectorElement
()
const
{
108
return
m_det_el
;
109
}
110
111
inline
Trk::PrepRawDataType
112
HGTD_Cluster::prdType
()
const
113
{
114
return
Trk::PrepRawDataType::HGTD_Cluster
;
115
}
116
117
inline
float
HGTD_Cluster::time
()
const
{
return
m_time
; }
118
119
inline
float
HGTD_Cluster::timeResolution
()
const
{
return
m_time_resolution
; }
120
121
inline
const
std::vector<int>&
HGTD_Cluster::totList
()
const
{
122
return
m_time_over_threshold
;
123
}
124
125
#endif
// HGTD_PREPRAWDATA_HGTD_CLUSTER_H
CachedValue.h
Cached value with atomic update.
EventPrimitives.h
PrepRawData.h
SiWidth.h
SolidStateDetectorElementBase.h
Surface.h
CxxUtils::CachedValue
Cached value with atomic update.
Definition
CachedValue.h:55
HGTD_Cluster::m_time
float m_time
Definition
HGTD_Cluster.h:86
HGTD_Cluster::operator=
HGTD_Cluster & operator=(const HGTD_Cluster &)=default
HGTD_Cluster::m_time_over_threshold
std::vector< int > m_time_over_threshold
Definition
HGTD_Cluster.h:88
HGTD_Cluster::time
float time() const
Definition
HGTD_Cluster.h:117
HGTD_Cluster::m_glob_pos
CxxUtils::CachedValue< Amg::Vector3D > m_glob_pos
Definition
HGTD_Cluster.h:82
HGTD_Cluster::detectorElement
virtual const InDetDD::SolidStateDetectorElementBase * detectorElement() const override
return the detector element corresponding to this PRD The pointer will be zero if the det el is not d...
Definition
HGTD_Cluster.h:107
HGTD_Cluster::~HGTD_Cluster
virtual ~HGTD_Cluster()=default
HGTD_Cluster::m_width
InDet::SiWidth m_width
Definition
HGTD_Cluster.h:80
HGTD_Cluster::HGTD_Cluster
HGTD_Cluster()
Definition
HGTD_Cluster.cxx:33
HGTD_Cluster::totList
const std::vector< int > & totList() const
Definition
HGTD_Cluster.h:121
HGTD_Cluster::m_time_resolution
float m_time_resolution
Definition
HGTD_Cluster.h:87
HGTD_Cluster::width
const InDet::SiWidth & width() const
Definition
HGTD_Cluster.h:94
HGTD_Cluster::m_det_el
const InDetDD::SolidStateDetectorElementBase * m_det_el
Definition
HGTD_Cluster.h:84
HGTD_Cluster::globalPosition
const Amg::Vector3D & globalPosition() const
Definition
HGTD_Cluster.h:96
HGTD_Cluster::timeResolution
float timeResolution() const
Definition
HGTD_Cluster.h:119
HGTD_Cluster::operator=
HGTD_Cluster & operator=(HGTD_Cluster &&)=default
HGTD_Cluster::HGTD_Cluster
HGTD_Cluster(HGTD_Cluster &&)=default
HGTD_Cluster::prdType
virtual Trk::PrepRawDataType prdType() const override
Interface method checking the type.
Definition
HGTD_Cluster.h:112
HGTD_Cluster::HGTD_Cluster
HGTD_Cluster(const HGTD_Cluster &)=default
InDetDD::SolidStateDetectorElementBase
Class to hold geometrical description of a solid state detector element.
Definition
SolidStateDetectorElementBase.h:132
InDet::SiWidth
Definition
SiWidth.h:25
Trk::PrepRawDataUndefinedVariable
class thrown in the event of an variable not being defined.
Definition
PrepRawData.h:59
Trk::PrepRawData
Definition
PrepRawData.h:62
Trk::PrepRawData::localPosition
const Amg::Vector2D & localPosition() const
return the local position reference
Trk::PrepRawData::identify
Identifier identify() const
return the identifier
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition
EventPrimitives.h:27
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition
GeoPrimitives.h:49
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:48
Identifier
Definition
IdentifierFieldParser.cxx:14
Trk::PrepRawDataType
PrepRawDataType
Definition
PrepRawData.h:39
Trk::PrepRawDataType::HGTD_Cluster
@ HGTD_Cluster
Definition
PrepRawData.h:44
Generated on
for ATLAS Offline Software by
1.17.0