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 "CbmEventTriggers.h"
11#include "CbmFsdDigi.h"
12#include "CbmMuchDigi.h"
13#include "CbmMvdRawDigi.h"
14#include "CbmPsdDigi.h"
15#include "CbmRichDigi.h"
16#include "CbmStsDigi.h"
17#include "CbmTofDigi.h"
18#include "CbmTrdDigi.h"
19#include "PODVector.h"
20
21namespace cbm::algo
22{
75
82 struct DigiEvent : public DigiData {
83 // FIXME: Event number not set yet!
84 uint64_t fNumber = -1;
85 double fTime = 0;
87
88 static std::vector<DigiEvent> FromCbmDigiEvents(const std::vector<CbmDigiEvent>& events);
89 static std::vector<CbmDigiEvent> ToCbmDigiEvents(const std::vector<DigiEvent>& events);
90
91 DigiEvent() = default;
92
93 explicit DigiEvent(const CbmDigiEvent& storable);
94
100 CbmDigiEvent ToStorable() const;
101 };
102
103} // namespace cbm::algo
104
105#endif // CBM_ALGO_BASE_DIGI_DATA_H
ECbmModuleId
Enumerator for module Identifiers.
Definition CbmDefs.h:45
A structure to store different triggers in parallel to the CbmEvent (implementation)
Collection of digis from all detector systems.
Definition CbmDigiData.h:33
Collection of digis from all detector systems within one event.
Class to store different triggers for a given event.
std::vector< T, PODAllocator< T > > PODVector
PODVector is a std::vector that doesn't initialize its elements.
Definition PODVector.h:17
PODVector< CbmRichDigi > fRich
Unpacked RICH digis.
Definition DigiData.h:41
PODVector< CbmTrdDigi > fTrd
Unpacked TRD digis.
Definition DigiData.h:39
PODVector< CbmStsDigi > fSts
Unpacked STS digis.
Definition DigiData.h:34
PODVector< CbmTrdDigi > fTrd2d
Unpacked TRD2D digis.
Definition DigiData.h:40
PODVector< CbmFsdDigi > fFsd
Unpacked FSD digis.
Definition DigiData.h:43
PODVector< CbmTofDigi > fTof
Unpacked TOF digis.
Definition DigiData.h:37
PODVector< CbmMvdRawDigi > fMvd
Unpacked MVD digis.
Definition DigiData.h:36
size_t TotalSize() const
Get the total number of digis across all subsystems.
Definition DigiData.cxx:46
CbmDigiData ToStorable() const
Convert to CbmDigiData for file storage.
Definition DigiData.cxx:60
PODVector< CbmPsdDigi > fPsd
Unpacked PSD digis.
Definition DigiData.h:42
PODVector< CbmMuchDigi > fMuch
Unpacked MUCH digis.
Definition DigiData.h:35
PODVector< CbmBmonDigi > fBmon
Unpacked Bmon digis.
Definition DigiData.h:38
size_t Size(ECbmModuleId system) const
Get the number of digis for a given subsystem.
Definition DigiData.cxx:29
size_t TotalSizeBytes() const
Get the total number of bytes used by all digis.
Definition DigiData.cxx:52
double fTime
Event trigger time [ns].
Definition DigiData.h:85
CbmEventTriggers fSelectionTriggers
Definition DigiData.h:86
static std::vector< CbmDigiEvent > ToCbmDigiEvents(const std::vector< DigiEvent > &events)
Definition DigiData.cxx:116
static std::vector< DigiEvent > FromCbmDigiEvents(const std::vector< CbmDigiEvent > &events)
Definition DigiData.cxx:106
uint64_t fNumber
Event identifier.
Definition DigiData.h:84
CbmDigiEvent ToStorable() const
Convert to CbmDigiEvent for file storage.
Definition DigiData.cxx:134