CbmRoot
Loading...
Searching...
No Matches
DigiData.h
Go to the documentation of this file.
1/* Copyright (C) 2023 FIAS Frankfurt Institute for Advanced Studies, Frankfurt / Main
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Felix Weiglhofer [committer] */
4#ifndef CBM_ALGO_BASE_DIGI_DATA_H
5#define CBM_ALGO_BASE_DIGI_DATA_H
6
7#include "CbmBmonDigi.h"
8#include "CbmDigiData.h"
9#include "CbmDigiEvent.h"
10#include "CbmFsdDigi.h"
11#include "CbmMuchDigi.h"
12#include "CbmPsdDigi.h"
13#include "CbmRichDigi.h"
14#include "CbmStsDigi.h"
15#include "CbmTofDigi.h"
16#include "CbmTrdDigi.h"
17#include "PODVector.h"
18
19namespace cbm::algo
20{
72
79 struct DigiEvent : public DigiData {
80 // FIXME: Event number not set yet!
81 uint64_t fNumber = -1;
82 double fTime = 0;
83
84 static std::vector<DigiEvent> FromCbmDigiEvents(const std::vector<CbmDigiEvent>& events);
85 static std::vector<CbmDigiEvent> ToCbmDigiEvents(const std::vector<DigiEvent>& events);
86
87 DigiEvent() = default;
88
89 explicit DigiEvent(const CbmDigiEvent& storable);
90
97 };
98
99} // namespace cbm::algo
100
101#endif // CBM_ALGO_BASE_DIGI_DATA_H
ECbmModuleId
Definition CbmDefs.h:39
Collection of digis from all detector systems.
Definition CbmDigiData.h:32
Collection of digis from all detector systems within one event.
std::vector< T, PODAllocator< T > > PODVector
PODVector is a std::vector that doesn't initialize its elements.
Definition PODVector.h:17
Collection of digis from all detector systems.
Definition DigiData.h:31
PODVector< CbmRichDigi > fRich
Unpacked RICH digis.
Definition DigiData.h:38
PODVector< CbmTrdDigi > fTrd
Unpacked TRD digis.
Definition DigiData.h:36
PODVector< CbmStsDigi > fSts
Unpacked STS digis.
Definition DigiData.h:32
PODVector< CbmTrdDigi > fTrd2d
Unpacked TRD2D digis.
Definition DigiData.h:37
PODVector< CbmFsdDigi > fFsd
Unpacked FSD digis.
Definition DigiData.h:40
PODVector< CbmTofDigi > fTof
Unpacked TOF digis.
Definition DigiData.h:34
size_t TotalSize() const
Get the total number of digis across all subsystems.
Definition DigiData.cxx:43
CbmDigiData ToStorable() const
Convert to CbmDigiData for file storage.
Definition DigiData.cxx:56
PODVector< CbmPsdDigi > fPsd
Unpacked PSD digis.
Definition DigiData.h:39
PODVector< CbmMuchDigi > fMuch
Unpacked MUCH digis.
Definition DigiData.h:33
PODVector< CbmBmonDigi > fBmon
Unpacked Bmon digis.
Definition DigiData.h:35
size_t Size(ECbmModuleId system) const
Get the number of digis for a given subsystem.
Definition DigiData.cxx:27
size_t TotalSizeBytes() const
Get the total number of bytes used by all digis.
Definition DigiData.cxx:49
Event data with event number and trigger time.
Definition DigiData.h:79
double fTime
Event trigger time [ns].
Definition DigiData.h:82
static std::vector< CbmDigiEvent > ToCbmDigiEvents(const std::vector< DigiEvent > &events)
Definition DigiData.cxx:108
static std::vector< DigiEvent > FromCbmDigiEvents(const std::vector< CbmDigiEvent > &events)
Definition DigiData.cxx:98
uint64_t fNumber
Event identifier.
Definition DigiData.h:81
CbmDigiEvent ToStorable() const
Convert to CbmDigiEvent for file storage.
Definition DigiData.cxx:125