CbmRoot
|
Abstract base class for CBM digitisation tasks. More...
#include <CbmDigitizeBase.h>
Public Member Functions | |
CbmDigitizeBase () | |
Constructor. More... | |
CbmDigitizeBase (const char *name) | |
Constructor with name. More... | |
virtual | ~CbmDigitizeBase () |
Destructor. More... | |
virtual Bool_t | CheckOutput ()=0 |
Check the output arrays. More... | |
virtual void | ClearOutput ()=0 |
Clear the output arrays. More... | |
virtual void | FillCustomData (Double_t, Bool_t=kTRUE) |
Fill custom data into time slice. More... | |
virtual ULong64_t | FillTimeSlice (CbmTimeSlice *timeSlice)=0 |
Fill data into the current time slice. More... | |
virtual ULong64_t | FillTimeSlice (CbmTimeSlice *, Double_t tMax)=0 |
Fill data into the current time slice. More... | |
void | GetEventInfo () |
Get event information. More... | |
Double_t | GetEventTime () const |
Current event time @value Start time of current event [ns]. More... | |
virtual ULong64_t | GetDaqBufferSize () const =0 |
Size of DAQ buffer @value Number of data in the DAQ buffer. More... | |
virtual std::string | GetDaqBufferStatus () const =0 |
Status of DAQ buffer @value Status string of the DAQ buffer. More... | |
virtual Double_t | GetDaqBufferTimeFirst () const =0 |
Time of first datum in DAQ buffer @value Time of first datum in DAQ buffer. More... | |
virtual ECbmModuleId | GetSystemId () const =0 |
Detector system ID. More... | |
virtual Double_t | GetDaqBufferTimeLast () const =0 |
Time of last datum in DAQ buffer @value Time of last datum in DAQ buffer. More... | |
void | SetCreateMatches (Bool_t choice=kTRUE) |
Set creation of links to MC. More... | |
void | SetEventMode (Bool_t choice=kTRUE) |
Set event-by-event mode. More... | |
void | SetProduceNoise (Bool_t choice=kTRUE) |
Set production of inter-event noise. More... | |
Protected Attributes | |
Bool_t | fEventMode |
Bool_t | fProduceNoise |
Flag for event-by-event mode. More... | |
Bool_t | fCreateMatches |
Flag for production of inter-event noise. More... | |
Int_t | fCurrentInput |
Flag for creation of links to MC. More... | |
Int_t | fCurrentEvent |
Number of current input. More... | |
Int_t | fCurrentMCEntry |
Number of current MC event. More... | |
Double_t | fCurrentEventTime |
Number of current MC entry. More... | |
Private Member Functions | |
CbmDigitizeBase (const CbmDigitizeBase &)=delete | |
Time of current MC event [ns]. More... | |
void | operator= (const CbmDigitizeBase &)=delete |
Assignment operator forbidden. More... | |
ClassDef (CbmDigitizeBase, 3) | |
Abstract base class for CBM digitisation tasks.
This abstract class defines the interfaces of the digitizers to the DAQ.
Definition at line 26 of file CbmDigitizeBase.h.
CbmDigitizeBase::CbmDigitizeBase | ( | ) |
Constructor.
Definition at line 17 of file CbmDigitizeBase.cxx.
CbmDigitizeBase::CbmDigitizeBase | ( | const char * | name | ) |
|
virtual |
Destructor.
Definition at line 43 of file CbmDigitizeBase.cxx.
|
privatedelete |
Time of current MC event [ns].
Copy constructor forbidden
|
pure virtual |
Check the output arrays.
Will be called by the DAQ before filling the output tree. A typical check to be implemented is e.g. whether the output array is time-sorted.
Implemented in CbmDigitize< Digi >, CbmDigitize< CbmStsDigi >, CbmDigitize< CbmMuchDigi >, CbmDigitize< CbmRichDigi >, CbmDigitize< CbmMvdDigi >, CbmDigitize< CbmPsdDigi >, CbmDigitize< CbmTofDigi >, and CbmDigitize< CbmTrdDigi >.
|
private |
|
pure virtual |
Clear the output arrays.
Will be called by the DAQ at the beginning of a new time slice (after a tree fill).
Implemented in CbmDigitize< Digi >, CbmDigitize< CbmStsDigi >, CbmDigitize< CbmMuchDigi >, CbmDigitize< CbmRichDigi >, CbmDigitize< CbmMvdDigi >, CbmDigitize< CbmPsdDigi >, CbmDigitize< CbmTofDigi >, and CbmDigitize< CbmTrdDigi >.
|
inlinevirtual |
Fill custom data into time slice.
fillTime | Time until data can be filled |
limit | If kTRUE, only data up to fillTime will be treated; otherwise, all. |
This method allows the digitizer to implement additional functionality than writing digis and match objects. It will be called from CbmDaq.
Definition at line 68 of file CbmDigitizeBase.h.
|
pure virtual |
Fill data into the current time slice.
timeSlice | Pointer to current time slice |
tMax | Maximum time stamp of data to be filled |
Data with time stamp in the interval defined by the current time slice, but less than the time tMax are filled into the output arrays.
Implemented in CbmDigitize< Digi >, CbmDigitize< CbmStsDigi >, CbmDigitize< CbmMuchDigi >, CbmDigitize< CbmRichDigi >, CbmDigitize< CbmMvdDigi >, CbmDigitize< CbmPsdDigi >, CbmDigitize< CbmTofDigi >, and CbmDigitize< CbmTrdDigi >.
|
pure virtual |
Fill data into the current time slice.
timeSlice | Pointer to current time slice |
Data with time stamp in the interval defined by the current time slice are filled into the output array.
Implemented in CbmDigitize< Digi >, CbmDigitize< CbmStsDigi >, CbmDigitize< CbmMuchDigi >, CbmDigitize< CbmRichDigi >, CbmDigitize< CbmMvdDigi >, CbmDigitize< CbmPsdDigi >, CbmDigitize< CbmTofDigi >, and CbmDigitize< CbmTrdDigi >.
|
pure virtual |
Size of DAQ buffer @value Number of data in the DAQ buffer.
Implemented in CbmDigitize< Digi >.
|
pure virtual |
Status of DAQ buffer @value Status string of the DAQ buffer.
Implemented in CbmDigitize< Digi >.
|
pure virtual |
Time of first datum in DAQ buffer @value Time of first datum in DAQ buffer.
Implemented in CbmDigitize< Digi >.
|
pure virtual |
Time of last datum in DAQ buffer @value Time of last datum in DAQ buffer.
Implemented in CbmDigitize< Digi >.
void CbmDigitizeBase::GetEventInfo | ( | ) |
Get event information.
MC input number, entry number and event time are taken from FairEventHeader and stored in the private data members for convenience. Note that the MC entry number need not coincide with the event number, for instance if the run does not start with the first MC entry, or in the case of mixed MC inputs to digitization.
Definition at line 48 of file CbmDigitizeBase.cxx.
References fCurrentEvent, fCurrentEventTime, fCurrentInput, and fCurrentMCEntry.
Referenced by CbmMvdDigitizer::Exec(), CbmPsdSimpleDigitizer::Exec(), CbmRichDigitizer::Exec(), CbmTofDigitize::Exec(), CbmMuchDigitizeGem::Exec(), CbmTrdDigitizer::Exec(), and CbmStsDigitize::Exec().
|
inline |
Current event time @value Start time of current event [ns].
Definition at line 107 of file CbmDigitizeBase.h.
References fCurrentEventTime.
|
pure virtual |
Detector system ID.
Implemented in CbmStsDigitize, CbmMuchDigitizeGem, CbmTrdDigitizer, CbmRichDigitizer, CbmTofDigitize, CbmMvdDigitizer, and CbmPsdSimpleDigitizer.
Referenced by CbmDigitize< CbmTrdDigi >::FillTimeSlice().
|
privatedelete |
Assignment operator forbidden.
|
inline |
Set creation of links to MC.
Choice | If kTRUE, the match objects will be created |
Definition at line 143 of file CbmDigitizeBase.h.
References fCreateMatches.
Referenced by CbmDigitization::Run().
|
inline |
Set event-by-event mode.
Choice | If kTRUE, the digitizer will run in event-by-event mode |
Definition at line 149 of file CbmDigitizeBase.h.
References fEventMode.
Referenced by CbmDigitization::Run().
|
inline |
Set production of inter-event noise.
Choice | If kTRUE, the digitizer will produce noise |
Definition at line 155 of file CbmDigitizeBase.h.
References fProduceNoise.
Referenced by CbmDigitization::Run().
|
protected |
Flag for production of inter-event noise.
Definition at line 161 of file CbmDigitizeBase.h.
Referenced by CbmRichDigitizer::AddDigisToOutputArray(), CbmDigitize< CbmTrdDigi >::ClearOutput(), CbmStsDigitize::CreateDigi(), CbmDigitize< CbmTrdDigi >::FillTimeSlice(), CbmPsdSimpleDigitizer::Init(), CbmDigitize< CbmTrdDigi >::RegisterOutput(), and SetCreateMatches().
|
protected |
Number of current input.
Definition at line 163 of file CbmDigitizeBase.h.
Referenced by CbmMuchDigitizeGem::BufferSignals(), CbmMvdDigitizer::Exec(), CbmPsdSimpleDigitizer::Exec(), CbmRichDigitizer::Exec(), CbmTofDigitize::Exec(), CbmMuchDigitizeGem::Exec(), CbmTrdDigitizer::Exec(), CbmMuchDigitizeGem::GenerateNoise(), GetEventInfo(), and CbmRichDigitizer::ProcessMcEvent().
|
protected |
Number of current MC entry.
Definition at line 165 of file CbmDigitizeBase.h.
Referenced by CbmMuchDigitizeGem::AddCharge(), CbmRichDigitizer::AddNoiseDigis(), CbmMuchDigitizeGem::BufferSignals(), CbmPsdSimpleDigitizer::Exec(), CbmMvdDigitizer::Exec(), CbmRichDigitizer::Exec(), CbmTofDigitize::Exec(), CbmMuchDigitizeGem::Exec(), CbmTrdDigitizer::Exec(), CbmStsDigitize::Exec(), CbmMuchDigitizeGem::GenerateNoise(), GetEventInfo(), GetEventTime(), CbmTofDigitize::MergeSameChanDigis(), CbmRichDigitizer::ProcessMcEvent(), CbmStsDigitize::ProcessMCEvent(), and CbmRichDigitizer::ProcessPoint().
|
protected |
Flag for creation of links to MC.
Definition at line 162 of file CbmDigitizeBase.h.
Referenced by CbmMuchDigitizeGem::AddCharge(), CbmMuchDigitizeGem::BufferSignals(), CbmMuchDigitizeGem::Exec(), CbmTrdDigitizer::Exec(), GetEventInfo(), CbmTofDigitize::MergeSameChanDigis(), CbmRichDigitizer::ProcessMcEvent(), and CbmStsDigitize::ProcessMCEvent().
|
protected |
Number of current MC event.
Definition at line 164 of file CbmDigitizeBase.h.
Referenced by CbmMuchDigitizeGem::AddCharge(), CbmMuchDigitizeGem::BufferSignals(), CbmTrdDigitizer::Exec(), GetEventInfo(), CbmTofDigitize::MergeSameChanDigis(), CbmRichDigitizer::ProcessMcEvent(), and CbmStsDigitize::ProcessMCEvent().
|
protected |
Definition at line 159 of file CbmDigitizeBase.h.
Referenced by CbmRichDigitizer::AddDigi(), CbmTofDigitize::DigitizeDirectClusterSize(), CbmMuchDigitizeGem::Exec(), CbmStsDigitize::Exec(), CbmMuchDigitizeGem::Finish(), CbmStsDigitize::Finish(), CbmTofDigitize::Init(), CbmRichDigitizer::Init(), CbmTrdDigitizer::Init(), CbmMuchDigitizeGem::Init(), CbmStsDigitize::InitParams(), and SetEventMode().
|
protected |
Flag for event-by-event mode.
Definition at line 160 of file CbmDigitizeBase.h.
Referenced by CbmRichDigitizer::Exec(), CbmStsDigitize::InitParams(), and SetProduceNoise().