7#ifndef BMNSSDDIGITIZE_H
8#define BMNSSDDIGITIZE_H 1
11#include "TStopwatch.h"
54 void CreateDigi(Int_t address, UShort_t channel, Long64_t time,
76 virtual void Exec(Option_t* opt);
98 virtual InitStatus
ReInit();
119 Int_t nAdc, Double_t timeResolution,
120 Double_t deadTime, Double_t noise,
121 Double_t zeroNoiseRate,
122 Double_t fracDeadChan);
136 Double_t temperature, Double_t cCoupling,
137 Double_t cInterstrip);
150 Double_t stereoF, Double_t stereoB);
182 void SetParameters(Double_t dynRange, Double_t threshold, Int_t nAdc,
183 Double_t timeResolution, Double_t deadTime,
184 Double_t noise, Double_t zeroNoiseRate,
185 Double_t deadChannelFrac = 0.);
198 Bool_t useLorentzShift = kTRUE,
199 Bool_t useDiffusion = kTRUE,
200 Bool_t useCrossTalk = kTRUE,
201 Bool_t generateNoise = kFALSE);
245 Bool_t fIsInitialised;
247 Int_t fEnergyLossModel;
248 Bool_t fUseLorentzShift;
249 Bool_t fUseDiffusion;
250 Bool_t fUseCrossTalk;
251 Bool_t fGenerateNoise;
255 TClonesArray* fPoints;
256 TClonesArray* fTracks;
257 TClonesArray* fDigis;
258 TClonesArray* fMatches;
262 Double_t fSensorDinact;
263 Double_t fSensorPitch;
264 Double_t fSensorStereoF;
265 Double_t fSensorStereoB;
268 Double_t fSensorVdep;
269 Double_t fSensorVbias;
270 Double_t fSensorTemperature;
271 Double_t fSensorCcoupling;
272 Double_t fSensorCinterstrip;
275 Double_t fModuleDynRange;
276 Double_t fModuleThreshold;
278 Double_t fModuleTresol;
279 Double_t fModuleTdead;
280 Double_t fModuleNoise;
281 Double_t fModuleZeroNoiseRate;
282 Double_t fModuleFracDeadChan;
285 TString fSensorParameterFile;
286 TString fSensorConditionFile;
287 TString fModuleParameterFile;
290 Double_t fTimePointLast;
293 Double_t fTimeDigiFirst;
294 Double_t fTimeDigiLast;
304 Double_t fNofPointsTot;
305 Double_t fNofSignalsFTot;
306 Double_t fNofSignalsBTot;
307 Double_t fNofDigisTot;
308 Double_t fNofNoiseTot;
315 Int_t BufferSize()
const;
322 std::string BufferStatus()
const;
326 virtual void Finish();
347 virtual InitStatus Init();
353 void ProcessAnalogBuffers(Double_t readoutTime);
357 void ProcessMCEvent();
364 void ProcessPoint(
const BmnSsdPoint* point, Double_t eventTime = 0.,
369 void ResetCounters();
Base class for persistent representation of digital information.
Abstract base class for BMN digitisation tasks.
Parameters for SSD digitization.
Int_t GetELossModel() const
void SetStripPitch(Double_t pitch)
Override the strip pitch taken from the sensor database. @value pitch Strip pitch [cm].
void SetDiscardSecondaries(Bool_t choice=kTRUE)
Flag whether secondary tracks are discarded during digitisation.
Task class for simulating the detector response of the SSD.
void SetModuleParameterFile(const char *fileName)
Set the file name with module parameters.
Int_t GetNofSignalsB() const
virtual void Exec(Option_t *opt)
void SetParameters(Double_t dynRange, Double_t threshold, Int_t nAdc, Double_t timeResolution, Double_t deadTime, Double_t noise, Double_t zeroNoiseRate, Double_t deadChannelFrac=0.)
void SetProcesses(Int_t eLossModel, Bool_t useLorentzShift=kTRUE, Bool_t useDiffusion=kTRUE, Bool_t useCrossTalk=kTRUE, Bool_t generateNoise=kFALSE)
void CreateDigi(Int_t address, UShort_t channel, Long64_t time, UShort_t adc, const BmnMatch &match)
void SetDefaultSensorConditions(Double_t vDep, Double_t vBias, Double_t temperature, Double_t cCoupling, Double_t cInterstrip)
Set the default sensor conditions.
virtual InitStatus ReInit()
virtual void ResetArrays()
Clear data arrays.
void DiscardSecondaries(Bool_t flag=kTRUE)
Discard processing of secondary tracks.
virtual ~BmnSsdDigitize()
Int_t GetNofSignalsF() const
void SetSensorParameterFile(const char *fileName)
Set the file name with sensor parameters.
void SetGenerateNoise(Bool_t choise=kTRUE)
Activate noise generation.
Int_t GetELossModel() const
void SetDefaultModuleParameters(Double_t dynRange, Double_t threshold, Int_t nAdc, Double_t timeResolution, Double_t deadTime, Double_t noise, Double_t zeroNoiseRate, Double_t fracDeadChan)
Set the default module parameters.
void SetSensorStripPitch(Double_t pitch)
void SetDefaultSensorParameters(Double_t dInact, Double_t pitch, Double_t stereoF, Double_t stereoB)
Set the default sensor parameters.
virtual void WriteDigi(BmnDigi *digi)
Write a digi to the output tree.
virtual void SetParContainers()
Inherited from FairTask.
void SetSensorConditionFile(const char *fileName)
Set the file name with sensor conditions.
Class representing the top level of the SSD setup.