Go to the documentation of this file.
3 #include <FairParamList.h>
6 #include <TGenericClassInfo.h>
22 SetNameTitle(Form(
"FASP%d_%d", address / 1000, address % 1000),
28 UChar_t pairing)
const {
30 if (
id < 0)
return nullptr;
37 if (l->fill(Form(
"%dCHS",
fAddress), &value)) {
38 for (Int_t ich(0); ich <
NFASPCH; ich++) {
44 if (l->fill(Form(
"%dPUT",
fAddress), &value))
45 for (Int_t ich(0); ich <
NFASPCH; ich++)
46 fCalib[ich].fPileUpTime = value[ich];
47 if (l->fill(Form(
"%dTHR",
fAddress), &value))
48 for (Int_t ich(0); ich <
NFASPCH; ich++)
49 fCalib[ich].fThreshold = value[ich];
50 if (l->fill(Form(
"%dMDS",
fAddress), &value))
51 for (Int_t ich(0); ich <
NFASPCH; ich++)
52 fCalib[ich].fMinDelaySignal = value[ich];
57 Int_t offset = iAsic * (1 +
NFASPCH * 4);
60 for (Int_t ich(0); ich <
NFASPCH; ich++) {
65 for (Int_t ich(0); ich <
NFASPCH; ich++) {
68 for (Int_t ich(0); ich <
NFASPCH; ich++) {
71 for (Int_t ich(0); ich <
NFASPCH; ich++) {
86 if (ch < 0 || ch >=
NFASPCH)
return kFALSE;
103 for (Int_t ich(0); ich < TMath::Min((Int_t)
GetNchannels(),
122 , fMinDelaySignal(mds)
123 , fMinDelayParam(mdp) {}
127 printf(
"[%c]; CALIB { PUT[ns]=%3d FT[clk]=%2d THR[ADC]=%4d MDS[ADC]=%4d }\n",
static Double_t fgSizeX
FASP half size in x [cm].
Definition of ASIC parameters.
virtual void Print(Option_t *opt="") const
Bool_t HasPairing(Bool_t rect) const
Query pad pairing type.
CbmTrdParFaspChannel fCalib[NFASPCH]
calibration map for FASP channels
const CbmTrdParFaspChannel * GetChannel(Int_t pad_address, UChar_t pair) const
Definition of FASP channel calibration container.
void Print(Option_t *opt="") const
virtual void Print(Option_t *opt="") const
virtual void LoadParams(FairParamList *l)
UChar_t fFlatTop
Length of Flat-Top in clocks.
UShort_t fThreshold
Threshold in ADC units.
CbmTrdParFaspChannel(Int_t pup=300, Int_t ft=14, Int_t thr=600, Int_t smin=2586, Float_t dtPar=4.181e-6)
Parametrization of a FASP channel based on CADENCE simulations from 12.01.2018 and parabolic parametr...
Float_t fMinDelayParam
Factor of parabolic dependence dt=fdt*(s-s0)^2 to calculate trigger.
std::vector< Int_t > fChannelAddresses
addresses of individual output channels
static Double_t fgSizeY
FASP half size in y [cm].
static Double_t fgSizeZ
FASP half size in z [cm].
UShort_t fMinDelaySignal
Signal in ADC for minimum delay i.e. fPileUpTime.
Definition of FASP parameters.
virtual Int_t QueryChannel(Int_t ch) const
Query ASIC for specific pad address.
UShort_t fPileUpTime
Signal formation time in ns.
void SetPairing(Bool_t rect)
Specify pad pairing type.
Int_t fAddress
unique ASIC ID
Int_t GetChannelAddress(Int_t ich) const
virtual Int_t GetNchannels() const
virtual void SetChannelAddress(Int_t address)
CbmTrdParFasp(Int_t address=0, Int_t FebGrouping=-1, Double_t x=0, Double_t y=0, Double_t z=0)
virtual Bool_t SetCalibParameters(Int_t ch, Double_t const *par)
Load FASP calibration parameters for a specific channel.