Go to the documentation of this file.
5 #include <RtypesCore.h>
19 #define FASP_WINDOW 200
32 virtual void Clear(Option_t* opt =
"");
34 virtual void Draw(Option_t* opt =
"");
40 virtual Bool_t
Go(ULong64_t time);
51 virtual void PhysToRaw(std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>* digi,
55 virtual void Print(Option_t* opt =
"")
const;
93 void ScanDigi(std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>* digi,
97 void ScanDigiNE(std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>* digi,
112 std::vector<std::pair<CbmTrdDigi*, CbmMatch*>>*
119 std::vector<std::tuple<UInt_t, UInt_t, UInt_t, Bool_t>>
134 std::vector<std::pair<Int_t, Int_t>>
std::vector< std::pair< Int_t, Int_t > > fGraphMap
map of ASIC id and output FASP signals
Int_t fGraphId
current graph to be filled if draw support is compiled
Float_t fSignal[FASP_WINDOW]
temporary array to store shaper analog signal for current charge interpolation
void ScanDigiNE(std::vector< std::pair< CbmTrdDigi *, CbmMatch * >> *digi, Int_t col, Int_t row)
Read digi array for neighbour trigger processing.
static void SetNeighbourThr(Float_t thr=0.1)
Set threshold for the neighbour channel. CADENCE value.
static Float_t fgOutGain
FASP -> ADC gain [V/4095 ADC].
void GetShaperSignal(Double_t charge)
Retrive linear interpolation of CADENCE for signal.
Int_t fNphys[2]
number of physical digi in the current [0] and next [1] shaper
TGraph * fGraphPhys[NGRAPH]
graph representations of physics digi
std::vector< bool > fHitThPrev
previous channel hit threshold
Int_t fTimeDY
Time decay from FT [5*ns].
Double_t MakeOut(Int_t t)
Make convolution of shaper1 superposition and theoretic shaping model (see fgkShaperPar)
static const Float_t fgkShaperPar[4]
shaper parameters
void ScanDigi(std::vector< std::pair< CbmTrdDigi *, CbmMatch * >> *digi, Int_t col, Int_t row)
Read digi array for single channel processing.
TGraph * fGraphShp[NGRAPH]
graph representations of FASP shaper
std::vector< Float_t > fShaperNext
next channel shaper analog
static const Float_t fgkShaperLUT[SHAPER_LUT]
shaper LUT
std::vector< std::tuple< UInt_t, UInt_t, UInt_t, Bool_t > > fDigiProc
proccessed info <hit_time[ns], CS_time[ns], OUT[ADC], trigger>
UInt_t fProcTime
time window [ns] for actual digi processing (excluded fgkBufferKeep)
static void SetShaperThr(Float_t thr=0.2)
Set threshold for the current channel. CADENCE value.
Int_t fNraw
number of raw digi for the tilt channel
ULong64_t fStartTime
time offset [ns] for the current simulation
Definition of FASP channel calibration container.
void SetStartTime(ULong64_t t)
Set buffer time offset [ns].
CbmTrdParFaspChannel * fPar
current FASP channel parametrization
TCanvas * fMonitor
monitor canvas when drawing
std::vector< Float_t > fShaper
current channel shaper analog
virtual ULong64_t GetEndTime() const
Int_t ProcessShaper(Char_t typ='T')
Calculate output FASP signal and CS timming for the signal array stored in fShaper.
static void SetLGminLength(Int_t nclk)
Set linear-gate minimum length.
static const Float_t fgkCharge[fgkNDB]
DB input charge discretization.
static Bool_t fgNeighbour
Neighbour enable flag.
std::vector< Float_t > fOut
analog output for the current channel
static Float_t fgNeighbourThr
neighbour threshold [V] for fgNeighbour=kTRUE
std::vector< std::pair< CbmTrdDigi *, CbmMatch * > > * fDigi
link to digi vector to be transformed
static const Int_t fgkNDB
DB shaper size.
virtual void Print(Option_t *opt="") const
Print-out FASP analog/digital response to currently stored data.
virtual void Draw(Option_t *opt="")
Graphical representation of FASP analog/digital response to currently stored data.
virtual void Clear(Option_t *opt="")
Finalize currently stored data.
Int_t fTimeFT
Chip Select time legth [5*ns].
virtual void Init(Int_t col, CbmTrdParFaspChannel *par)
[Re]Start processing of one channel
static const Int_t fgkNclkFT
length of flat top in FASP clocks
TLine * fGthr
graph representation of various thresholds
Float_t fFT
Flat Top value [V].
virtual Bool_t Go(ULong64_t time)
Check if there is enough time elapsed from fStartTime to run simulator.
virtual ULong64_t GetStartTime() const
void SetCol(Int_t col)
Set column for the current channel.
TGraph * fGraph[NGRAPH]
graph representations of analog FASP response
Int_t fTimeLG
Linear gate time length [5*ns].
virtual void PhysToRaw(std::vector< std::pair< CbmTrdDigi *, CbmMatch * >> *digi, Int_t col=0, Int_t row=0)
Convert physics information in digi to the raw format.
static const Int_t fgkBufferKeep
length of buffer time in 5ns which is kept between cycles
void SetProcTime(ULong64_t t=0)
Set limit in time for processing digis.
static Float_t GetBaselineCorr()
Return the baseline value in ADC ch.
static const Float_t fgkShaper[fgkNDB][FASP_WINDOW]
DB shaper signals for each input charge discretization.
static Int_t fgNclkLG
length of linear-gate command in FASP clocks
static const Float_t fgkDecayLUT[SHAPER_LUT]
forced discharged of FASP LUT
CbmTrdFASP(UInt_t uslice=1000)
Constructor of FASP simulator.
void WriteDigi()
Write processed digi to output array.
static Float_t fgShaperThr
shaper threshold [V]
static void SetNeighbourTrigger(Bool_t nb=kTRUE)
Set FASP trigger mode.
Int_t fAsicId
identifier of FASP in module
static Float_t fgBaseline
FASP baseline [V].