37#ifndef GPUCA_GPUCODE_DEVICE
101 static_assert(nDetectors <= 32, "bitset<32> insufficient");
105#ifndef GPUCA_GPUCODE_DEVICE
106 static constexpr std::string_view
NONE{
"none"};
107 static constexpr std::string_view
ALL{
"all"};
114#ifndef GPUCA_GPUCODE_DEVICE
118 assert(mID < nDetectors);
131#ifndef GPUCA_GPUCODE_DEVICE
138 GPUdi() operator int() const { return static_cast<int>(mID); }
142 GPUdi() static constexpr
int getNDetectors() {
return nDetectors; }
146#ifndef GPUCA_GPUCODE_DEVICE
148 static constexpr const char*
getName(
ID id) {
return sDetNames[
id]; }
159 return id >
Last ? -1 : sameStr(
name, sDetNames[
id]) ?
id
167#ifdef ENABLE_UPGRADES
176 GPUdi() static constexpr
bool sameStr(
char const*
x,
char const*
y)
178 return !*
x && !*
y ? true : (*
x == *
y && sameStr(
x + 1,
y + 1));
183#ifndef GPUCA_GPUCODE_DEVICE
185 static constexpr const char* sDetNames[nDetectors + 1] =
186#ifdef ENABLE_UPGRADES
187 {
"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",
"FD3",
nullptr};
189 {
"ITS",
"TPC",
"TRD",
"TOF",
"PHS",
"CPV",
"EMC",
"HMP",
"MFT",
"MCH",
"MID",
"ZDC",
"FT0",
"FV0",
"FDD",
"TST",
"CTP",
"FOC",
nullptr};
192 static constexpr std::array<o2h::DataOrigin, nDetectors>
198#ifdef ENABLE_UPGRADES
206 ClassDefNV(
DetID, 4);
209namespace detid_internal
218#ifdef ENABLE_UPGRADES
General auxilliary methods.
std::vector< std::string > header
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)
constexpr GPUdi() DetID(ID id)
GPUdi() o2h
get detector origin
static constexpr int nameToID(char const *name, int id=First)
GPUdDefault() DetID(const DetID &src)=default
static GPUglobalconstexpr() ID First
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
static GPUglobalconstexpr() ID ITS=0
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 gDataOriginFD3
constexpr o2::header::DataOrigin gDataOriginFV0
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...