Skip to content

Commit f01f9e6

Browse files
sawenzelclaude
andcommitted
Carry the TOF geometry in double and build the strip stack from running planes
This removes the sub-nanometre gaps between the layers of the TOF strips and converts the TOF volume tree from float to double. - The layer centres of a strip were summed in different orders, so faces that are the same plane came out up to 0.34 nm apart, and FPCB was gapped from FRGL by 0.037 nm. - The stack is now built by two running planes that meet inside the glass slot, which has a 625 um freon gap either side by design. - The Geo constants, the aligned-strip tables, their getters and the Detector helpers are double, and 45 static_cast<Float_t> inside geometry expressions are removed. - Material recipes, persisted hit variables and the Float_t* transforms used by the global tracking keep float. - TOF hits under VecGeom navigation go from 2 to 1509, against 1550 with TGeo. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent a856b36 commit f01f9e6

4 files changed

Lines changed: 311 additions & 297 deletions

File tree

‎Detectors/TOF/base/include/TOFBase/Geo.h‎

Lines changed: 92 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,12 @@ class Geo
7878
static Int_t getStripNumberPerSM(Int_t iplate, Int_t istrip);
7979
static void getStripAndModule(Int_t iStripPerSM, Int_t& iplate, Int_t& istrip); // Return the module and strip per module corresponding to the strip number per SM
8080

81-
static Float_t getAngles(Int_t iplate, Int_t istrip) { return ANGLES[iplate][istrip]; }
82-
static Float_t getHeights(Int_t iplate, Int_t istrip) { return HEIGHTS[iplate][istrip]; }
83-
static Float_t getDistances(Int_t iplate, Int_t istrip) { return DISTANCES[iplate][istrip]; }
84-
static Float_t getGeoHeights(Int_t isector, Int_t iplate, Int_t istrip) { return mGeoHeights[isector][iplate][istrip]; }
85-
static Float_t getGeoX(Int_t isector, Int_t iplate, Int_t istrip) { return mGeoX[isector][iplate][istrip]; }
86-
static Float_t getGeoDistances(Int_t isector, Int_t iplate, Int_t istrip) { return mGeoDistances[isector][iplate][istrip]; }
81+
static double getAngles(Int_t iplate, Int_t istrip) { return ANGLES[iplate][istrip]; }
82+
static double getHeights(Int_t iplate, Int_t istrip) { return HEIGHTS[iplate][istrip]; }
83+
static double getDistances(Int_t iplate, Int_t istrip) { return DISTANCES[iplate][istrip]; }
84+
static double getGeoHeights(Int_t isector, Int_t iplate, Int_t istrip) { return mGeoHeights[isector][iplate][istrip]; }
85+
static double getGeoX(Int_t isector, Int_t iplate, Int_t istrip) { return mGeoX[isector][iplate][istrip]; }
86+
static double getGeoDistances(Int_t isector, Int_t iplate, Int_t istrip) { return mGeoDistances[isector][iplate][istrip]; }
8787

