Project
Loading...
Searching...
No Matches
Constants.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
15
16#ifndef AliceO2_TRD_Constants_H
17#define AliceO2_TRD_Constants_H
18
19#include "GPUCommonDef.h"
20
21namespace o2
22{
23namespace trd
24{
25namespace constants
26{
27GPUglobalconstexpr() int NSECTOR = 18;
28GPUglobalconstexpr() int NSTACK = 5;
29GPUglobalconstexpr() int NLAYER = 6;
30GPUglobalconstexpr() int NCHAMBERPERSEC = 30;
31GPUglobalconstexpr() int NHCPERSEC = 60;
32GPUglobalconstexpr() int MAXCHAMBER = 540;
33GPUglobalconstexpr() int MAXHALFCHAMBER = 1080;
34GPUglobalconstexpr() int NCHAMBER = 521;
35GPUglobalconstexpr() int NHALFCRU = 72;
36GPUglobalconstexpr() int NLINKSPERHALFCRU = 15;
37GPUglobalconstexpr() int NLINKSPERCRU = 30;
38GPUglobalconstexpr() int NCRU = 36;
39GPUglobalconstexpr() int NFLP = 12;
40GPUglobalconstexpr() int NCRUPERFLP = 3;
41GPUglobalconstexpr() int TRDLINKID = 15;
42
43GPUglobalconstexpr() int NCOLUMN = 144;
44GPUglobalconstexpr() int NROWC0 = 12;
45GPUglobalconstexpr() int NROWC1 = 16;
46GPUglobalconstexpr() int FIRSTROW[NSTACK] = {0, 16, 32, 44, 60};
47
48GPUglobalconstexpr() int NMCMROB = 16;
49GPUglobalconstexpr() int NMCMHCMAX = 64;
50GPUglobalconstexpr() int NMCMROBINROW = 4;
51GPUglobalconstexpr() int NMCMROBINCOL = 4;
52GPUglobalconstexpr() int NROBC0 = 6;
53GPUglobalconstexpr() int NROBC1 = 8;
54GPUglobalconstexpr() int NADCMCM = 21;
55GPUglobalconstexpr() int NCOLMCM = 18;
56GPUglobalconstexpr() int NCHANNELSPERROW = NMCMROBINCOL * 2 * NADCMCM;
57GPUglobalconstexpr() int NCHANNELSC0 = NROWC0 * NCHANNELSPERROW;
58GPUglobalconstexpr() int NCHANNELSC1 = NROWC1 * NCHANNELSPERROW;
59GPUglobalconstexpr() int NCHANNELSTOTAL = NSECTOR * NLAYER * (NSTACK - 1) * NCHANNELSC1 + NSECTOR * NLAYER * NCHANNELSC0;
60GPUglobalconstexpr() int NCHANNELSPERSECTOR = NCHANNELSTOTAL / NSECTOR;
61GPUglobalconstexpr() int NCHANNELSPERLAYER = NCHANNELSPERSECTOR / NLAYER;
62GPUglobalconstexpr() int NCPU = 4;
63GPUglobalconstexpr() int NCHARGES = 3;
64
65// the values below should come out of the TRAP config in the future
66GPUglobalconstexpr() int NBITSTRKLPOS = 11;
67GPUglobalconstexpr() int NBITSTRKLSLOPE = 8;
68GPUglobalconstexpr() int ADDBITSHIFTSLOPE = 1 << 3;
69GPUglobalconstexpr() int PADGRANULARITYTRKLPOS = 40;
70GPUglobalconstexpr() int PADGRANULARITYTRKLSLOPE = 128;
71GPUglobalconstexpr() float GRANULARITYTRKLPOS = 1.f / PADGRANULARITYTRKLPOS;
72GPUglobalconstexpr() float GRANULARITYTRKLSLOPE = 1.f / PADGRANULARITYTRKLSLOPE;
73GPUglobalconstexpr() int ADCBASELINE = 10;
74
75// OS: Should this not be flexible for example in case of Kr calib?
76GPUglobalconstexpr() int TIMEBINS = 30;
77GPUglobalconstexpr() float MAXIMPACTANGLE = 25.f;
78GPUglobalconstexpr() int NBINSANGLEDIFF = 25;
79#ifndef GPUCA_GPUCODE_DEVICE
80// calibration defaults, host only: these are double and never used in device code
81constexpr double VDRIFTDEFAULT = 1.546;
82constexpr double VDRIFTMIN = 0.4;
83constexpr double VDRIFTMAX = 2.0;
84constexpr double EXBDEFAULT = 0.0;
85constexpr double EXBMIN = -0.4;
86constexpr double EXBMAX = 0.4;
87#endif
88GPUglobalconstexpr() int NBINSGAINCALIB = 320;
89GPUglobalconstexpr() float MPVDEDXDEFAULT = 42.;
90GPUglobalconstexpr() float T0DEFAULT = 1.2;
91
92// array size to store incoming half cru payload.
93GPUglobalconstexpr() int HBFBUFFERMAX = 1048576;
94GPUglobalconstexpr() unsigned int CRUPADDING32 = 0xeeeeeeee;
95GPUglobalconstexpr() int CHANNELNRNOTRKLT = 23;
96GPUglobalconstexpr() int NOTRACKLETFIT = 31;
97GPUglobalconstexpr() int TRACKLETENDMARKER = 0x10001000;
98GPUglobalconstexpr() int PADDINGWORD = 0xeeeeeeee;
99GPUglobalconstexpr() int DIGITENDMARKER = 0x0;
100GPUglobalconstexpr() int MAXDATAPERLINK32 = 13824;
101GPUglobalconstexpr() int MAXDATAPERLINK256 = 1728;
102GPUglobalconstexpr() int MAXEVENTCOUNTERSEPERATION = 200;
103GPUglobalconstexpr() int MAXMCMCOUNT = 69120;
104GPUglobalconstexpr() int MAXLINKERRORHISTOGRAMS = 10;
105GPUglobalconstexpr() int MAXPARSEERRORHISTOGRAMS = 60;
106GPUglobalconstexpr() unsigned int ETYPEPHYSICSTRIGGER = 0x2;
107GPUglobalconstexpr() unsigned int ETYPECALIBRATIONTRIGGER = 0x3;
108GPUglobalconstexpr() int MAXCRUERRORVALUE = 0x2;
109GPUglobalconstexpr() int INVALIDPRETRIGGERPHASE = 0xf;
110
111} // namespace constants
112} // namespace trd
113} // namespace o2
114
115#endif
GLdouble f
Definition glcorearb.h:310
GLuint GLfloat x0
Definition glcorearb.h:5034
constexpr double VDRIFTMIN
min value for vDrift
Definition Constants.h:82
constexpr double EXBDEFAULT
default value for LorentzAngle
Definition Constants.h:84
constexpr double EXBMAX
max value for LorentzAngle
Definition Constants.h:86
constexpr double EXBMIN
min value for LorentzAngle
Definition Constants.h:85
constexpr double VDRIFTMAX
max value for vDrift
Definition Constants.h:83
constexpr double VDRIFTDEFAULT
default value for vDrift
Definition Constants.h:81
GPUglobalconstexpr() int NSECTOR
the number of sectors
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
constexpr int NCRU