GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
|
The TDataParser is the DAQ dependent part of GRSISort. It takes raw data and converts it into a generic TFragment that the rest of GRSISort can deal with. This is where event word masks are applied, and any changes to the event format must be implemented.
Definition at line 42 of file TDataParser.h.
Public Types | |
enum class | EBank { kWFDN , kGRF1 , kGRF2 , kGRF3 , kGRF4 , kFME0 , kFME1 , kFME2 , kFME3 } |
Public Member Functions | |
TDataParser () | |
TDataParser (const TDataParser &)=default | |
TDataParser (TDataParser &&) noexcept=default | |
virtual | ~TDataParser () |
virtual std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TFragment > > > & | AddGoodOutputQueue (size_t maxSize=50000) |
virtual std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TBadFragment > > > & | BadOutputQueue () |
virtual void | ClearQueue () |
virtual size_t | ItemsPushed () |
TDataParser & | operator= (const TDataParser &)=delete |
TDataParser & | operator= (TDataParser &&) noexcept=delete |
virtual std::string | OutputQueueStatus () |
virtual int | Process (std::shared_ptr< TRawEvent >)=0 |
void | Push (std::vector< std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TFragment > > > > &queues, const std::shared_ptr< TFragment > &frag) |
void | Push (ThreadsafeQueue< std::shared_ptr< const TBadFragment > > &queue, const std::shared_ptr< TBadFragment > &frag) |
virtual std::shared_ptr< ThreadsafeQueue< std::shared_ptr< TEpicsFrag > > > & | ScalerOutputQueue () |
virtual void | SetFinished () |
virtual void | SetNoWaveForms (bool temp=true) |
virtual void | SetRecordDiag (bool temp=true) |
virtual void | SetStatusVariables (std::atomic_size_t *itemsPopped, std::atomic_long *inputSize) |
Protected Member Functions | |
TChannel * | Channel () const |
bool | FragmentHasWaveform () const |
void | FragmentHasWaveform (const bool &val) |
TFragmentMap | FragmentMap () const |
std::vector< std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TFragment > > > > & | GoodOutputQueues () |
uint64_t | LastDaqId () const |
uint64_t | LastNetworkPacket () const |
std::map< UInt_t, Long64_t > | LastTimeStampMap () const |
uint64_t | LastTriggerId () const |
void | LastTriggerId (const uint64_t &val) |
uint64_t | MaxTriggerId () const |
bool | NoWaveforms () const |
bool | RecordDiag () const |
Static Protected Member Functions | |
static TGRSIOptions * | Options () |
static void | Options (TGRSIOptions *val) |
Private Attributes | |
std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TBadFragment > > > | fBadOutputQueue |
TChannel * | fChannel |
bool | fFragmentHasWaveform |
std::map< Long_t, int > | fFragmentIdMap |
TFragmentMap | fFragmentMap |
std::vector< std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TFragment > > > > | fGoodOutputQueues |
std::atomic_long * | fInputSize |
std::atomic_size_t * | fItemsPopped |
uint64_t | fLastDaqId |
uint64_t | fLastNetworkPacket |
std::map< UInt_t, Long64_t > | fLastTimeStampMap |
uint64_t | fLastTriggerId |
const uint64_t | fMaxTriggerId |
bool | fNoWaveforms |
bool | fRecordDiag |
std::shared_ptr< ThreadsafeQueue< std::shared_ptr< TEpicsFrag > > > | fScalerOutputQueue |
Static Private Attributes | |
static TGRSIOptions * | fOptions = nullptr |
|
strong |
Enumerator | |
---|---|
kWFDN | |
kGRF1 | |
kGRF2 | |
kGRF3 | |
kGRF4 | |
kFME0 | |
kFME1 | |
kFME2 | |
kFME3 |
Definition at line 54 of file TDataParser.h.
TDataParser::TDataParser | ( | ) |
Definition at line 18 of file TDataParser.cxx.
|
default |
|
defaultnoexcept |
|
virtual |
Definition at line 27 of file TDataParser.cxx.
References fChannel.
|
inlinevirtual |
Definition at line 65 of file TDataParser.h.
References fGoodOutputQueues.
Referenced by TUnpackingLoop::AddGoodOutputQueue().
|
inlinevirtual |
Definition at line 73 of file TDataParser.h.
References fBadOutputQueue.
Referenced by TUnpackingLoop::BadOutputQueue(), TGRSIDataParser::EmmaTdcDataToFragment(), TGRSIDataParser::GriffinDataToFragment(), and TGRSIDataParser::RFScalerToFragment().
|
inlineprotected |
Definition at line 105 of file TDataParser.h.
References fChannel.
Referenced by TGRSIDataParser::EmmaMadcDataToFragment(), and TGRSIDataParser::SetTIGCharge().
|
virtual |
Definition at line 32 of file TDataParser.cxx.
References fBadOutputQueue, fGoodOutputQueues, and fScalerOutputQueue.
Referenced by TUnpackingLoop::ClearQueue().
|
inlineprotected |
Definition at line 112 of file TDataParser.h.
References fFragmentHasWaveform.
Referenced by TGRSIDataParser::GriffinDataToFragment(), and TGRSIDataParser::SetGRIFPrimaryFilterPattern().
|
inlineprotected |
Definition at line 122 of file TDataParser.h.
References fFragmentHasWaveform.
|
inlineprotected |
Definition at line 114 of file TDataParser.h.
References fFragmentMap.
Referenced by TGRSIDataParser::GriffinDataToFragment().
|
inlineprotected |
Definition at line 101 of file TDataParser.h.
References fGoodOutputQueues.
Referenced by TGRSIDataParser::CaenPhaToFragment(), TGRSIDataParser::CaenPsdToFragment(), TGRSIDataParser::EmmaMadcDataToFragment(), TGRSIDataParser::EmmaTdcDataToFragment(), TGRSIDataParser::GriffinDataToFragment(), TGRSIDataParser::RFScalerToFragment(), and TGRSIDataParser::TigressDataToFragment().
|
inlinevirtual |
Definition at line 88 of file TDataParser.h.
References fGoodOutputQueues.
Referenced by TUnpackingLoop::GetItemsPushed().
|
inlineprotected |
Definition at line 108 of file TDataParser.h.
References fLastDaqId.
|
inlineprotected |
Definition at line 110 of file TDataParser.h.
References fLastNetworkPacket.
|
inlineprotected |
Definition at line 115 of file TDataParser.h.
References fLastTimeStampMap.
Referenced by TGRSIDataParser::GriffinDataToFragment().
|
inlineprotected |
Definition at line 109 of file TDataParser.h.
References fLastTriggerId.
Referenced by TGRSIDataParser::SetTIGTriggerID().
|
inlineprotected |
Definition at line 120 of file TDataParser.h.
References fLastTriggerId.
|
inlineprotected |
Definition at line 107 of file TDataParser.h.
References fMaxTriggerId.
Referenced by TGRSIDataParser::SetTIGTriggerID().
|
inlineprotected |
Definition at line 103 of file TDataParser.h.
References fNoWaveforms.
Referenced by TGRSIDataParser::GriffinDataToFragment(), and TGRSIDataParser::TigressDataToFragment().
|
delete |
|
deletenoexcept |
|
inlinestaticprotected |
Definition at line 117 of file TDataParser.h.
References fOptions.
Referenced by TGRSIDataParser::CaenPhaToFragment(), TGRSIDataParser::CaenPsdToFragment(), and TGRSIDataParser::GriffinDataToFragment().
|
inlinestaticprotected |
Definition at line 124 of file TDataParser.h.
References fOptions.
|
virtual |
Definition at line 78 of file TDataParser.cxx.
References fGoodOutputQueues.
Referenced by TUnpackingLoop::EndStatus().
|
pure virtual |
Implemented in TGRSIDataParser, THILDataParser, TILLDataParser, and TTdrDataParser.
Referenced by TUnpackingLoop::Iteration().
void TDataParser::Push | ( | std::vector< std::shared_ptr< ThreadsafeQueue< std::shared_ptr< const TFragment > > > > & | queues, |
const std::shared_ptr< TFragment > & | frag ) |
Definition at line 59 of file TDataParser.cxx.
References fFragmentIdMap.
void TDataParser::Push | ( | ThreadsafeQueue< std::shared_ptr< const TBadFragment > > & | queue, |
const std::shared_ptr< TBadFragment > & | frag ) |
Definition at line 70 of file TDataParser.cxx.
References fFragmentIdMap.
Referenced by TGRSIDataParser::CaenPhaToFragment(), TGRSIDataParser::CaenPsdToFragment(), THILDataParser::EagleEventToFragment(), TGRSIDataParser::EmmaMadcDataToFragment(), TGRSIDataParser::EmmaTdcDataToFragment(), TGRSIDataParser::GriffinDataToFragment(), TGRSIDataParser::RFScalerToFragment(), TTdrDataParser::TdrToFragment(), TGRSIDataParser::TigressDataToFragment(), TILLDataParser::V1SingleFippsEventToFragment(), and TILLDataParser::V2SingleFippsEventToFragment().
|
inlineprotected |
Definition at line 104 of file TDataParser.h.
References fRecordDiag.
Referenced by TGRSIDataParser::GriffinDataToFragment().
|
inlinevirtual |
Definition at line 75 of file TDataParser.h.
References fScalerOutputQueue.
Referenced by TGRSIDataParser::EPIXToScalar(), and TUnpackingLoop::ScalerOutputQueue().
|
virtual |
Definition at line 50 of file TDataParser.cxx.
References fBadOutputQueue, fGoodOutputQueues, and fScalerOutputQueue.
Referenced by TUnpackingLoop::Iteration().
|
inlinevirtual |
Definition at line 50 of file TDataParser.h.
References fNoWaveforms.
Referenced by TUnpackingLoop::SetNoWaveForms().
|
inlinevirtual |
Definition at line 51 of file TDataParser.h.
References fRecordDiag.
Referenced by TUnpackingLoop::SetRecordDiag().
|
inlinevirtual |
Definition at line 77 of file TDataParser.h.
References fInputSize, and fItemsPopped.
Referenced by TUnpackingLoop::Iteration().
|
private |
Definition at line 130 of file TDataParser.h.
Referenced by BadOutputQueue(), ClearQueue(), THILDataParser::EagleEventToFragment(), SetFinished(), TTdrDataParser::TdrToFragment(), TILLDataParser::V1SingleFippsEventToFragment(), and TILLDataParser::V2SingleFippsEventToFragment().
|
private |
Definition at line 136 of file TDataParser.h.
Referenced by ~TDataParser(), and Channel().
|
private |
Definition at line 144 of file TDataParser.h.
Referenced by FragmentHasWaveform(), and FragmentHasWaveform().
|
private |
Definition at line 143 of file TDataParser.h.
|
private |
Class that holds a map of fragments per address, takes care of calculating charges for GRF4 banks.
Definition at line 146 of file TDataParser.h.
Referenced by FragmentMap().
|
private |
Definition at line 129 of file TDataParser.h.
Referenced by AddGoodOutputQueue(), ClearQueue(), THILDataParser::EagleEventToFragment(), GoodOutputQueues(), ItemsPushed(), OutputQueueStatus(), SetFinished(), TTdrDataParser::TdrToFragment(), TILLDataParser::V1SingleFippsEventToFragment(), and TILLDataParser::V2SingleFippsEventToFragment().
|
private |
Definition at line 154 of file TDataParser.h.
Referenced by THILDataParser::Process(), TILLDataParser::Process(), SetStatusVariables(), and TTdrDataParser::TdrToFragment().
|
private |
Definition at line 153 of file TDataParser.h.
Referenced by THILDataParser::Process(), TILLDataParser::Process(), SetStatusVariables(), and TTdrDataParser::TdrToFragment().
|
private |
The last daq ID in the raw file.
Definition at line 139 of file TDataParser.h.
Referenced by LastDaqId().
|
private |
The last network packet recieved.
Definition at line 141 of file TDataParser.h.
Referenced by LastNetworkPacket().
|
private |
Definition at line 148 of file TDataParser.h.
Referenced by LastTimeStampMap().
|
private |
The last Trigged ID in the raw File.
Definition at line 140 of file TDataParser.h.
Referenced by LastTriggerId(), and LastTriggerId().
|
private |
The last trigger ID Called.
Definition at line 138 of file TDataParser.h.
Referenced by MaxTriggerId().
|
private |
The flag to turn wave_forms on or off.
Definition at line 134 of file TDataParser.h.
Referenced by NoWaveforms(), and SetNoWaveForms().
|
staticprivate |
Static pointer to TGRSIOptions, gets set on the first call of GriffinDataToFragment.
Definition at line 150 of file TDataParser.h.
|
private |
The flag to turn on diagnostics recording.
Definition at line 135 of file TDataParser.h.
Referenced by THILDataParser::EagleEventToFragment(), RecordDiag(), SetRecordDiag(), TTdrDataParser::TdrToFragment(), TILLDataParser::V1SingleFippsEventToFragment(), and TILLDataParser::V2SingleFippsEventToFragment().
|
private |
Definition at line 131 of file TDataParser.h.
Referenced by ClearQueue(), ScalerOutputQueue(), and SetFinished().