8888
static void getPadDxDyDz(const Float_t* pos, Int_t* det, Float_t* DeltaPos, int sector = -1);
8989
enum {
@@ -107,16 +107,16 @@ class Geo
107107
static constexpr int BC_IN_ORBIT = o2::constants::lhc::LHCMaxBunches; // N. bunch crossing in 1 orbit
108108

109109
static constexpr Int_t NPADX = 48;
110-
static constexpr Float_t NPADX_INV_INT = 1. / NPADX;
110+
static constexpr double NPADX_INV_INT = 1. / NPADX;
111111
static constexpr Int_t NPADZ = 2;
112112
static constexpr Int_t NPADS = NPADX * NPADZ;
113-
static constexpr Float_t NPADS_INV_INT = 1. / NPADS;
113+
static constexpr double NPADS_INV_INT = 1. / NPADS;
114114
static constexpr Int_t NSTRIPA = 15;
115115
static constexpr Int_t NSTRIPB = 19;
116116
static constexpr Int_t NSTRIPC = 19;
117117
static constexpr Int_t NMAXNSTRIP = 20;
118118
static constexpr Int_t NSTRIPXSECTOR = NSTRIPA + 2 * NSTRIPB + 2 * NSTRIPC;
119-
static constexpr Float_t NSTRIPXSECTOR_INV_INT = 1. / NSTRIPXSECTOR;
119+
static constexpr double NSTRIPXSECTOR_INV_INT = 1. / NSTRIPXSECTOR;
120120
static constexpr Int_t NPADSXSECTOR = NSTRIPXSECTOR * NPADS;
121121

122122
static constexpr Int_t NSECTORS = 18;
@@ -126,42 +126,42 @@ class Geo
126126
static constexpr int NCHANNELS = NSTRIPS * NPADS;
127127
static constexpr int N_ELECTRONIC_CHANNELS = 72 << 12;
128128

129-
static constexpr Float_t MAXHZTOF = 370.6; // Max half z-size of TOF (cm)
130-
static constexpr Float_t ZLENA = MAXHZTOF * 2.; // length (cm) of the A module
131-
static constexpr Float_t ZLENB = 146.5; // length (cm) of the B module
132-
static constexpr Float_t ZLENC = 170.45; // length (cm) of the C module
129+
static constexpr double MAXHZTOF = 370.6; // Max half z-size of TOF (cm)
130+
static constexpr double ZLENA = MAXHZTOF * 2.; // length (cm) of the A module
131+
static constexpr double ZLENB = 146.5; // length (cm) of the B module
132+
static constexpr double ZLENC = 170.45; // length (cm) of the C module
133133

134-
static constexpr Float_t XTOF = 372.00; // Inner radius of the TOF for Reconstruction (cm)
135-
static constexpr Float_t RMIN = 371;
136-
static constexpr Float_t RMAX = 400.05;
134+
static constexpr double XTOF = 372.00; // Inner radius of the TOF for Reconstruction (cm)
135+
static constexpr double RMIN = 371;
136+
static constexpr double RMAX = 400.05;
137137

138-
static constexpr Float_t RMIN2 = RMIN * RMIN;
139-
static constexpr Float_t RMAX2 = RMAX * RMAX;
138+
static constexpr double RMIN2 = RMIN * RMIN;
139+
static constexpr double RMAX2 = RMAX * RMAX;
140140

141-
static constexpr Float_t XPAD = 2.5;
142-
static constexpr Float_t XHALFSTRIP = XPAD * NPADX * 0.5;
143-
static constexpr Float_t ZPAD = 3.5;
144-
static constexpr Float_t STRIPLENGTH = 122;
141+
static constexpr double XPAD = 2.5;
142+
static constexpr double XHALFSTRIP = XPAD * NPADX * 0.5;
143+
static constexpr double ZPAD = 3.5;
144+
static constexpr double STRIPLENGTH = 122;
145145

146-
static constexpr Float_t SIGMAFORTAIL1 = 2.; // Sig1 for simulation of TDC tails
147-
static constexpr Float_t SIGMAFORTAIL12 = 0.5; // Sig2 for simulation of TDC tails
146+
static constexpr double SIGMAFORTAIL1 = 2.; // Sig1 for simulation of TDC tails
147+
static constexpr double SIGMAFORTAIL12 = 0.5; // Sig2 for simulation of TDC tails
148148

149-
static constexpr Float_t PHISEC = 20; // sector Phi width (deg)
150-
static constexpr Float_t PHISECINV = 1. / PHISEC; // sector Phi width (deg)
149+
static constexpr double PHISEC = 20; // sector Phi width (deg)
150+
static constexpr double PHISECINV = 1. / PHISEC; // sector Phi width (deg)
151151

152-
static constexpr Float_t TDCBIN = o2::constants::lhc::LHCBunchSpacingNS * 1E3 / 1024; ///< TDC bin width [ps]
153-
static constexpr Float_t NTDCBIN_PER_PS = 1. / TDCBIN; ///< number of TDC bins in 1 ns
152+
static constexpr double TDCBIN = o2::constants::lhc::LHCBunchSpacingNS * 1E3 / 1024; ///< TDC bin width [ps]
153+
static constexpr double NTDCBIN_PER_PS = 1. / TDCBIN; ///< number of TDC bins in 1 ns
154154
static constexpr Int_t RATIO_TOT_TDC_BIN = 2; // ratio between TDC and TOT bin sizes
155-
static constexpr Float_t TOTBIN = TDCBIN * RATIO_TOT_TDC_BIN; // time-over-threshold bin width [ps]
156-
static constexpr Float_t TOTBIN_NS = TOTBIN * 1E-3; // time-over-threshold bin width [ns]
157-
static constexpr Float_t NTOTBIN_PER_NS = 1000. / TOTBIN; // number of time-over-threshold bin in 1 ns
158-
static constexpr Float_t BUNCHCROSSINGBIN = TDCBIN * 1024; // bunch-crossing bin width [ps]
155+
static constexpr double TOTBIN = TDCBIN * RATIO_TOT_TDC_BIN; // time-over-threshold bin width [ps]
156+
static constexpr double TOTBIN_NS = TOTBIN * 1E-3; // time-over-threshold bin width [ns]
157+
static constexpr double NTOTBIN_PER_NS = 1000. / TOTBIN; // number of time-over-threshold bin in 1 ns
158+
static constexpr double BUNCHCROSSINGBIN = TDCBIN * 1024; // bunch-crossing bin width [ps]
159159

160-
static constexpr Float_t SLEWTOTMIN = 10.; // min TOT for slewing correction [ns]
161-
static constexpr Float_t SLEWTOTMAX = 16.; // max TOT for slewing correction [ns]
160+
static constexpr double SLEWTOTMIN = 10.; // min TOT for slewing correction [ns]
161+
static constexpr double SLEWTOTMAX = 16.; // max TOT for slewing correction [ns]
162162

163-
static constexpr Float_t DEADTIME = 25E+03; // Single channel dead time (ps)
164-
static constexpr Float_t DEADTIMETDC = DEADTIME / TDCBIN; ///< Single channel TDC dead time (ps)
163+
static constexpr double DEADTIME = 25E+03; // Single channel dead time (ps)
164+
static constexpr double DEADTIMETDC = DEADTIME / TDCBIN; ///< Single channel TDC dead time (ps)
165165
static constexpr int NWINDOW_IN_ORBIT = 3; //< Number of tof window in 1 orbit
166166
static constexpr Double_t READOUTWINDOW = o2::constants::lhc::LHCOrbitNS / NWINDOW_IN_ORBIT; // Readout window (ns) - time between two consecutive triggers = 1/3 orbit
167167
static constexpr int BC_IN_WINDOW = BC_IN_ORBIT / NWINDOW_IN_ORBIT; // N. bunch crossing in 1 tof window
@@ -208,7 +208,7 @@ class Geo
208208
0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0,
209209
1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1};
210210

