CbmRoot
CbmMcbm2018Source Class Reference

#include <CbmMcbm2018Source.h>

Inheritance diagram for CbmMcbm2018Source:
[legend]
Collaboration diagram for CbmMcbm2018Source:
[legend]

Public Member Functions

 CbmMcbm2018Source ()
 
 CbmMcbm2018Source (const CbmMcbm2018Source &source)=delete
 
CbmMcbm2018Source operator= (const CbmMcbm2018Source &)=delete
 
virtual ~CbmMcbm2018Source ()
 
Bool_t Init ()
 
Int_t ReadEvent (UInt_t)
 
Source_Type GetSourceType ()
 
virtual void SetParUnpackers ()
 
virtual Bool_t InitUnpackers ()
 
virtual Bool_t ReInitUnpackers ()
 
void Close ()
 
void Reset ()
 
void SetFileName (TString name)
 
void SetInputDir (TString name)
 
void SetHostName (TString name)
 
void AddUnpacker (CbmMcbmUnpack *unpacker, Int_t flibId, ECbmModuleId)
 
void AddFile (const char *name)
 
UInt_t GetTsCount ()
 
UInt_t GetNofTSSinceLastTS ()
 
void SetDataReductionMuch (UInt_t uTsReduction=15)
 
void SetSubscriberHwm (UInt_t val=1)
 
void SetWriteOutputFlag (Bool_t bFlagIn)
 

Private Member Functions

Bool_t CheckTimeslice (const fles::Timeslice &ts)
 
void PrintMicroSliceDescriptor (const fles::MicrosliceDescriptor &mdsc)
 
Int_t FillBuffer ()
 

Private Attributes

TString fFileName
 
TString fDirName
 
TList fInputFileList
 List of input files. More...
 
TString fHost
 
std::multimap< Int_t, CbmMcbmUnpack * > fUnpackers
 
std::unordered_set< CbmMcbmUnpack * > fUnpackersToRun
 List pairs of system ID and unpacker pointer (unpacker can appear multiple times) More...
 
UInt_t fTSNumber
 List of all unpackers for which at least one matching container was found. More...
 
UInt_t fTSCounter
 
TStopwatch fTimer
 
TH1I * fHistoMissedTS
 
TProfile * fHistoMissedTSEvo
 
Int_t fNofTSSinceLastTS
 
UInt_t fuTsReduction
 
std::unique_ptr< fles::TimesliceSource > fSource
 
UInt_t fuSubscriberHwm
 
Bool_t fbWriteOutput
 Output ClonesArray. More...
 
TClonesArray * fTimeSliceMetaDataArray
 If ON the output TClonesArray of meta-data is written to disk. More...
 

Detailed Description

Definition at line 34 of file CbmMcbm2018Source.h.

Constructor & Destructor Documentation

◆ CbmMcbm2018Source() [1/2]

CbmMcbm2018Source::CbmMcbm2018Source ( )

Definition at line 32 of file CbmMcbm2018Source.cxx.

◆ CbmMcbm2018Source() [2/2]

CbmMcbm2018Source::CbmMcbm2018Source ( const CbmMcbm2018Source source)
delete

◆ ~CbmMcbm2018Source()

CbmMcbm2018Source::~CbmMcbm2018Source ( )
virtual

Definition at line 52 of file CbmMcbm2018Source.cxx.

Member Function Documentation

◆ AddFile()

void CbmMcbm2018Source::AddFile ( const char *  name)
inline

Definition at line 69 of file CbmMcbm2018Source.h.

References fInputFileList.

◆ AddUnpacker()

void CbmMcbm2018Source::AddUnpacker ( CbmMcbmUnpack unpacker,
Int_t  flibId,
ECbmModuleId   
)
inline

Definition at line 65 of file CbmMcbm2018Source.h.

References fUnpackers.

◆ CheckTimeslice()

Bool_t CbmMcbm2018Source::CheckTimeslice ( const fles::Timeslice &  ts)
private

Definition at line 177 of file CbmMcbm2018Source.cxx.

◆ Close()

void CbmMcbm2018Source::Close ( )

Definition at line 187 of file CbmMcbm2018Source.cxx.

References fUnpackersToRun.

◆ FillBuffer()

