ATLAS Offline Software
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
PixelReadoutDefinitions
PixelReadoutDefinitions
PixelReadoutDefinitions.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef PIXELREADOUTDEFINITIONS_H
6
#define PIXELREADOUTDEFINITIONS_H
7
#include <cstddef>
//for size_t
8
#include <cstdint>
//for uint32_t
9
#include <string>
10
#include <string_view>
11
#include <stdexcept>
12
#include <typeinfo>
13
#include <format>
// For std::format (C++20)
14
15
16
namespace
InDetDD
{
17
18
enum class
PixelModuleType
{
19
NONE
=-1,
20
DBM
,
21
IBL_PLANAR
,
22
IBL_3D
,
23
PIX_BARREL
,
24
PIX_ENDCAP
,
25
N_PIXELMODULETYPES
26
};
27
28
enum class
PixelDiodeType
{
29
NONE
=-1,
30
NORMAL
,
31
LONG
,
32
GANGED
,
33
LARGE
,
34
N_DIODETYPES
35
};
36
37
enum class
PixelReadoutTechnology
{
38
NONE
=-1,
39
FEI3
,
40
FEI4
,
41
RD53
,
42
N_TECHNOLOGIES
43
};
44
45
constexpr
uint32_t
invalidRow
= 0xFFFFFFFF;
46
constexpr
uint32_t
invalidColumn
= 0xFFFFFFFF;
47
constexpr
uint32_t
invalidFrontEnd
= 0xFFFFFFFF;
49
template
<
typename
T>
50
constexpr
std::size_t
51
enum2uint
(T n, std::string_view callingFunctionName =
""
){
52
if
(n==T::NONE){
53
throw
std::out_of_range(std::format(
"{} InDetDD::enum2uint: 'NONE' type is out of range for {}"
, callingFunctionName,
typeid
(T).name()));
54
}
55
return
static_cast<
size_t
>
(n);
56
}
57
58
std::string
59
PixelModuleTypeName
(
const
PixelModuleType
& t);
60
61
std::string
62
PixelDiodeTypeName
(
const
PixelDiodeType
& t);
63
64
std::string
65
PixelReadoutTechnologyName
(
const
PixelReadoutTechnology
& t);
66
}
67
68
#endif
InDetDD
Message Stream Member.
Definition
FakeTrackBuilder.h:8
InDetDD::PixelDiodeType
PixelDiodeType
Definition
PixelReadoutDefinitions.h:28
InDetDD::PixelDiodeType::N_DIODETYPES
@ N_DIODETYPES
Definition
PixelReadoutDefinitions.h:34
InDetDD::PixelDiodeType::NORMAL
@ NORMAL
Definition
PixelReadoutDefinitions.h:30
InDetDD::PixelDiodeType::LARGE
@ LARGE
Definition
PixelReadoutDefinitions.h:33
InDetDD::PixelDiodeType::LONG
@ LONG
Definition
PixelReadoutDefinitions.h:31
InDetDD::PixelDiodeType::GANGED
@ GANGED
Definition
PixelReadoutDefinitions.h:32
InDetDD::PixelModuleTypeName
std::string PixelModuleTypeName(const PixelModuleType &t)
Definition
PixelReadoutDefinitions.cxx:10
InDetDD::PixelDiodeTypeName
std::string PixelDiodeTypeName(const PixelDiodeType &t)
Definition
PixelReadoutDefinitions.cxx:19
InDetDD::invalidColumn
constexpr uint32_t invalidColumn
Definition
PixelReadoutDefinitions.h:46
InDetDD::PixelReadoutTechnology
PixelReadoutTechnology
Definition
PixelReadoutDefinitions.h:37
InDetDD::PixelReadoutTechnology::RD53
@ RD53
Definition
PixelReadoutDefinitions.h:41
InDetDD::PixelReadoutTechnology::FEI4
@ FEI4
Definition
PixelReadoutDefinitions.h:40
InDetDD::PixelReadoutTechnology::N_TECHNOLOGIES
@ N_TECHNOLOGIES
Definition
PixelReadoutDefinitions.h:42
InDetDD::PixelReadoutTechnology::FEI3
@ FEI3
Definition
PixelReadoutDefinitions.h:39
InDetDD::invalidRow
constexpr uint32_t invalidRow
Definition
PixelReadoutDefinitions.h:45
InDetDD::PixelModuleType
PixelModuleType
Definition
PixelReadoutDefinitions.h:18
InDetDD::PixelModuleType::IBL_PLANAR
@ IBL_PLANAR
Definition
PixelReadoutDefinitions.h:21
InDetDD::PixelModuleType::DBM
@ DBM
Definition
PixelReadoutDefinitions.h:20
InDetDD::PixelModuleType::N_PIXELMODULETYPES
@ N_PIXELMODULETYPES
Definition
PixelReadoutDefinitions.h:25
InDetDD::PixelModuleType::PIX_ENDCAP
@ PIX_ENDCAP
Definition
PixelReadoutDefinitions.h:24
InDetDD::PixelModuleType::NONE
@ NONE
Definition
PixelReadoutDefinitions.h:19
InDetDD::PixelModuleType::IBL_3D
@ IBL_3D
Definition
PixelReadoutDefinitions.h:22
InDetDD::PixelModuleType::PIX_BARREL
@ PIX_BARREL
Definition
PixelReadoutDefinitions.h:23
InDetDD::enum2uint
constexpr std::size_t enum2uint(T n, std::string_view callingFunctionName="")
Convert an enum class to size_t for use as an array index.
Definition
PixelReadoutDefinitions.h:51
InDetDD::invalidFrontEnd
constexpr uint32_t invalidFrontEnd
Definition
PixelReadoutDefinitions.h:47
InDetDD::PixelReadoutTechnologyName
std::string PixelReadoutTechnologyName(const PixelReadoutTechnology &t)
Definition
PixelReadoutDefinitions.cxx:28
Generated on
for ATLAS Offline Software by
1.14.0