35#ifndef GPUCA_GPUCODE_DEVICE
82 static constexpr ID IT3 = 18;
83 static constexpr ID TRK = 19;
84 static constexpr ID FT3 = 20;
85 static constexpr ID FCT = 21;
86 static constexpr ID TF3 = 22;
87 static constexpr ID RCH = 23;
88 static constexpr ID MI3 = 24;
89 static constexpr ID ECL = 25;
90 static constexpr ID Last = ECL;
98 static_assert(
nDetectors <= 32,
"bitset<32> insufficient");
102#ifndef GPUCA_GPUCODE_DEVICE
103 static constexpr std::string_view
NONE{
"none"};
104 static constexpr std::string_view
ALL{
"all"};
111#ifndef GPUCA_GPUCODE_DEVICE
128#ifndef GPUCA_GPUCODE_DEVICE
135 GPUdi() operator int() const { return static_cast<int>(mID); }
143#ifndef GPUCA_GPUCODE_DEVICE
145 static constexpr const char*
getName(
ID id) {
return sDetNames[
id]; }
156 return id >
Last ? -1 : sameStr(
name, sDetNames[
id]) ?
id
164#ifdef ENABLE_UPGRADES
173 GPUdi() static constexpr
bool sameStr(
char const*
x,
char const*
y)
175 return !*
x && !*
y ? true : (*
x == *
y && sameStr(
x + 1,
y + 1));
180#ifndef GPUCA_GPUCODE_DEVICE
182 static constexpr const char* sDetNames[
nDetectors + 1] =
183#ifdef ENABLE_UPGRADES
184 {
"ITS",
"TPC",
"TRD",
"TOF",
"PHS",
"CPV",
"EMC",
"HMP",
"MFT",
"MCH",
"MID",
"ZDC",
"FT0",
"FV0",
"FDD",
"TST",
"CTP",
"FOC",
"IT3",
"TRK",
"FT3",
"FCT",
"TF3",
"RCH",
"MI3",
"ECL",
nullptr};
186 {
"ITS",
"TPC",
"TRD",
"TOF",
"PHS",
"CPV",
"EMC",
"HMP",
"MFT",
"MCH",
"MID",
"ZDC",
"FT0",
"FV0",
"FDD",
"TST",
"CTP",
"FOC",
nullptr};
189 static constexpr std::array<o2h::DataOrigin, nDetectors>
195#ifdef ENABLE_UPGRADES
203 ClassDefNV(
DetID, 4);
206namespace detid_internal
214#ifdef ENABLE_UPGRADES
General auxilliary methods.
Static class with identifiers, bitmasks and names for ALICE detectors.
static constexpr const char * getName(ID id)
names of defined detectors
o2::gpu::gpustd::bitset< 32 > mask_t
static constexpr std::string_view NONE
keywork for no-detector
static constexpr std::string_view ALL
keywork for all detectors
static bool upgradesEnabled()
static std::string getNames(mask_t mask, char delimiter=',')
GPUdi() ID getID() const
get detector id
int ID
Detector identifiers: continuous, starting from 0.
GPUd() static const expr mask_t getMask(ID id)
static constexpr ID First
static constexpr int nDetectors
number of defined detectors
constexpr GPUdi() DetID(ID id)
GPUdi() o2h
get detector origin
static constexpr int nameToID(char const *name, int id=First)
static constexpr mask_t FullMask
GPUdDefault() DetID(const DetID &src)=default
static constexpr ID Last
if extra detectors added, update this !!!
constexpr DetID(const char *name)
static constexpr o2h::DataOrigin getDataOrigin(ID id)
static mask_t getMask(const std::string_view detList)
detector masks from any non-alpha-num delimiter-separated list (empty if NONE is supplied)
GPUdi() mask_t getMask() const
get detector mask
GLuint const GLchar * name
constexpr o2::header::DataOrigin gDataOriginPHS
constexpr o2::header::DataOrigin gDataOriginMFT
constexpr o2::header::DataOrigin gDataOriginMCH
constexpr o2::header::DataOrigin gDataOriginCTP
constexpr o2::header::DataOrigin gDataOriginIT3
constexpr o2::header::DataOrigin gDataOriginTST
constexpr o2::header::DataOrigin gDataOriginMI3
constexpr o2::header::DataOrigin gDataOriginTRK
constexpr o2::header::DataOrigin gDataOriginHMP
constexpr o2::header::DataOrigin gDataOriginTPC
constexpr o2::header::DataOrigin gDataOriginFOC
constexpr o2::header::DataOrigin gDataOriginFCT
constexpr o2::header::DataOrigin gDataOriginFT3
constexpr o2::header::DataOrigin gDataOriginZDC
constexpr o2::header::DataOrigin gDataOriginRCH
constexpr o2::header::DataOrigin gDataOriginMID
constexpr o2::header::DataOrigin gDataOriginECL
constexpr o2::header::DataOrigin gDataOriginFDD
constexpr o2::header::DataOrigin gDataOriginFT0
constexpr o2::header::DataOrigin gDataOriginTRD
constexpr o2::header::DataOrigin gDataOriginEMC
constexpr o2::header::DataOrigin gDataOriginTF3
constexpr o2::header::DataOrigin gDataOriginTOF
constexpr o2::header::DataOrigin gDataOriginITS
constexpr o2::header::DataOrigin gDataOriginCPV
constexpr o2::header::DataOrigin gDataOriginFV0
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...