Int_t CbmMcbm2018Source::FillBuffer ( )
private

Get range of all unpackers matching this system ID <= Trick for STS + MUCH

Apply TS throttling as set by user (default = 1 => no throttling)

Save the TimeSlice meta-data for access by higher level tasks TODO: do not hard-code the duration here!

Definition at line 206 of file CbmMcbm2018Source.cxx.

References fHistoMissedTS, fHistoMissedTSEvo, fNofTSSinceLastTS, fSource, fTimeSliceMetaDataArray, fTSCounter, fTSNumber, fUnpackers, fUnpackersToRun, and fuTsReduction.

Referenced by ReadEvent().

◆ GetNofTSSinceLastTS()

UInt_t CbmMcbm2018Source::GetNofTSSinceLastTS ( )
inline

Definition at line 72 of file CbmMcbm2018Source.h.

References fNofTSSinceLastTS.

◆ GetSourceType()

Source_Type CbmMcbm2018Source::GetSourceType ( )
inline

Definition at line 46 of file CbmMcbm2018Source.h.

◆ GetTsCount()

UInt_t CbmMcbm2018Source::GetTsCount ( )
inline

Definition at line 71 of file CbmMcbm2018Source.h.

References fTSCounter.

◆ Init()

Bool_t CbmMcbm2018Source::Init ( )

Build list of unpackers without multiples from unpacker dealing with 2 or more detectors

Prepare output of TS meta-data

Definition at line 54 of file CbmMcbm2018Source.cxx.

References fbWriteOutput, fDirName, fFileName, fHistoMissedTS, fHistoMissedTSEvo, fHost, fInputFileList, fSource, fTimeSliceMetaDataArray, fUnpackers, fUnpackersToRun, and fuSubscriberHwm.

◆ InitUnpackers()

Bool_t CbmMcbm2018Source::InitUnpackers ( )
virtual

Definition at line 131 of file CbmMcbm2018Source.cxx.

References fUnpackersToRun.

◆ operator=()

CbmMcbm2018Source CbmMcbm2018Source::operator= ( const CbmMcbm2018Source )
delete

◆ PrintMicroSliceDescriptor()

void CbmMcbm2018Source::PrintMicroSliceDescriptor ( const fles::MicrosliceDescriptor &  mdsc)
private

Definition at line 159 of file CbmMcbm2018Source.cxx.

◆ ReadEvent()

Int_t CbmMcbm2018Source::ReadEvent ( UInt_t  )

Definition at line 151 of file CbmMcbm2018Source.cxx.

References FillBuffer().

◆ ReInitUnpackers()

Bool_t CbmMcbm2018Source::ReInitUnpackers ( )
virtual

Definition at line 141 of file CbmMcbm2018Source.cxx.

References fUnpackersToRun.

◆ Reset()

void CbmMcbm2018Source::Reset ( )

Definition at line 199 of file CbmMcbm2018Source.cxx.

References fTimeSliceMetaDataArray, and fUnpackers.

◆ SetDataReductionMuch()

void CbmMcbm2018Source::SetDataReductionMuch ( UInt_t  uTsReduction = 15)
inline

Definition at line 74 of file CbmMcbm2018Source.h.

References fuTsReduction.

◆ SetFileName()

void CbmMcbm2018Source::SetFileName ( TString  name)
inline

Definition at line 57 of file CbmMcbm2018Source.h.

References fFileName, and fInputFileList.

◆ SetHostName()

void CbmMcbm2018Source::SetHostName ( TString  name)
inline

Definition at line 62 of file CbmMcbm2018Source.h.

References fHost.

◆ SetInputDir()

void CbmMcbm2018Source::SetInputDir ( TString  name)
inline

Definition at line 61 of file CbmMcbm2018Source.h.

References fDirName.

◆ SetParUnpackers()

void CbmMcbm2018Source::SetParUnpackers ( )
virtual

Definition at line 123 of file CbmMcbm2018Source.cxx.

References fUnpackersToRun.

◆ SetSubscriberHwm()

void CbmMcbm2018Source::SetSubscriberHwm ( UInt_t  val = 1)
inline

Definition at line 78 of file CbmMcbm2018Source.h.

References fuSubscriberHwm.

◆ SetWriteOutputFlag()

