ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetValidation
InDetDefectsEmulation
src
PixelDefectsEmulatorAlg.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef InDet_PixelDefectsEmulatorAlg_H
5
#define InDet_PixelDefectsEmulatorAlg_H
6
7
#include "
DefectsEmulatorAlg.h
"
8
#include "
InDetRawData/PixelRDO_Container.h
"
9
#include "
PixelEmulatedDefects.h
"
10
#include "
InDetIdentifier/PixelID.h
"
11
#include "
PixelReadoutGeometry/PixelModuleDesign.h
"
12
13
namespace
InDet
{
14
template
<>
15
struct
DefectsEmulatorTraits
<
PixelRDO_Container
> {
16
using
ID_Helper
=
const
PixelID
*;
17
struct
IDAdapter
{
18
ID_Helper
m_idHelper
;
19
20
IDAdapter
(
ID_Helper
helper) :
m_idHelper
(helper) {}
21
int
row_index
(
const
Identifier
&rdoID)
const
{
return
m_idHelper
->phi_index(rdoID); }
22
int
col_index
(
const
Identifier
&rdoID)
const
{
return
m_idHelper
->eta_index(rdoID); }
23
24
unsigned
int
nConsecutiveRows
([[maybe_unused]]
const
PixelRDORawData
&rdo)
const
{
25
return
1;
26
}
27
28
template
<
typename
T_ModuleHelper>
29
std::unique_ptr<Pixel1RawData>
createNoiseHit
(
const
T_ModuleHelper &helper,
const
Identifier
&identifier,
unsigned
int
cell_idx,
unsigned
int
tot) {
30
unsigned
int
row_aka_phi=cell_idx % helper.rows();
31
unsigned
int
col_aka_eta=cell_idx / helper.rows();
32
return
std::make_unique<Pixel1RawData>(
m_idHelper
->pixel_id(identifier,row_aka_phi, col_aka_eta),
33
tot,
34
0
/*BCID*/
,
35
0
/*LVL1*/
);
36
}
37
unsigned
int
cloneOrRejectHit
(
const
PixelModuleHelper
&module_helper,
38
const
PixelEmulatedDefects
&emulated_defects,
39
unsigned
int
idHash,
40
unsigned
int
row_idx,
41
unsigned
int
col_idx,
42
const
PixelRDORawData
&rdo,
43
InDetRawDataCollection<PixelRDORawData>
&dest) {
44
unsigned
int
n_new=0u;
45
if
(!emulated_defects.
isDefect
(module_helper, idHash, row_idx, col_idx)) {
46
dest.push_back(std::make_unique<Pixel1RawData>(
dynamic_cast<
const
Pixel1RawData
&
>
(rdo)).
release
() );
47
++n_new;
48
}
49
return
n_new;
50
}
51
52
};
53
using
DefectsData
=
PixelEmulatedDefects
;
54
using
RDORawData
=
PixelRDORawData
;
55
using
ModuleHelper
=
PixelModuleHelper
;
56
using
ModuleDesign
=
InDetDD::PixelModuleDesign
;
57
58
static
constexpr
ActsTrk::DetectorType
DETECTOR_TYPE
=
ActsTrk::DetectorType::Pixel
;
59
};
60
66
class
PixelDefectsEmulatorAlg
:
public
DefectsEmulatorAlg
<PixelRDO_Container>
67
{
68
public
:
69
using
DefectsEmulatorAlg
<
PixelRDO_Container
>
::DefectsEmulatorAlg
;
70
};
71
}
72
#endif
DefectsEmulatorAlg.h
PixelEmulatedDefects.h
PixelID.h
This is an Identifier helper class for the Pixel subdetector.
PixelModuleDesign.h
PixelRDO_Container.h
PixelRDO_Container
InDetRawDataContainer< InDetRawDataCollection< PixelRDORawData > > PixelRDO_Container
Definition
PixelRDO_Container.h:25
InDetDD::PixelModuleDesign
Class used to describe the design of a module (diode segmentation and readout scheme).
Definition
PixelModuleDesign.h:45
InDetRawDataCollection
Definition
InDetRawDataCollection.h:31
InDet::DefectsEmulatorAlg
Algorithm template to selectivly copy RDOs from an InDetRawDataCollection.
Definition
DefectsEmulatorAlg.h:23
InDet::EmulatedDefects::isDefect
bool isDefect(const T_ModuleHelper &helper, unsigned int id_hash, KEY_TYPE key) const
Test whether a pixel or strip on a certain module is marked as defect.
Definition
EmulatedDefects.h:116
InDet::PixelDefectsEmulatorAlg
Algorithm which selectively copies hits from an input PixelRDO_Container.
Definition
PixelDefectsEmulatorAlg.h:67
InDet::PixelEmulatedDefects
Specialization of emulated defects conditions data for ITk pixels Defect conditions data for defects ...
Definition
PixelEmulatedDefects.h:15
InDet::PixelModuleHelper
Helper class to convert between offline column, row and hardware chip, column, row coordinates.
Definition
PixelModuleHelper.h:21
Pixel1RawData
Definition
Pixel1RawData.h:23
PixelID
This is an Identifier helper class for the Pixel subdetector.
Definition
PixelID.h:69
PixelRDORawData
Definition
PixelRDORawData.h:23
release
static std::string release
Definition
computils.h:50
ActsTrk::DetectorType
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.
Definition
GeometryDefs.h:25
ActsTrk::DetectorType::Pixel
@ Pixel
Inner detector legacy.
Definition
GeometryDefs.h:27
Identifier
Definition
IdentifierFieldParser.cxx:14
InDet
Primary Vertex Finder.
Definition
VP1ErrorUtils.h:36
InDet::DefectsEmulatorTraits< PixelRDO_Container >::IDAdapter::nConsecutiveRows
unsigned int nConsecutiveRows(const PixelRDORawData &rdo) const
Definition
PixelDefectsEmulatorAlg.h:24
InDet::DefectsEmulatorTraits< PixelRDO_Container >::IDAdapter::m_idHelper
ID_Helper m_idHelper
Definition
PixelDefectsEmulatorAlg.h:18
InDet::DefectsEmulatorTraits< PixelRDO_Container >::IDAdapter::createNoiseHit
std::unique_ptr< Pixel1RawData > createNoiseHit(const T_ModuleHelper &helper, const Identifier &identifier, unsigned int cell_idx, unsigned int tot)
Definition
PixelDefectsEmulatorAlg.h:29
InDet::DefectsEmulatorTraits< PixelRDO_Container >::IDAdapter::IDAdapter
IDAdapter(ID_Helper helper)
Definition
PixelDefectsEmulatorAlg.h:20
InDet::DefectsEmulatorTraits< PixelRDO_Container >::IDAdapter::cloneOrRejectHit
unsigned int cloneOrRejectHit(const PixelModuleHelper &module_helper, const PixelEmulatedDefects &emulated_defects, unsigned int idHash, unsigned int row_idx, unsigned int col_idx, const PixelRDORawData &rdo, InDetRawDataCollection< PixelRDORawData > &dest)
Definition
PixelDefectsEmulatorAlg.h:37
InDet::DefectsEmulatorTraits< PixelRDO_Container >::IDAdapter::col_index
int col_index(const Identifier &rdoID) const
Definition
PixelDefectsEmulatorAlg.h:22
InDet::DefectsEmulatorTraits< PixelRDO_Container >::IDAdapter::row_index
int row_index(const Identifier &rdoID) const
Definition
PixelDefectsEmulatorAlg.h:21
InDet::DefectsEmulatorTraits< PixelRDO_Container >::ModuleDesign
InDetDD::PixelModuleDesign ModuleDesign
Definition
PixelDefectsEmulatorAlg.h:56
InDet::DefectsEmulatorTraits< PixelRDO_Container >::ID_Helper
const PixelID * ID_Helper
Definition
PixelDefectsEmulatorAlg.h:16
InDet::DefectsEmulatorTraits< PixelRDO_Container >::RDORawData
PixelRDORawData RDORawData
Definition
PixelDefectsEmulatorAlg.h:54
InDet::DefectsEmulatorTraits< PixelRDO_Container >::ModuleHelper
PixelModuleHelper ModuleHelper
Definition
PixelDefectsEmulatorAlg.h:55
InDet::DefectsEmulatorTraits< PixelRDO_Container >::DefectsData
PixelEmulatedDefects DefectsData
Definition
PixelDefectsEmulatorAlg.h:53
InDet::DefectsEmulatorTraits< PixelRDO_Container >::DETECTOR_TYPE
static constexpr ActsTrk::DetectorType DETECTOR_TYPE
Definition
PixelDefectsEmulatorAlg.h:58
InDet::DefectsEmulatorTraits
Definition
DefectsEmulatorAlg.h:15
Generated on
for ATLAS Offline Software by
1.17.0