CbmRoot
Loading...
Searching...
No Matches
CbmSourceDigiEvents Class Reference

Source class for reading from files resulting from online processing (containing DigiEvents) More...

#include <CbmSourceDigiEvents.h>

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

Public Member Functions

 CbmSourceDigiEvents (const char *fileName="")
 Constructor.
 
 CbmSourceDigiEvents (const CbmSourceDigiEvents &)=delete
 Copy constructor - not implemented.
 
CbmSourceDigiEventsoperator= (const CbmSourceDigiEvents &)=delete
 Assignment operator - not implemented.
 
virtual ~CbmSourceDigiEvents ()
 Destructor.
 
virtual void Close ()
 Close source after end of run.
 
virtual Source_Type GetSourceType ()
 Source type.
 
virtual Bool_t Init ()
 Initialisation.
 
virtual Bool_t InitUnpackers ()
 Initialise unpackers (forced by base class, not relevant here)
 
Int_t ReadEvent (UInt_t=0)
 Read one time slice from file.
 
virtual Bool_t ReInitUnpackers ()
 Re-Initialise unpackers (forced by base class, not relevant here)
 
virtual void Reset ()
 Reset (forced by base class, not relevant here)
 
virtual void SetParUnpackers ()
 Set unpacker parameters (forced by base class, not relevant here)
 
void SetSourceType (Source_Type type)
 Set the Source Type.
 
Bool_t SpecifyRunId ()
 Set Run ID (forced by base class, not relevant here)
 

Private Attributes

std::string fInputFileName = {}
 
std::unique_ptr< cbm::algo::RecoResultsInputArchivefArchive = nullptr
 
std::vector< CbmDigiEvent > * fEvents = nullptr
 
Source_Type fSourceType = Source_Type::kONLINE
 type of source that is currently used
 
size_t fNumTs = 0
 
size_t fNumEvents = 0
 

Detailed Description

Source class for reading from files resulting from online processing (containing DigiEvents)

Author
Volker Friese
Since
18 March 2024

The online process creates a std::vector of DigiEvents per timeslice. These are saved to file using the BOOST streamer. This class allows to read such files and get the DigiEvents into the ROOT tree for offline analysis. It creates a branch DigiEvents containing the DigiEvent vector; one tree entry corresponds to one timelice.

Definition at line 28 of file CbmSourceDigiEvents.h.

Constructor & Destructor Documentation

◆ CbmSourceDigiEvents() [1/2]

CbmSourceDigiEvents::CbmSourceDigiEvents ( const char * fileName = "")

Constructor.

Parameters
fileNameName of (single) input file.

More input files can be added by the method AddInputFile.

Definition at line 14 of file CbmSourceDigiEvents.cxx.

◆ CbmSourceDigiEvents() [2/2]

CbmSourceDigiEvents::CbmSourceDigiEvents ( const CbmSourceDigiEvents & )
delete

Copy constructor - not implemented.

◆ ~CbmSourceDigiEvents()

virtual CbmSourceDigiEvents::~CbmSourceDigiEvents ( )
inlinevirtual

Destructor.

Definition at line 45 of file CbmSourceDigiEvents.h.

Member Function Documentation

◆ Close()

void CbmSourceDigiEvents::Close ( )
virtual

Close source after end of run.

Definition at line 19 of file CbmSourceDigiEvents.cxx.

References fNumEvents, and fNumTs.

◆ GetSourceType()

virtual Source_Type CbmSourceDigiEvents::GetSourceType ( )
inlinevirtual

Source type.

Returns
FairSource::Source_Type

Definition at line 53 of file CbmSourceDigiEvents.h.

References fSourceType.

◆ Init()

Bool_t CbmSourceDigiEvents::Init ( )
virtual

Initialisation.

Definition at line 27 of file CbmSourceDigiEvents.cxx.

References fArchive, fEvents, and fInputFileName.

◆ InitUnpackers()

virtual Bool_t CbmSourceDigiEvents::InitUnpackers ( )
inlinevirtual

Initialise unpackers (forced by base class, not relevant here)

Definition at line 59 of file CbmSourceDigiEvents.h.

◆ operator=()

CbmSourceDigiEvents & CbmSourceDigiEvents::operator= ( const CbmSourceDigiEvents & )
delete

Assignment operator - not implemented.

◆ ReadEvent()

Int_t CbmSourceDigiEvents::ReadEvent ( UInt_t = 0)

Read one time slice from file.

Definition at line 55 of file CbmSourceDigiEvents.cxx.

References fArchive, fEvents, fNumEvents, and fNumTs.

◆ ReInitUnpackers()

virtual Bool_t CbmSourceDigiEvents::ReInitUnpackers ( )
inlinevirtual

Re-Initialise unpackers (forced by base class, not relevant here)

Definition at line 65 of file CbmSourceDigiEvents.h.

◆ Reset()

virtual void CbmSourceDigiEvents::Reset ( )
inlinevirtual

Reset (forced by base class, not relevant here)

Definition at line 68 of file CbmSourceDigiEvents.h.

◆ SetParUnpackers()

virtual void CbmSourceDigiEvents::SetParUnpackers ( )
inlinevirtual

Set unpacker parameters (forced by base class, not relevant here)

Definition at line 71 of file CbmSourceDigiEvents.h.

◆ SetSourceType()

void CbmSourceDigiEvents::SetSourceType ( Source_Type type)
inline

Set the Source Type.

Parameters
typeSource type

Definition at line 76 of file CbmSourceDigiEvents.h.

References fSourceType.

◆ SpecifyRunId()

Bool_t CbmSourceDigiEvents::SpecifyRunId ( )
inline

Set Run ID (forced by base class, not relevant here)

Definition at line 79 of file CbmSourceDigiEvents.h.

Member Data Documentation

◆ fArchive

std::unique_ptr<cbm::algo::RecoResultsInputArchive> CbmSourceDigiEvents::fArchive = nullptr
private

Input archive

Definition at line 87 of file CbmSourceDigiEvents.h.

Referenced by Init(), and ReadEvent().

◆ fEvents

std::vector<CbmDigiEvent>* CbmSourceDigiEvents::fEvents = nullptr
private

Branch vector of DigiEvents

Definition at line 90 of file CbmSourceDigiEvents.h.

Referenced by Init(), and ReadEvent().

◆ fInputFileName

std::string CbmSourceDigiEvents::fInputFileName = {}
private

Input file name

Definition at line 84 of file CbmSourceDigiEvents.h.

Referenced by Init().

◆ fNumEvents

size_t CbmSourceDigiEvents::fNumEvents = 0
private

Event counter

Definition at line 99 of file CbmSourceDigiEvents.h.

Referenced by Close(), and ReadEvent().

◆ fNumTs

size_t CbmSourceDigiEvents::fNumTs = 0
private

Time-slice counter

Definition at line 96 of file CbmSourceDigiEvents.h.

Referenced by Close(), and ReadEvent().

◆ fSourceType

Source_Type CbmSourceDigiEvents::fSourceType = Source_Type::kONLINE
private

type of source that is currently used

Remarks
currently we use kONLINE as default, since, kFILE skipps the first TS probably due to obsolete reasons (to be checked PR072021)

Definition at line 93 of file CbmSourceDigiEvents.h.

Referenced by GetSourceType(), and SetSourceType().


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