void CbmMcbm2018Source::SetWriteOutputFlag ( Bool_t  bFlagIn)
inline

Definition at line 80 of file CbmMcbm2018Source.h.

References fbWriteOutput.

Member Data Documentation

◆ fbWriteOutput

Bool_t CbmMcbm2018Source::fbWriteOutput
private

Output ClonesArray.

Definition at line 114 of file CbmMcbm2018Source.h.

Referenced by Init(), and SetWriteOutputFlag().

◆ fDirName

TString CbmMcbm2018Source::fDirName
private

Definition at line 84 of file CbmMcbm2018Source.h.

Referenced by Init(), and SetInputDir().

◆ fFileName

TString CbmMcbm2018Source::fFileName
private

Definition at line 83 of file CbmMcbm2018Source.h.

Referenced by Init(), and SetFileName().

◆ fHistoMissedTS

TH1I* CbmMcbm2018Source::fHistoMissedTS
private

Definition at line 97 of file CbmMcbm2018Source.h.

Referenced by FillBuffer(), and Init().

◆ fHistoMissedTSEvo

TProfile* CbmMcbm2018Source::fHistoMissedTSEvo
private

Definition at line 98 of file CbmMcbm2018Source.h.

Referenced by FillBuffer(), and Init().

◆ fHost

TString CbmMcbm2018Source::fHost
private

Definition at line 86 of file CbmMcbm2018Source.h.

Referenced by Init(), and SetHostName().

◆ fInputFileList

TList CbmMcbm2018Source::fInputFileList
private

List of input files.

Definition at line 85 of file CbmMcbm2018Source.h.

Referenced by AddFile(), Init(), and SetFileName().

◆ fNofTSSinceLastTS

Int_t CbmMcbm2018Source::fNofTSSinceLastTS
private

Definition at line 99 of file CbmMcbm2018Source.h.

Referenced by FillBuffer(), and GetNofTSSinceLastTS().

◆ fSource

std::unique_ptr<fles::TimesliceSource> CbmMcbm2018Source::fSource
private

Definition at line 103 of file CbmMcbm2018Source.h.

Referenced by FillBuffer(), and Init().

◆ fTimer

TStopwatch CbmMcbm2018Source::fTimer
private

Definition at line 95 of file CbmMcbm2018Source.h.

◆ fTimeSliceMetaDataArray

TClonesArray* CbmMcbm2018Source::fTimeSliceMetaDataArray
private

If ON the output TClonesArray of meta-data is written to disk.

Definition at line 115 of file CbmMcbm2018Source.h.

Referenced by FillBuffer(), Init(), and Reset().

◆ fTSCounter

UInt_t CbmMcbm2018Source::fTSCounter
private

Definition at line 94 of file CbmMcbm2018Source.h.

Referenced by FillBuffer(), and GetTsCount().

◆ fTSNumber

UInt_t CbmMcbm2018Source::fTSNumber
private

List of all unpackers for which at least one matching container was found.

Definition at line 93 of file CbmMcbm2018Source.h.

Referenced by FillBuffer().

◆ fUnpackers

std::multimap<Int_t, CbmMcbmUnpack*> CbmMcbm2018Source::fUnpackers
private

Definition at line 89 of file CbmMcbm2018Source.h.

Referenced by AddUnpacker(), FillBuffer(), Init(), and Reset().

◆ fUnpackersToRun

std::unordered_set<CbmMcbmUnpack*> CbmMcbm2018Source::fUnpackersToRun
private

List pairs of system ID and unpacker pointer (unpacker can appear multiple times)

Definition at line 91 of file CbmMcbm2018Source.h.

Referenced by Close(), FillBuffer(), Init(), InitUnpackers(), ReInitUnpackers(), and SetParUnpackers().

◆ fuSubscriberHwm

UInt_t CbmMcbm2018Source::fuSubscriberHwm
private

Definition at line 105 of file CbmMcbm2018Source.h.

Referenced by Init(), and SetSubscriberHwm().

◆ fuTsReduction

UInt_t CbmMcbm2018Source::fuTsReduction
private

Definition at line 101 of file CbmMcbm2018Source.h.

Referenced by FillBuffer(), and SetDataReductionMuch().


The documentation for this class was generated from the following files: