Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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,
26  };
27 
28  enum class PixelDiodeType{
29  NONE=-1,
30  NORMAL,
31  LONG,
32  GANGED,
33  LARGE,
35  };
36 
38  NONE =-1,
39  FEI3,
40  FEI4,
41  RD53,
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
60 
61  std::string
63 
64  std::string
66 }
67 
68 #endif
NONE
@ NONE
Definition: sTGCenumeration.h:13
InDetDD::PixelReadoutTechnology::N_TECHNOLOGIES
@ N_TECHNOLOGIES
InDetDD::PixelReadoutTechnology
PixelReadoutTechnology
Definition: PixelReadoutDefinitions.h:37
InDetDD::invalidColumn
constexpr uint32_t invalidColumn
Definition: PixelReadoutDefinitions.h:46
vtune_athena.format
format
Definition: vtune_athena.py:14
InDetDD::PixelModuleType::DBM
@ DBM
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
InDetDD::invalidFrontEnd
constexpr uint32_t invalidFrontEnd
Definition: PixelReadoutDefinitions.h:47
InDetDD::PixelModuleTypeName
std::string PixelModuleTypeName(const PixelModuleType &t)
Definition: PixelReadoutDefinitions.cxx:10
InDetDD::PixelDiodeType
PixelDiodeType
Definition: PixelReadoutDefinitions.h:28
InDetDD::PixelReadoutTechnology::FEI3
@ FEI3
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDetDD::PixelDiodeType::GANGED
@ GANGED
InDetDD::PixelModuleType::N_PIXELMODULETYPES
@ N_PIXELMODULETYPES
InDetDD::PixelDiodeType::N_DIODETYPES
@ N_DIODETYPES
InDetDD::PixelReadoutTechnology::RD53
@ RD53
InDetDD::PixelReadoutTechnology::NONE
@ NONE
InDetDD::PixelModuleType::NONE
@ NONE
InDetDD::PixelDiodeType::LONG
@ LONG
beamspotman.n
n
Definition: beamspotman.py:731
InDetDD::PixelDiodeType::LARGE
@ LARGE
InDetDD::PixelModuleType
PixelModuleType
Definition: PixelReadoutDefinitions.h:18
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
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
InDetDD::PixelReadoutTechnology::FEI4
@ FEI4
InDetDD::PixelModuleType::IBL_PLANAR
@ IBL_PLANAR
InDetDD::invalidRow
constexpr uint32_t invalidRow
Definition: PixelReadoutDefinitions.h:45
InDetDD::PixelModuleType::PIX_ENDCAP
@ PIX_ENDCAP
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDetDD::PixelDiodeType::NONE
@ NONE
InDetDD::PixelReadoutTechnologyName
std::string PixelReadoutTechnologyName(const PixelReadoutTechnology &t)
Definition: PixelReadoutDefinitions.cxx:28
InDetDD::PixelDiodeType::NORMAL
@ NORMAL
InDetDD::PixelModuleType::PIX_BARREL
@ PIX_BARREL
InDetDD::PixelModuleType::IBL_3D
@ IBL_3D
InDetDD::PixelDiodeTypeName
std::string PixelDiodeTypeName(const PixelDiodeType &t)
Definition: PixelReadoutDefinitions.cxx:19