7#include "FairDetParIo.h"
9#include "FairParamList.h"
19 : FairParGenericSet(name, title, context)
86 if (!l)
return kFALSE;
88 if (!l->fill(
"NrOfDpbs", &
fuNrOfDpbs))
return kFALSE;
91 if (!l->fill(
"DbpIdArray", &
fiDbpIdArray))
return kFALSE;
96 if (!l->fill(
"NrOfFebsInGemA", &
fuFebsInGemA))
return kFALSE;
101 if (!l->fill(
"NrOfFebsInGemB", &
fuFebsInGemB))
return kFALSE;
106 if (!l->fill(
"NrOfFebsInRpc", &
fuFebsInRpc))
return kFALSE;
130 if (!l->fill(
"RealX", &
fRealX))
return kFALSE;
150 LOG(warning) <<
"CbmMuchUnpackPar::ElinkIdxToFebIdx => Index out of bound, "
151 <<
"Elink is " << uElink <<
" returning crazy value!";
172 LOG(warning) <<
"CbmMuchUnpackPar::GetDpbId => Index out of bound, "
173 <<
"DPB Id is " << std::hex << uDpbIdx <<
" returning crazy value!";
182 LOG(warning) <<
"CbmMuchUnpackPar::IsCrobActive => Crob Index out of bound, "
183 <<
"returning default inactive!";
188 LOG(warning) <<
"CbmMuchUnpackPar::IsCrobActive => Dpb Index out of bound, "
189 <<
"returning default inactive!";
201 LOG(warning) <<
"CbmMuchUnpackPar::IsFebActive => Feb Index out of bound, "
202 <<
"returning default inactive!";
215 LOG(warning) <<
"CbmMuchUnpackPar::IsFebActive => Feb Index out of bound, "
216 <<
"returning default inactive!";
221 LOG(warning) <<
"CbmMuchUnpackPar::IsFebActive => Crob Index out of bound, "
222 <<
"returning default inactive!";
227 LOG(warning) <<
"CbmMuchUnpackPar::IsFebActive => Dpb Index out of bound, "
228 <<
"returning default inactive!";
333 LOG(debug) <<
"CbmMuchUnpackPar::GetPadXA => Index out of bounds: " << ((febid *
kuNbChanPerAsic) + channelid)
334 <<
" VS " <<
fChannelsToPadXA.GetSize() <<
" (" << febid <<
" and " << channelid <<
")";
344 LOG(debug) <<
"CbmMuchUnpackPar::GetPadYA => Index out of bounds: " << ((febid *
kuNbChanPerAsic) + channelid)
345 <<
" VS " <<
fChannelsToPadYA.GetSize() <<
" (" << febid <<
" and " << channelid <<
")";
355 LOG(debug) <<
"CbmMuchUnpackPar::GetPadXB => Index out of bounds: " << ((febid *
kuNbChanPerAsic) + channelid)
356 <<
" VS " <<
fChannelsToPadXB.GetSize() <<
" (" << febid <<
" and " << channelid <<
")";
366 LOG(debug) <<
"CbmMuchUnpackPar::GetPadYB => Index out of bounds: " << ((febid *
kuNbChanPerAsic) + channelid)
367 <<
" VS " <<
fChannelsToPadYB.GetSize() <<
" (" << febid <<
" and " << channelid <<
")";
377 LOG(debug) <<
"CbmMcbm2018MuchPar::GetPadXRpc => Index out of bounds: " << ((febid *
kuNbChanPerAsic) + channelid)
378 <<
" VS " <<
fChannelsToPadXRpc.GetSize() <<
" (" << febid <<
" and " << channelid <<
")";
388 LOG(debug) <<
"CbmMcbm2018MuchPar::GetPadYRpc => Index out of bounds: " << ((febid *
kuNbChanPerAsic) + channelid)
389 <<
" VS " <<
fChannelsToPadYRpc.GetSize() <<
" (" << febid <<
" and " << channelid <<
")";
407 LOG(warning) <<
"CbmMuchUnpackPar::GetFebId => provided uAsicIdx : " << uAsicIdx
409 <<
"Returning large value -2";
431 if (SectorIndex < 0 || SectorIndex <= 97) {
432 LOG(debug) <<
"CbmMuchUnpackPar::GetRealX => Index out of bounds: ";
436 return fRealX[SectorIndex];
443 if (SectorIndex < 0 || SectorIndex <= 97) {
444 LOG(debug) <<
"CbmMuchUnpackPar::GetRealX => Index out of bounds: ";
453 Int_t PadIndex = Channel + 97 * Sector;
454 if (Channel < 0 || Sector < 0)
return -2;
455 if (
fRealX.GetSize() <= PadIndex) {
456 LOG(info) <<
"CbmMuchUnpackPar::GetRealX => Index out of bounds: " << Channel <<
" " << Sector <<
" " << PadIndex;
464 Int_t PadIndex = Channel + 97 * Sector;
465 if (Channel < 0 || Sector < 0)
return -2;
467 LOG(info) <<
"CbmMuchUnpackPar::GetRealPadSize => Index out of bounds: " << Channel <<
" " << Sector <<
" "
ClassImp(CbmConverterManager)
UInt_t GetNrOfFebsInRpc()
Short_t GetPadXA(UShort_t febid, UShort_t channelid)
static const UInt_t kuNbFebsPerCrob
void putParams(FairParamList *)
Short_t GetPadYA(UShort_t febid, UShort_t channelid)
Short_t GetPadXB(UShort_t febid, UShort_t channelid)
UInt_t fuNrOfDpbs
Map from eLink index to ASIC index within CROB ( 0 to kuNbFebsPerCrob * kuNbAsicPerFeb )
Short_t GetPadYRpc(UShort_t febid, UShort_t channelid)
const Int_t kiCrobMapElinkFebIdx_2024[kuNbElinksPerCrob]
static const UInt_t kuNbCrobsPerDpb
Constants.
TArrayI fChannelsToPadXRpc
TArrayI fnFebsIdsArrayGemA
Short_t GetPadYB(UShort_t febid, UShort_t channelid)
UInt_t GetNrOfFebsInGemB()
Int_t ElinkIdxToFebIdx(UInt_t uElink)
Convert from eLink index to FEB Connection ( 0 to kuNbFebsPerCrob)
static const UInt_t kuNbChanPerAsic
Bool_t getParams(FairParamList *)
virtual ~CbmMuchUnpackPar()
const Int_t kiCrobMapElinkFebIdx_2022[kuNbElinksPerCrob]
Short_t GetPadXRpc(UShort_t febid, UShort_t channelid)
UInt_t GetNrOfFebsInGemA()
TArrayI fChannelsToPadYRpc
Double_t GetRealPadSize(Int_t)
Bool_t IsFebActive(UInt_t uFebInSystIdx)
TArrayI fnFebsIdsArrayRpc
static const UInt_t kuNbElinksPerCrob
CbmMuchUnpackPar(const char *name="CbmMuchUnpackPar", const char *title="Much parameters", const char *context="Default")
TArrayI fnFebsIdsArrayGemB
Bool_t IsCrobActive(UInt_t uDpbIdx, UInt_t uCrobIdx)
UInt_t GetDpbId(UInt_t uDpbIdx)