CbmRoot
CbmMcbm2018StsPar.cxx
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- CbmMcbm2018StsPar source file -----
3 // ----- Created 25/07/17 by P.-A. Loizeau -----
4 // -------------------------------------------------------------------------
5 
6 #include "CbmMcbm2018StsPar.h"
7 
8 #include "FairDetParIo.h"
9 #include "FairLogger.h"
10 #include "FairParIo.h"
11 #include "FairParamList.h"
12 
13 #include "TMath.h"
14 #include "TString.h"
15 
16 using namespace std;
17 
20  TMath::Tan(kdStereoAngle * TMath::DegToRad());
21 
22 // ----- Standard constructor ------------------------------------------
24  const char* title,
25  const char* context)
26  : FairParGenericSet(name, title, context)
27  , fuNbModules(0)
28  , fiModuleType()
29  , fiModAddress()
30  , fdModCenterPosX()
31  , fdModCenterPosY()
32  , fuNrOfDpbs(0)
33  , fiDbpIdArray()
34  , fiCrobActiveFlag()
35  , fiFebModuleIdx()
36  , fiFebModuleSide()
37  , fdFebAdcGain()
38  , fdFebAdcBase()
39  , fdFebAdcThrGain()
40  , fiFebAdcThrOffs() {
41  detName = "Sts";
42 }
43 // -------------------------------------------------------------------------
44 
45 
46 // ----- Destructor ----------------------------------------------------
48 // -------------------------------------------------------------------------
49 
50 
51 // ----- Public method clear -------------------------------------------
53  status = kFALSE;
54  resetInputVersions();
55 }
56 // -------------------------------------------------------------------------
57 
58 // -------------------------------------------------------------------------
59 
60 void CbmMcbm2018StsPar::putParams(FairParamList* l) {
61  if (!l) return;
62 
63  l->add("NbModules", fuNbModules);
64  l->add("ModuleType", fiModuleType);
65  l->add("ModAddress", fiModAddress);
66  l->add("ModCenterPosX", fdModCenterPosX);
67  l->add("ModCenterPosY", fdModCenterPosY);
68  l->add("NrOfDpbs", fuNrOfDpbs);
69  l->add("DbpIdArray", fiDbpIdArray);
70  l->add("CrobActiveFlag", fiCrobActiveFlag);
71 
72  l->add("FebModuleIdx", fiFebModuleIdx);
73  l->add("FebModuleSide", fiFebModuleSide);
74  l->add("FebAdcGain", fdFebAdcGain);
75  l->add("FebAdcBase", fdFebAdcBase);
76  l->add("FebAdcThrGain", fdFebAdcThrGain);
77  l->add("FebAdcThrOffs", fiFebAdcThrOffs);
78 }
79 
80 // -------------------------------------------------------------------------
81 
82 Bool_t CbmMcbm2018StsPar::getParams(FairParamList* l) {
83 
84  if (!l) return kFALSE;
85 
86  if (!l->fill("NbModules", &fuNbModules)) return kFALSE;
87 
92  if (!l->fill("ModuleType", &fiModuleType)) return kFALSE;
93  if (!l->fill("ModAddress", &fiModAddress)) return kFALSE;
94  if (!l->fill("ModCenterPosX", &fdModCenterPosX)) return kFALSE;
95  if (!l->fill("ModCenterPosY", &fdModCenterPosY)) return kFALSE;
96 
97  if (!l->fill("NrOfDpbs", &fuNrOfDpbs)) return kFALSE;
98 
100  if (!l->fill("DbpIdArray", &fiDbpIdArray)) return kFALSE;
101 
103  if (!l->fill("CrobActiveFlag", &fiCrobActiveFlag)) return kFALSE;
104 
111  if (!l->fill("FebModuleIdx", &fiFebModuleIdx)) return kFALSE;
112  if (!l->fill("FebModuleSide", &fiFebModuleSide)) return kFALSE;
113  if (!l->fill("FebAdcGain", &fdFebAdcGain)) return kFALSE;
114  if (!l->fill("FebAdcBase", &fdFebAdcBase)) return kFALSE;
115  if (!l->fill("FebAdcThrGain", &fdFebAdcThrGain)) return kFALSE;
116  if (!l->fill("FebAdcThrOffs", &fiFebAdcThrOffs)) return kFALSE;
117  /*
118  LOG(info) << "CbmMcbm2018StsPar::getParams => Values " << "\n"
119  << fuNbModules << "\n"
120  << fuNrOfDpbs;
121 */
122  return kTRUE;
123 }
124 // -------------------------------------------------------------------------
126  if (uElink < kuNbElinksPerCrob)
127  return kiCrobMapElinkFebIdx[uElink];
128  else {
129  LOG(warning)
130  << "CbmMcbm2018StsPar::ElinkIdxToFebIdx => Index out of bound, "
131  << "returning crazy value!";
132  return -1;
133  } // else of if( uElink < kuNbElinksPerCrob )
134 }
135 // -------------------------------------------------------------------------
137  if (uElink < kuNbElinksPerCrob)
138  return kuCrobMapElinkFebA[uElink];
139  else {
140  LOG(warning)
141  << "CbmMcbm2018StsPar::ElinkIdxToAsicIdxFebA => Index out of bound, "
142  << "returning crazy value!";
143  return 0xFFFF;
144  } // else of if( uElink < kuNbElinksPerCrob )
145 }
147  if (uElink < kuNbElinksPerCrob)
148  return kuCrobMapElinkFebB[uElink];
149  else {
150  LOG(warning)
151  << "CbmMcbm2018StsPar::ElinkIdxToAsicIdxFebB => Index out of bound, "
152  << "returning crazy value!";
153  return 0xFFFF;
154  } // else of if( uElink < kuNbElinksPerCrob )
155 }
156 // -------------------------------------------------------------------------
157 Bool_t CbmMcbm2018StsPar::CheckModuleIndex(UInt_t uModuleIdx) {
158  if (uModuleIdx < fuNbModules)
159  return kTRUE;
160  else {
161  LOG(warning)
162  << "CbmMcbm2018StsPar::CheckModuleIndex => Index out of bound!";
163  return kFALSE;
164  } // else of if( uModuleIdx < fuNbModules )
165 }
166 UInt_t CbmMcbm2018StsPar::GetModuleType(UInt_t uModuleIdx) {
167  if (uModuleIdx < fuNbModules)
168  return fiModuleType[uModuleIdx];
169  else {
170  LOG(warning) << "CbmMcbm2018StsPar::GetModuleType => Index out of bound, "
171  << "returning crazy value!";
172  return 0xFFFFFFFF;
173  } // else of if( uModuleIdx < fuNbModules )
174 }
175 UInt_t CbmMcbm2018StsPar::GetModuleAddress(UInt_t uModuleIdx) {
176  if (uModuleIdx < fuNbModules)
177  return fiModAddress[uModuleIdx];
178  else {
179  LOG(warning)
180  << "CbmMcbm2018StsPar::GetModuleAddress => Index out of bound, "
181  << "returning crazy value!";
182  return 0xFFFFFFFF;
183  } // else of if( uModuleIdx < fuNbModules )
184 }
185 Double_t CbmMcbm2018StsPar::GetModuleCenterPosX(UInt_t uModuleIdx) {
186  if (uModuleIdx < fuNbModules)
187  return fdModCenterPosX[uModuleIdx];
188  else {
189  LOG(warning)
190  << "CbmMcbm2018StsPar::GetModuleCenterPosX => Index out of bound, "
191  << "returning crazy value!";
192  return 3.844e11; // Fly to the Moon!
193  } // else of if( uModuleIdx < fuNbModules )
194 }
195 Double_t CbmMcbm2018StsPar::GetModuleCenterPosY(UInt_t uModuleIdx) {
196  if (uModuleIdx < fuNbModules)
197  return fdModCenterPosY[uModuleIdx];
198  else {
199  LOG(warning)
200  << "CbmMcbm2018StsPar::GetModuleCenterPosY => Index out of bound, "
201  << "returning crazy value!";
202  return 3.844e11; // Fly to the Moon!
203  } // else of if( uModuleIdx < fuNbModules )
204 }
205 // -------------------------------------------------------------------------
206 UInt_t CbmMcbm2018StsPar::GetDpbId(UInt_t uDpbIdx) {
207  if (uDpbIdx < fuNrOfDpbs)
208  return fiDbpIdArray[uDpbIdx];
209  else {
210  LOG(warning) << "CbmMcbm2018StsPar::GetDpbId => Index out of bound, "
211  << "returning crazy value!";
212  return 0xFFFFFFFF;
213  } // else of if( uDpbIdx < fuNrOfDpbs )
214 }
215 Bool_t CbmMcbm2018StsPar::IsCrobActive(UInt_t uDpbIdx, UInt_t uCrobIdx) {
216  if (uDpbIdx < fuNrOfDpbs) {
217  if (uCrobIdx < kuNbCrobsPerDpb)
218  return 0 < fiCrobActiveFlag[uDpbIdx * kuNbCrobsPerDpb + uCrobIdx]
219  ? kTRUE
220  : kFALSE;
221  else {
222  LOG(warning)
223  << "CbmMcbm2018StsPar::IsCrobActive => Crob Index out of bound, "
224  << "returning default inactive!";
225  return kFALSE;
226  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
227  } // if( uDpbIdx < fuNrOfDpbs )
228  else {
229  LOG(warning)
230  << "CbmMcbm2018StsPar::IsCrobActive => Dpb Index out of bound, "
231  << "returning default inactive!";
232  return kFALSE;
233  } // else of if( uDpbIdx < fuNrOfDpbs )
234 }
235 Bool_t CbmMcbm2018StsPar::IsFebActive(UInt_t uFebInSystIdx) {
236 
237  if (uFebInSystIdx < GetNrOfFebs()) {
238  return (-1 == fiFebModuleIdx[uFebInSystIdx] ? kFALSE : kTRUE);
239  } // if( uFebInSystIdx < GetNrOfFebs() )
240  else {
241  LOG(warning) << "CbmMcbm2018StsPar::IsFebActive => Feb Index out of bound, "
242  << "returning default inactive!";
243  return kFALSE;
244  } // else of if( uFebInSystIdx < GetNrOfFebs() )
245 }
246 Bool_t CbmMcbm2018StsPar::IsFebActive(UInt_t uDpbIdx,
247  UInt_t uCrobIdx,
248  UInt_t uFebIdx) {
249  if (uDpbIdx < fuNrOfDpbs) {
250  if (uCrobIdx < kuNbCrobsPerDpb) {
251  if (uFebIdx < kuNbFebsPerCrob) {
252  UInt_t uIdx =
253  (uDpbIdx * kuNbCrobsPerDpb + uCrobIdx) * kuNbFebsPerCrob + uFebIdx;
254  return IsFebActive(uIdx);
255  } // if( uFebIdx < kuNbFebsPerCrob )
256  else {
257  LOG(warning)
258  << "CbmMcbm2018StsPar::IsFebActive => Feb Index out of bound, "
259  << "returning default inactive!";
260  return kFALSE;
261  } // else of if( uFebIdx < kuNbCrobsPerDpb )
262  } // if( uCrobIdx < kuNbCrobsPerDpb )
263  else {
264  LOG(warning)
265  << "CbmMcbm2018StsPar::IsFebActive => Crob Index out of bound, "
266  << "returning default inactive!";
267  return kFALSE;
268  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
269  } // if( uDpbIdx < fuNrOfDpbs )
270  else {
271  LOG(warning) << "CbmMcbm2018StsPar::IsFebActive => Dpb Index out of bound, "
272  << "returning default inactive!";
273  return kFALSE;
274  } // else of if( uDpbIdx < fuNrOfDpbs )
275 }
277  UInt_t uCrobIdx,
278  UInt_t uFebIdx) {
279  if (uDpbIdx < fuNrOfDpbs) {
280  if (uCrobIdx < kuNbCrobsPerDpb) {
281  if (uFebIdx < kuNbFebsPerCrob) {
282  UInt_t uIdx =
283  (uDpbIdx * kuNbCrobsPerDpb + uCrobIdx) * kuNbFebsPerCrob + uFebIdx;
284  return fiFebModuleIdx[uIdx];
285  } // if( uFebIdx < kuNbFebsPerCrob )
286  else {
287  LOG(warning)
288  << "CbmMcbm2018StsPar::GetFebModuleIdx => Feb Index out of bound, "
289  << "returning default inactive!";
290  return -1;
291  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
292  } // if( uCrobIdx < kuNbCrobsPerDpb )
293  else {
294  LOG(warning)
295  << "CbmMcbm2018StsPar::GetFebModuleIdx => Crob Index out of bound, "
296  << "returning default inactive!";
297  return -1;
298  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
299  } // if( uDpbIdx < fuNrOfDpbs )
300  else {
301  LOG(warning)
302  << "CbmMcbm2018StsPar::GetFebModuleIdx => Dpb Index out of bound, "
303  << "returning default inactive!";
304  return -1;
305  } // else of if( uDpbIdx < fuNrOfDpbs )
306 }
308  UInt_t uCrobIdx,
309  UInt_t uFebIdx) {
310  if (uDpbIdx < fuNrOfDpbs) {
311  if (uCrobIdx < kuNbCrobsPerDpb) {
312  if (uFebIdx < kuNbFebsPerCrob) {
313  UInt_t uIdx =
314  (uDpbIdx * kuNbCrobsPerDpb + uCrobIdx) * kuNbFebsPerCrob + uFebIdx;
315  return fiFebModuleSide[uIdx];
316  } // if( uFebIdx < kuNbFebsPerCrob )
317  else {
318  LOG(warning)
319  << "CbmMcbm2018StsPar::GetFebModuleSide => Feb Index out of bound, "
320  << "returning default inactive!";
321  return -1;
322  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
323  } // if( uCrobIdx < kuNbCrobsPerDpb )
324  else {
325  LOG(warning)
326  << "CbmMcbm2018StsPar::GetFebModuleSide => Crob Index out of bound, "
327  << "returning default inactive!";
328  return -1;
329  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
330  } // if( uDpbIdx < fuNrOfDpbs )
331  else {
332  LOG(warning)
333  << "CbmMcbm2018StsPar::GetFebModuleSide => Dpb Index out of bound, "
334  << "returning default inactive!";
335  return -1;
336  } // else of if( uDpbIdx < fuNrOfDpbs )
337 }
338 Double_t CbmMcbm2018StsPar::GetFebAdcGain(UInt_t uDpbIdx,
339  UInt_t uCrobIdx,
340  UInt_t uFebIdx) {
341  if (uDpbIdx < fuNrOfDpbs) {
342  if (uCrobIdx < kuNbCrobsPerDpb) {
343  if (uFebIdx < kuNbFebsPerCrob) {
344  UInt_t uIdx =
345  (uDpbIdx * kuNbCrobsPerDpb + uCrobIdx) * kuNbFebsPerCrob + uFebIdx;
346  return fdFebAdcGain[uIdx];
347  } // if( uFebIdx < kuNbFebsPerCrob )
348  else {
349  LOG(warning)
350  << "CbmMcbm2018StsPar::GetFebAdcGain => Feb Index out of bound, "
351  << "returning default value!";
352  return 0.0;
353  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
354  } // if( uCrobIdx < kuNbCrobsPerDpb )
355  else {
356  LOG(warning)
357  << "CbmMcbm2018StsPar::GetFebAdcGain => Crob Index out of bound, "
358  << "returning default value!";
359  return 0.0;
360  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
361  } // if( uDpbIdx < fuNrOfDpbs )
362  else {
363  LOG(warning)
364  << "CbmMcbm2018StsPar::GetFebAdcGain => Dpb Index out of bound, "
365  << "returning default value!";
366  return 0.0;
367  } // else of if( uDpbIdx < fuNrOfDpbs )
368 }
369 Double_t CbmMcbm2018StsPar::GetFebAdcOffset(UInt_t uDpbIdx,
370  UInt_t uCrobIdx,
371  UInt_t uFebIdx) {
372  if (uDpbIdx < fuNrOfDpbs) {
373  if (uCrobIdx < kuNbCrobsPerDpb) {
374  if (uFebIdx < kuNbFebsPerCrob) {
375  UInt_t uIdx =
376  (uDpbIdx * kuNbCrobsPerDpb + uCrobIdx) * kuNbFebsPerCrob + uFebIdx;
377  return (fdFebAdcBase[uIdx]
378  + fdFebAdcThrGain[uIdx] * fiFebAdcThrOffs[uIdx]);
379  } // if( uFebIdx < kuNbFebsPerCrob )
380  else {
381  LOG(warning)
382  << "CbmMcbm2018StsPar::GetFebAdcOffset => Feb Index out of bound, "
383  << "returning default value!";
384  return 0.0;
385  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
386  } // if( uCrobIdx < kuNbCrobsPerDpb )
387  else {
388  LOG(warning)
389  << "CbmMcbm2018StsPar::GetFebAdcOffset => Crob Index out of bound, "
390  << "returning default value!";
391  return 0.0;
392  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
393  } // if( uDpbIdx < fuNrOfDpbs )
394  else {
395  LOG(warning)
396  << "CbmMcbm2018StsPar::GetFebAdcOffset => Dpb Index out of bound, "
397  << "returning default value!";
398  return 0.0;
399  } // else of if( uDpbIdx < fuNrOfDpbs )
400 }
401 Double_t CbmMcbm2018StsPar::GetFebAdcBase(UInt_t uDpbIdx,
402  UInt_t uCrobIdx,
403  UInt_t uFebIdx) {
404  if (uDpbIdx < fuNrOfDpbs) {
405  if (uCrobIdx < kuNbCrobsPerDpb) {
406  if (uFebIdx < kuNbFebsPerCrob) {
407  UInt_t uIdx =
408  (uDpbIdx * kuNbCrobsPerDpb + uCrobIdx) * kuNbFebsPerCrob + uFebIdx;
409  return fdFebAdcBase[uIdx];
410  } // if( uFebIdx < kuNbFebsPerCrob )
411  else {
412  LOG(warning)
413  << "CbmMcbm2018StsPar::GetFebAdcBase => Feb Index out of bound, "
414  << "returning default value!";
415  return 0.0;
416  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
417  } // if( uCrobIdx < kuNbCrobsPerDpb )
418  else {
419  LOG(warning)
420  << "CbmMcbm2018StsPar::GetFebAdcBase => Crob Index out of bound, "
421  << "returning default value!";
422  return 0.0;
423  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
424  } // if( uDpbIdx < fuNrOfDpbs )
425  else {
426  LOG(warning)
427  << "CbmMcbm2018StsPar::GetFebAdcBase => Dpb Index out of bound, "
428  << "returning default value!";
429  return 0.0;
430  } // else of if( uDpbIdx < fuNrOfDpbs )
431 }
432 Double_t CbmMcbm2018StsPar::GetFebAdcThrGain(UInt_t uDpbIdx,
433  UInt_t uCrobIdx,
434  UInt_t uFebIdx) {
435  if (uDpbIdx < fuNrOfDpbs) {
436  if (uCrobIdx < kuNbCrobsPerDpb) {
437  if (uFebIdx < kuNbFebsPerCrob) {
438  UInt_t uIdx =
439  (uDpbIdx * kuNbCrobsPerDpb + uCrobIdx) * kuNbFebsPerCrob + uFebIdx;
440  return fdFebAdcThrGain[uIdx];
441  } // if( uFebIdx < kuNbFebsPerCrob )
442  else {
443  LOG(warning)
444  << "CbmMcbm2018StsPar::GetFebAdcThrGain => Feb Index out of bound, "
445  << "returning default value!";
446  return 0.0;
447  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
448  } // if( uCrobIdx < kuNbCrobsPerDpb )
449  else {
450  LOG(warning)
451  << "CbmMcbm2018StsPar::GetFebAdcThrGain => Crob Index out of bound, "
452  << "returning default value!";
453  return 0.0;
454  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
455  } // if( uDpbIdx < fuNrOfDpbs )
456  else {
457  LOG(warning)
458  << "CbmMcbm2018StsPar::GetFebAdcThrGain => Dpb Index out of bound, "
459  << "returning default value!";
460  return 0.0;
461  } // else of if( uDpbIdx < fuNrOfDpbs )
462 }
464  UInt_t uCrobIdx,
465  UInt_t uFebIdx) {
466  if (uDpbIdx < fuNrOfDpbs) {
467  if (uCrobIdx < kuNbCrobsPerDpb) {
468  if (uFebIdx < kuNbFebsPerCrob) {
469  UInt_t uIdx =
470  (uDpbIdx * kuNbCrobsPerDpb + uCrobIdx) * kuNbFebsPerCrob + uFebIdx;
471  return fiFebAdcThrOffs[uIdx];
472  } // if( uFebIdx < kuNbFebsPerCrob )
473  else {
474  LOG(warning)
475  << "CbmMcbm2018StsPar::GetFebAdcThrOffs => Feb Index out of bound, "
476  << "returning default value!";
477  return 0;
478  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
479  } // if( uCrobIdx < kuNbCrobsPerDpb )
480  else {
481  LOG(warning)
482  << "CbmMcbm2018StsPar::GetFebAdcThrOffs => Crob Index out of bound, "
483  << "returning default value!";
484  return 0;
485  } // else of if( uCrobIdx < kuNbCrobsPerDpb )
486  } // if( uDpbIdx < fuNrOfDpbs )
487  else {
488  LOG(warning)
489  << "CbmMcbm2018StsPar::GetFebAdcThrOffs => Dpb Index out of bound, "
490  << "returning default value!";
491  return 0;
492  } // else of if( uDpbIdx < fuNrOfDpbs )
493 }
494 // -------------------------------------------------------------------------
495 /*
496 Bool_t CbmMcbm2018StsPar::ComputeModuleCoordinates( UInt_t uModuleIdx, Int_t iChanN, Int_t iChanP, Double_t & dPosX, Double_t & dPosY )
497 {
498  if( kFALSE == CheckModuleIndex( uModuleIdx ) )
499  return kFALSE;
500 
501  dPosX = 0.0;
502  dPosY = 0.0;
503 
504  Int_t iCoordN = iChanN - kiCenterStripN;
505  Int_t iCoordP = iChanP - kiCenterStripP;
506 
507  dPosX = fdModCenterPosX[ uModuleIdx ] + kdCenterPosX + kdPitchMm * iCoordN;
508  dPosY = fdModCenterPosY[ uModuleIdx ] + kdCenterPosY - kdPitchMm * ( iCoordN - iCoordP ) / kdStereoAngleTan;
509 }
510 */
CbmMcbm2018StsPar::kuCrobMapElinkFebA
const UInt_t kuCrobMapElinkFebA[kuNbElinksPerCrob]
Definition: CbmMcbm2018StsPar.h:112
CbmMcbm2018StsPar::ElinkIdxToAsicIdxFebA
UInt_t ElinkIdxToAsicIdxFebA(UInt_t uElink)
Definition: CbmMcbm2018StsPar.cxx:136
CbmMcbm2018StsPar::GetModuleAddress
UInt_t GetModuleAddress(UInt_t uModuleIdx)
Definition: CbmMcbm2018StsPar.cxx:175
CbmMcbm2018StsPar::IsFebActive
Bool_t IsFebActive(UInt_t uFebInSystIdx)
Definition: CbmMcbm2018StsPar.cxx:235
CbmMcbm2018StsPar::GetFebAdcThrOffs
Int_t GetFebAdcThrOffs(UInt_t uDpbIdx, UInt_t uCrobIdx, UInt_t uFebIdx)
Definition: CbmMcbm2018StsPar.cxx:463
CbmMcbm2018StsPar::kuNbCrobsPerDpb
static const UInt_t kuNbCrobsPerDpb
Constants.
Definition: CbmMcbm2018StsPar.h:104
CbmMcbm2018StsPar::fiModuleType
TArrayI fiModuleType
Definition: CbmMcbm2018StsPar.h:156
CbmMcbm2018StsPar::GetFebModuleSide
Int_t GetFebModuleSide(UInt_t uDpbIdx, UInt_t uCrobIdx, UInt_t uFebIdx)
Definition: CbmMcbm2018StsPar.cxx:307
CbmMcbm2018StsPar::GetModuleType
UInt_t GetModuleType(UInt_t uModuleIdx)
Definition: CbmMcbm2018StsPar.cxx:166
CbmMcbm2018StsPar::ElinkIdxToAsicIdxFebB
UInt_t ElinkIdxToAsicIdxFebB(UInt_t uElink)
Definition: CbmMcbm2018StsPar.cxx:146
CbmMcbm2018StsPar::fdModCenterPosX
TArrayD fdModCenterPosX
Definition: CbmMcbm2018StsPar.h:159
CbmMcbm2018StsPar::fiModAddress
TArrayI fiModAddress
Definition: CbmMcbm2018StsPar.h:157
CbmMcbm2018StsPar::GetDpbId
UInt_t GetDpbId(UInt_t uDpbIdx)
Definition: CbmMcbm2018StsPar.cxx:206
CbmMcbm2018StsPar::fdModCenterPosY
TArrayD fdModCenterPosY
Definition: CbmMcbm2018StsPar.h:161
CbmMcbm2018StsPar::IsCrobActive
Bool_t IsCrobActive(UInt_t uDpbIdx, UInt_t uCrobIdx)
Definition: CbmMcbm2018StsPar.cxx:215
CbmMcbm2018StsPar::fdFebAdcBase
TArrayD fdFebAdcBase
Definition: CbmMcbm2018StsPar.h:175
CbmMcbm2018StsPar::fiFebModuleSide
TArrayI fiFebModuleSide
Definition: CbmMcbm2018StsPar.h:171
CbmMcbm2018StsPar::GetNrOfFebs
UInt_t GetNrOfFebs()
Definition: CbmMcbm2018StsPar.h:86
CbmMcbm2018StsPar::fdFebAdcThrGain
TArrayD fdFebAdcThrGain
Definition: CbmMcbm2018StsPar.h:177
CbmMcbm2018StsPar::GetFebAdcThrGain
Double_t GetFebAdcThrGain(UInt_t uDpbIdx, UInt_t uCrobIdx, UInt_t uFebIdx)
Definition: CbmMcbm2018StsPar.cxx:432
CbmMcbm2018StsPar::kiCrobMapElinkFebIdx
const Int_t kiCrobMapElinkFebIdx[kuNbElinksPerCrob]
Map from eLink index to ASIC index within CROB ( 0 to kuNbFebsPerCrob * kuNbAsicPerFeb )
Definition: CbmMcbm2018StsPar.h:131
CbmMcbm2018StsPar::GetFebAdcBase
Double_t GetFebAdcBase(UInt_t uDpbIdx, UInt_t uCrobIdx, UInt_t uFebIdx)
Definition: CbmMcbm2018StsPar.cxx:401
CbmMcbm2018StsPar::kuCrobMapElinkFebB
const UInt_t kuCrobMapElinkFebB[kuNbElinksPerCrob]
Map from eLink index to ASIC index within CROB ( 0 to kuNbFebsPerCrob * kuNbAsicPerFeb )
Definition: CbmMcbm2018StsPar.h:122
CbmMcbm2018StsPar::clear
virtual void clear()
Definition: CbmMcbm2018StsPar.cxx:52
CbmMcbm2018StsPar::~CbmMcbm2018StsPar
virtual ~CbmMcbm2018StsPar()
Definition: CbmMcbm2018StsPar.cxx:47
CbmMcbm2018StsPar::GetFebAdcOffset
Double_t GetFebAdcOffset(UInt_t uDpbIdx, UInt_t uCrobIdx, UInt_t uFebIdx)
Definition: CbmMcbm2018StsPar.cxx:369
CbmMcbm2018StsPar::fiFebAdcThrOffs
TArrayI fiFebAdcThrOffs
Definition: CbmMcbm2018StsPar.h:179
CbmMcbm2018StsPar::fdFebAdcGain
TArrayD fdFebAdcGain
Definition: CbmMcbm2018StsPar.h:173
CbmMcbm2018StsPar::kdStereoAngleTan
static const Double_t kdStereoAngleTan
Constants assignation.
Definition: CbmMcbm2018StsPar.h:143
ClassImp
ClassImp(CbmConverterManager) InitStatus CbmConverterManager
Definition: CbmConverterManager.cxx:12
CbmMcbm2018StsPar::GetModuleCenterPosX
Double_t GetModuleCenterPosX(UInt_t uModuleIdx)
Definition: CbmMcbm2018StsPar.cxx:185
CbmMcbm2018StsPar
Definition: CbmMcbm2018StsPar.h:18
CbmMcbm2018StsPar::GetFebModuleIdx
Int_t GetFebModuleIdx(UInt_t uDpbIdx, UInt_t uCrobIdx, UInt_t uFebIdx)
Definition: CbmMcbm2018StsPar.cxx:276
CbmMcbm2018StsPar::fiCrobActiveFlag
TArrayI fiCrobActiveFlag
Definition: CbmMcbm2018StsPar.h:167
CbmMcbm2018StsPar::GetFebAdcGain
Double_t GetFebAdcGain(UInt_t uDpbIdx, UInt_t uCrobIdx, UInt_t uFebIdx)
Definition: CbmMcbm2018StsPar.cxx:338
CbmMcbm2018StsPar::fuNrOfDpbs
UInt_t fuNrOfDpbs
Definition: CbmMcbm2018StsPar.h:163
CbmMcbm2018StsPar::getParams
Bool_t getParams(FairParamList *)
Definition: CbmMcbm2018StsPar.cxx:82
CbmMcbm2018StsPar::fiDbpIdArray
TArrayI fiDbpIdArray
Definition: CbmMcbm2018StsPar.h:165
CbmMcbm2018StsPar::CbmMcbm2018StsPar
CbmMcbm2018StsPar(const char *name="CbmMcbm2018StsPar", const char *title="Sts parameters", const char *context="Default")
Definition: CbmMcbm2018StsPar.cxx:23
CbmMcbm2018StsPar.h
CbmMcbm2018StsPar::CheckModuleIndex
Bool_t CheckModuleIndex(UInt_t uModuleIdx)
Definition: CbmMcbm2018StsPar.cxx:157
CbmMcbm2018StsPar::fiFebModuleIdx
TArrayI fiFebModuleIdx
Definition: CbmMcbm2018StsPar.h:169
CbmMcbm2018StsPar::ElinkIdxToFebIdx
Int_t ElinkIdxToFebIdx(UInt_t uElink)
Definition: CbmMcbm2018StsPar.cxx:125
CbmMcbm2018StsPar::GetModuleCenterPosY
Double_t GetModuleCenterPosY(UInt_t uModuleIdx)
Definition: CbmMcbm2018StsPar.cxx:195
CbmMcbm2018StsPar::kuNbFebsPerCrob
static const UInt_t kuNbFebsPerCrob
Definition: CbmMcbm2018StsPar.h:106
CbmMcbm2018StsPar::fuNbModules
UInt_t fuNbModules
Variables.
Definition: CbmMcbm2018StsPar.h:154
CbmMcbm2018StsPar::putParams
void putParams(FairParamList *)
Definition: CbmMcbm2018StsPar.cxx:60
CbmMcbm2018StsPar::kuNbElinksPerCrob
static const UInt_t kuNbElinksPerCrob
Definition: CbmMcbm2018StsPar.h:105