211-
static constexpr Float_t ANGLES[NPLATES][NMAXNSTRIP] = { // Strip Tilt Angles
211+
static constexpr double ANGLES[NPLATES][NMAXNSTRIP] = { // Strip Tilt Angles
212212
{43.99, 43.20, 42.40, 41.59, 40.77, 39.94, 39.11, 38.25, 37.40, 36.53,
213213
35.65, 34.76, 33.87, 32.96, 32.05, 31.13, 30.19, 29.24, 12.33, 0.00},
214214
{27.26, 26.28, 25.30, 24.31, 23.31, 22.31, 21.30, 20.29, 19.26, 18.24,
@@ -220,7 +220,7 @@ class Geo
220220
{-12.33, -29.24, -30.19, -31.13, -32.05, -32.96, -33.87, -34.76, -35.65, -36.53,
221221
-37.40, -38.25, -39.11, -39.94, -40.77, -41.59, -42.40, -43.20, -43.99, 0.00}};
222222

223-
static constexpr Float_t HEIGHTS[NPLATES][NMAXNSTRIP] = {
223+
static constexpr double HEIGHTS[NPLATES][NMAXNSTRIP] = {
224224
{-8.405, -7.725, -8.405, -7.765, -8.285, -7.745, -7.865, -7.905, -7.895, -7.885,
225225
-7.705, -7.395, -7.525, -7.645, -7.835, -7.965, -8.365, -9.385, -3.255, 0.000},
226226
{-7.905, -8.235, -8.605, -9.045, -10.205, -3.975, -5.915, -7.765, -10.205, -3.635,
@@ -232,7 +232,7 @@ class Geo
232232
{-3.255, -9.385, -8.365, -7.965, -7.835, -7.645, -7.525, -7.395, -7.705, -7.885,
233233
-7.895, -7.905, -7.865, -7.745, -8.285, -7.765, -8.405, -7.725, -8.405, 0.000}};
234234

235-
static constexpr Float_t DISTANCES[NPLATES][NMAXNSTRIP] = {
235+
static constexpr double DISTANCES[NPLATES][NMAXNSTRIP] = {
236236
{364.14, 354.88, 344.49, 335.31, 325.44, 316.51, 307.11, 297.91, 288.84, 279.89,
237237
271.20, 262.62, 253.84, 245.20, 236.56, 228.06, 219.46, 210.63, 206.09, 0.00},
238238
{194.57, 186.38, 178.25, 170.13, 161.78, 156.62, 148.10, 139.72, 131.23, 125.87,
@@ -251,92 +251,92 @@ class Geo
251251
kTRUE, kTRUE, kFALSE, kFALSE, kFALSE, kFALSE, kFALSE, kTRUE, kFALSE};
252252
; // Selecting TOF sectors containing FEA cooling masks
253253

254-
static constexpr Float_t MODULEWALLTHICKNESS = 0.33; // wall thickness (cm) (nofe: 0.3 as in AliTOFGeometry?)
255-
static constexpr Float_t INTERCENTRMODBORDER1 = 49.5; // 1st distance of
254+
static constexpr double MODULEWALLTHICKNESS = 0.33; // wall thickness (cm) (nofe: 0.3 as in AliTOFGeometry?)
255+
static constexpr double INTERCENTRMODBORDER1 = 49.5; // 1st distance of
256256
// border between
257257
// central and
258258
// intermediate
259259
// modules respect to
260260
// the central module
261261
// centre (cm)
262-
static constexpr Float_t INTERCENTRMODBORDER2 = 57.5; // 2nd distance of
262+
static constexpr double INTERCENTRMODBORDER2 = 57.5; // 2nd distance of
263263
// border between the
264264
// central and
265265
// intermediate
266266
// modules respect to
267267
// the central module
268268
// centre (cm)
269-
static constexpr Float_t EXTERINTERMODBORDER1 = 196.0; // 1st distance of
269+
static constexpr double EXTERINTERMODBORDER1 = 196.0; // 1st distance of
270270
// border between the
271271
// intermediate and
272272
// external modules
273273
// respect to the
274274
// central module
275275
// centre (cm)
276-
static constexpr Float_t EXTERINTERMODBORDER2 = 203.5; // 2nd distance of
276+
static constexpr double EXTERINTERMODBORDER2 = 203.5; // 2nd distance of
277277
// border between the
278278
// intermediate and
279279
// external
280280
// modules respect to
281281
// the central module
282282
// centre (cm)
283-
static constexpr Float_t LENGTHINCEMODBORDERU = 5.0; // height of upper border
283+
static constexpr double LENGTHINCEMODBORDERU = 5.0; // height of upper border
284284
// between the central
285285
// and intermediate
286286
// modules (cm)
287-
static constexpr Float_t LENGTHINCEMODBORDERD = 7.0; // height of lower border
287+
static constexpr double LENGTHINCEMODBORDERD = 7.0; // height of lower border
288288
// between the central
289289
// and intermediate
290290
// modules (cm)
291-
static constexpr Float_t LENGTHEXINMODBORDER = 5.0; // height of border
291+
static constexpr double LENGTHEXINMODBORDER = 5.0; // height of border
292292
// between the
293293
// intermediate and
294294
// external modules
295295
// (cm)
296-
static constexpr Float_t MODULECOVERTHICKNESS = 2.0; // thickness of cover
296+
static constexpr double MODULECOVERTHICKNESS = 2.0; // thickness of cover
297297
// modules zone (cm)
298-
static constexpr Float_t FEAWIDTH1 = 19.0; // mother volume width of each of
299-
// two external FEA in a
300-
// supermodule (cm)
301-
static constexpr Float_t FEAWIDTH2 = 39.5; // mother volume width of two
302-
// internal FEA in a supermodule
303-
// (cm)
304-
static constexpr Float_t SAWTHICKNESS = 1.0; // services alluminium wall
305-
// thickness (cm)
306-
static constexpr Float_t CBLW = 13.5; // cables&tubes block width (cm)
307-
static constexpr Float_t CBLH1 = 2.0; // min. height of cables&tubes block
308-
// (cm)
309-
static constexpr Float_t CBLH2 = 12.3; // max. height of cables&tubes block
310-
// (cm)
311-
static constexpr Float_t BETWEENLANDMASK = 0.1; // distance between the L
298+
static constexpr double FEAWIDTH1 = 19.0; // mother volume width of each of
299+
// two external FEA in a
300+
// supermodule (cm)
301+
static constexpr double FEAWIDTH2 = 39.5; // mother volume width of two
302+
// internal FEA in a supermodule
303+
// (cm)
304+
static constexpr double SAWTHICKNESS = 1.0; // services alluminium wall
305+
// thickness (cm)
306+
static constexpr double CBLW = 13.5; // cables&tubes block width (cm)
307+
static constexpr double CBLH1 = 2.0; // min. height of cables&tubes block
308+
// (cm)
309+
static constexpr double CBLH2 = 12.3; // max. height of cables&tubes block
310+
// (cm)
311+
static constexpr double BETWEENLANDMASK = 0.1; // distance between the L
312312
// element and the Nino
313313
// mask (cm)
314-
static constexpr Float_t AL1PARAMETERS[3] = {static_cast<Float_t>(FEAWIDTH1 * 0.5), 0.4, 0.2}; // (cm)
315-
static constexpr Float_t AL2PARAMETERS[3] = {7.25, 0.75, 0.25}; // (cm)
316-
static constexpr Float_t AL3PARAMETERS[3] = {3., 4., 0.1}; // (cm)
317-
static constexpr Float_t ROOF1PARAMETERS[3] = {AL1PARAMETERS[0], AL1PARAMETERS[2], 1.45}; // (cm)
318-
static constexpr Float_t ROOF2PARAMETERS[3] = {AL3PARAMETERS[0], 0.1, 1.15}; // (cm)
319-
static constexpr Float_t FEAPARAMETERS[3] = {static_cast<Float_t>(FEAWIDTH1 * 0.5), 5.6, 0.1}; // (cm)
320-
static constexpr Float_t BAR[3] = {8.575, 0.6, 0.25}; // (cm)
321-
static constexpr Float_t BAR1[3] = {BAR[0], BAR[1], 0.1}; // (cm)
322-
static constexpr Float_t BAR2[3] = {BAR[0], 0.1, static_cast<Float_t>(BAR[1] - 2. * BAR1[2])}; // (cm)
323-
static constexpr Float_t BARS[3] = {2., BAR[1], BAR[2]}; // (cm)
324-
static constexpr Float_t BARS1[3] = {BARS[0], BAR1[1], BAR1[2]}; // (cm)
325-
static constexpr Float_t BARS2[3] = {BARS[0], BAR2[1], BAR2[2]}; // (cm)
326-
327-
static constexpr Float_t HHONY = 1.0; // height of HONY Layer
328-
static constexpr Float_t HPCBY = 0.08; // height of PCB Layer
329-
static constexpr Float_t HRGLY = 0.055; // height of RED GLASS Layer
330-
static constexpr Float_t HFILIY = 0.125; // height of FISHLINE Layer
331-
static constexpr Float_t HGLASSY = 0.160 * 0.5; // semi-height of GLASS Layer
332-
static constexpr Float_t HCPCBY = 0.16; // height of PCB Central Layer
333-
static constexpr Float_t WHONZ = 8.1; // z dimension of HONEY Layer
334-
static constexpr Float_t WPCBZ1 = 10.64; // z dimension of PCB Lower Layer
335-
static constexpr Float_t WPCBZ2 = 11.6; // z dimension of PCB Upper Layer
336-
static constexpr Float_t WCPCBZ = 12.4; // z dimension of PCB Central Layer
337-
static constexpr Float_t WRGLZ = 8.; // z dimension of RED GLASS Layer
338-
static constexpr Float_t WGLFZ = 7.; // z dimension of GLASS Layer
339-
static constexpr Float_t HSENSMY = 0.0105; // height of Sensitive Layer
314+
static constexpr double AL1PARAMETERS[3] = {(FEAWIDTH1 * 0.5), 0.4, 0.2}; // (cm)
315+
static constexpr double AL2PARAMETERS[3] = {7.25, 0.75, 0.25}; // (cm)
316+
static constexpr double AL3PARAMETERS[3] = {3., 4., 0.1}; // (cm)
317+
static constexpr double ROOF1PARAMETERS[3] = {AL1PARAMETERS[0], AL1PARAMETERS[2], 1.45}; // (cm)
318+
static constexpr double ROOF2PARAMETERS[3] = {AL3PARAMETERS[0], 0.1, 1.15}; // (cm)
319+
static constexpr double FEAPARAMETERS[3] = {(FEAWIDTH1 * 0.5), 5.6, 0.1}; // (cm)
320+
static constexpr double BAR[3] = {8.575, 0.6, 0.25}; // (cm)
321+
static constexpr double BAR1[3] = {BAR[0], BAR[1], 0.1}; // (cm)
322+
static constexpr double BAR2[3] = {BAR[0], 0.1, (BAR[1] - 2. * BAR1[2])}; // (cm)
323+
static constexpr double BARS[3] = {2., BAR[1], BAR[2]}; // (cm)
324+
static constexpr double BARS1[3] = {BARS[0], BAR1[1], BAR1[2]}; // (cm)
325+
static constexpr double BARS2[3] = {BARS[0], BAR2[1], BAR2[2]}; // (cm)
326+
327+
static constexpr double HHONY = 1.0; // height of HONY Layer
328+
static constexpr double HPCBY = 0.08; // height of PCB Layer
329+
static constexpr double HRGLY = 0.055; // height of RED GLASS Layer
330+
static constexpr double HFILIY = 0.125; // height of FISHLINE Layer
331+
static constexpr double HGLASSY = 0.160 * 0.5; // semi-height of GLASS Layer
332+
static constexpr double HCPCBY = 0.16; // height of PCB Central Layer
333+
static constexpr double WHONZ = 8.1; // z dimension of HONEY Layer
334+
static constexpr double WPCBZ1 = 10.64; // z dimension of PCB Lower Layer
335+
static constexpr double WPCBZ2 = 11.6; // z dimension of PCB Upper Layer
336+
static constexpr double WCPCBZ = 12.4; // z dimension of PCB Central Layer
337+
static constexpr double WRGLZ = 8.; // z dimension of RED GLASS Layer
338+
static constexpr double WGLFZ = 7.; // z dimension of GLASS Layer
339+
static constexpr double HSENSMY = 0.0105; // height of Sensitive Layer
340340

341341
static Float_t getCableLength(Int_t icrate, Int_t islot, Int_t ichain, Int_t itdc) { return CABLELENGTH[icrate][islot - 3][ichain][itdc / 3]; }
342342
static Float_t getCableTimeShift(Int_t icrate, Int_t islot, Int_t ichain, Int_t itdc) { return getCableLength(icrate, islot, ichain, itdc) * CABLEPROPAGATIONDELAY; }
@@ -377,15 +377,15 @@ class Geo
377377
static Float_t mRotationMatrixSector[NSECTORS + 1][3][3]; // rotation matrixes
378378
static Float_t mRotationMatrixPlateStrip[NSECTORS][NPLATES][NMAXNSTRIP][3][3];
379379
static Float_t mPadPosition[NSECTORS][NPLATES][NMAXNSTRIP][NPADZ][NPADX][3];
380-
static Float_t mGeoDistances[NSECTORS][NPLATES][NMAXNSTRIP];
381-
static Float_t mGeoHeights[NSECTORS][NPLATES][NMAXNSTRIP];
382-
static Float_t mGeoX[NSECTORS][NPLATES][NMAXNSTRIP];
380+
static double mGeoDistances[NSECTORS][NPLATES][NMAXNSTRIP];
381+
static double mGeoHeights[NSECTORS][NPLATES][NMAXNSTRIP];
382+
static double mGeoX[NSECTORS][NPLATES][NMAXNSTRIP];
383383
static Int_t mPlate[NSTRIPXSECTOR];
384384
static Int_t mStripInPlate[NSTRIPXSECTOR];
385385
static std::array<std::vector<float>, 5> mDistances[NSECTORS];
386386

387387
// cable length map
388-
static constexpr Float_t CABLEPROPAGATIONDELAY = 0.0513; // Propagation delay [ns/cm]
388+
static constexpr double CABLEPROPAGATIONDELAY = 0.0513; // Propagation delay [ns/cm]
389389
static const Float_t CABLELENGTH[kNCrate][10][kNChain][kNTdc / 3]; // not constexpr as we initialize it in CableLength.cxx at run time
390390
static const Int_t CHAN_TO_ELCHAN[NCHANNELS];
391391
static const Int_t ELCHAN_TO_CHAN[N_ELECTRONIC_CHANNELS];

0 commit comments

Comments
 (0)