Go to the documentation of this file.
12 #include <RtypesCore.h>
13 #include <TStopwatch.h>
53 CbmDaq(Bool_t eventMode = kFALSE);
67 virtual void Exec(Option_t* opt);
71 virtual InitStatus
Init();
130 std::map<ECbmModuleId, TClonesArray*>
fDigis;
131 std::map<ECbmModuleId, CbmDigitizeBase*>
175 ULong64_t
FillTimeSlice(Bool_t timeLimit, Double_t fillTime = -1.);
virtual void Exec(Option_t *opt)
Task execution.
std::map< ECbmModuleId, CbmDigitizeBase * > fDigitizers
Output arrays (digis)
Double_t fTimeSliceLength
Time-slice length [ns].
CbmTimeSlice * fTimeSlice
Array of registered digitizers.
CbmMCEventList * fEventsCurrent
MC event list (all)
CbmDaq(Bool_t eventMode=kFALSE)
Constructor.
void PrintCurrentEventRange() const
void SetDigitizer(ECbmModuleId system, CbmDigitizeBase *digitizer)
Set the digitizer for a given system.
std::map< ECbmModuleId, TClonesArray * > fDigis
Stop watch.
Double_t fTimeEventPrevious
Time of previous event [ns].
Double_t fTimeSliceFirst
Start time of first time slice.
virtual InitStatus Init()
Initialisation.
CbmMCEventList fEventList
Current time slice.
Int_t fNofEvents
Number of processed events.
void SetTimeSliceLength(Double_t length)
Set the time-slice length.
void StoreAllTimeSlices(Bool_t choice=kTRUE)
Store all time-slices.
ULong64_t GetBufferSize() const
Size of DAQ buffers @value Sum of number of data in all DAQ buffers.
ULong64_t FillTimeSlice(Bool_t timeLimit, Double_t fillTime=-1.)
void SetLatency(Double_t time)
Set the DAQ buffer latency.
Int_t fNofTimeSlicesEmpty
Number of empty time slices.
CBM task class for filling digis into time slices.
Double_t fTimeSliceLast
Stop time of last time slice.
Container class for MC events with number, file and start time.
Int_t fNofDigisIgnored
Number of ignored digis.
Bool_t fIsEventByEvent
Flag for event-by-event mode.
void StartNextTimeSlice()
Start a new time slice in the output tree.
std::map< Int_t, std::pair< Int_t, Int_t > > fEventRange
MC events for current time slice.
Double_t fLatency
Maximal time disorder of input data [ns].
Bookkeeping of time-slice content.
CbmDaq(const CbmDaq &)=delete
Bool_t IsDaqBufferEmpty() const
Check for empty DAQ buffers.
Double_t fTimeDigiFirst
Time of first digi.
Bool_t fStoreEmptySlices
Flag to store also empty time slices.
Int_t fNofTimeSlices
Number of time slices.
CbmDaq & operator=(const CbmDaq &)=delete
Double_t fTimeDigiLast
Time of last digi.
Double_t GetBufferTimeFirst() const
Time of first datum in DAQ buffers @value Minimum time stamp in all DAQ buffers.
Abstract base class for CBM digitisation tasks.
std::string GetBufferStatus(Bool_t verbose=kFALSE) const
Debug output of DAQ buffer status @value String with status of DAQ buffers.
void FillData(CbmDigi *digi)
Copy data (digi) from the DaqBuffer into the output array.
Bool_t CheckOutput() const
Check the output arrays for being time-sorted.
Double_t GetBufferTimeLast() const
Time of last datum in DAQ buffers @value Maximum time stamp in all DAQ buffers.
Int_t fNofDigis
Total number of processed digis.