|
CbmRoot
|
Source class for reading from files resulting from online processing (containing raw Digis) More...
#include <CbmSourceDigiTimeslice.h>
Public Member Functions | |
| CbmSourceDigiTimeslice (const char *fileName="") | |
| Constructor. | |
| CbmSourceDigiTimeslice (const CbmSourceDigiTimeslice &)=delete | |
| Copy constructor - not implemented. | |
| CbmSourceDigiTimeslice & | operator= (const CbmSourceDigiTimeslice &)=delete |
| Assignment operator - not implemented. | |
| virtual | ~CbmSourceDigiTimeslice () |
| 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 Member Functions | |
| template<typename TVecobj> | |
| Bool_t | RegisterVector (FairRootManager *ioman, std::vector< TVecobj > *&vec) |
| template<typename TVecobj> | |
| std::enable_if< std::is_member_function_pointer< decltype(&TVecobj::GetTime)>::value, void >::type | Timesort (std::vector< TVecobj > *vec=nullptr) |
Private Attributes | |
| std::string | fInputFileName = {} |
| std::unique_ptr< cbm::algo::RecoResultsInputArchive > | fArchive = nullptr |
| std::vector< CbmBmonDigi > * | fBmonDigis = nullptr |
| std::vector< CbmMvdDigi > * | fMvdDigis = nullptr |
| std::vector< CbmStsDigi > * | fStsDigis = nullptr |
| std::vector< CbmMuchDigi > * | fMuchDigis = nullptr |
| std::vector< CbmTrdDigi > * | fTrdDigis = nullptr |
| std::vector< CbmTofDigi > * | fTofDigis = nullptr |
| std::vector< CbmRichDigi > * | fRichDigis = nullptr |
| std::vector< CbmFsdDigi > * | fFsdDigis = nullptr |
| Source_Type | fSourceType = Source_Type::kONLINE |
| type of source that is currently used | |
| CbmTimeSlice * | fTimeslice = nullptr |
| CbmTsEventHeader * | fTsEventHeader = nullptr |
| size_t | fNumTs = 0 |
Source class for reading from files resulting from online processing (containing raw Digis)
The online process creates std::vector of Digis for each detector per timeslice. These are saved to file using the BOOST streamer. This class allows to read such files and get the Digis into the ROOT tree for offline analysis. It creates a branches containing the Digis vector with names following established conventions; one tree entry corresponds to one timelice.
Definition at line 33 of file CbmSourceDigiTimeslice.h.
| CbmSourceDigiTimeslice::CbmSourceDigiTimeslice | ( | const char * | fileName = "" | ) |
Constructor.
| fileName | Name of (single) input file. |
More input files can be added by the method AddInputFile.
Definition at line 18 of file CbmSourceDigiTimeslice.cxx.
References fInputFileName.
Referenced by CbmSourceDigiTimeslice(), and operator=().
|
delete |
Copy constructor - not implemented.
References CbmSourceDigiTimeslice().
|
inlinevirtual |
Destructor.
Definition at line 50 of file CbmSourceDigiTimeslice.h.
|
virtual |
Close source after end of run.
Definition at line 23 of file CbmSourceDigiTimeslice.cxx.
References fBmonDigis, fFsdDigis, fMuchDigis, fMvdDigis, fNumTs, fRichDigis, fStsDigis, fTofDigis, and fTrdDigis.
|
inlinevirtual |
Source type.
Definition at line 58 of file CbmSourceDigiTimeslice.h.
References fSourceType.
|
virtual |
Initialisation.
Definition at line 54 of file CbmSourceDigiTimeslice.cxx.
References fArchive, fBmonDigis, fFsdDigis, fInputFileName, fMuchDigis, fMvdDigis, fRichDigis, fStsDigis, fTimeslice, fTofDigis, fTrdDigis, fTsEventHeader, and RegisterVector().
|
inlinevirtual |
Initialise unpackers (forced by base class, not relevant here)
Definition at line 64 of file CbmSourceDigiTimeslice.h.
|
delete |
Assignment operator - not implemented.
References CbmSourceDigiTimeslice().
| Int_t CbmSourceDigiTimeslice::ReadEvent | ( | UInt_t | = 0 | ) |
Read one time slice from file.
Definition at line 140 of file CbmSourceDigiTimeslice.cxx.
References fArchive, fBmonDigis, fFsdDigis, fMuchDigis, fMvdDigis, fNumTs, fRichDigis, fStsDigis, fTimeslice, fTofDigis, fTrdDigis, fTsEventHeader, and Timesort().
|
private |
Definition at line 41 of file CbmSourceDigiTimeslice.cxx.
Referenced by Init().
|
inlinevirtual |
Re-Initialise unpackers (forced by base class, not relevant here)
Definition at line 70 of file CbmSourceDigiTimeslice.h.
|
inlinevirtual |
Reset (forced by base class, not relevant here)
Definition at line 73 of file CbmSourceDigiTimeslice.h.
|
inlinevirtual |
Set unpacker parameters (forced by base class, not relevant here)
Definition at line 76 of file CbmSourceDigiTimeslice.h.
|
inline |
Set the Source Type.
| type | Source type |
Definition at line 81 of file CbmSourceDigiTimeslice.h.
References fSourceType.
|
inline |
Set Run ID (forced by base class, not relevant here)
Definition at line 84 of file CbmSourceDigiTimeslice.h.
|
inlineprivate |
Definition at line 127 of file CbmSourceDigiTimeslice.h.
Referenced by ReadEvent().
|
private |
Input archive
Definition at line 92 of file CbmSourceDigiTimeslice.h.
Referenced by Init(), and ReadEvent().
|
private |
Branch vectors of Digis
Definition at line 95 of file CbmSourceDigiTimeslice.h.
Referenced by Close(), Init(), and ReadEvent().
|
private |
Definition at line 102 of file CbmSourceDigiTimeslice.h.
Referenced by Close(), Init(), and ReadEvent().
|
private |
Input file name
Definition at line 89 of file CbmSourceDigiTimeslice.h.
Referenced by CbmSourceDigiTimeslice(), and Init().
|
private |
Definition at line 98 of file CbmSourceDigiTimeslice.h.
Referenced by Close(), Init(), and ReadEvent().
|
private |
Definition at line 96 of file CbmSourceDigiTimeslice.h.
Referenced by Close(), Init(), and ReadEvent().
|
private |
Time-slice counter
Definition at line 120 of file CbmSourceDigiTimeslice.h.
Referenced by Close(), and ReadEvent().
|
private |
Definition at line 101 of file CbmSourceDigiTimeslice.h.
Referenced by Close(), Init(), and ReadEvent().
|
private |
type of source that is currently used
Definition at line 108 of file CbmSourceDigiTimeslice.h.
Referenced by GetSourceType(), and SetSourceType().
|
private |
Definition at line 97 of file CbmSourceDigiTimeslice.h.
Referenced by Close(), Init(), and ReadEvent().
|
private |
Time-slice header (old version)
Definition at line 113 of file CbmSourceDigiTimeslice.h.
Referenced by Init(), and ReadEvent().
|
private |
Definition at line 100 of file CbmSourceDigiTimeslice.h.
Referenced by Close(), Init(), and ReadEvent().
|
private |
Definition at line 99 of file CbmSourceDigiTimeslice.h.
Referenced by Close(), Init(), and ReadEvent().
|
private |
Time-slice event header
Definition at line 116 of file CbmSourceDigiTimeslice.h.
Referenced by Init(), and ReadEvent().