CbmRoot
Loading...
Searching...
No Matches
TTrbHeader.cxx
Go to the documentation of this file.
1/* Copyright (C) 2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Florian Uhlig [committer] */
4
5#include "TTrbHeader.h"
6
7#include <TNamed.h> // for TNamed
8
9#include <algorithm> // for fill
10
12 : TNamed()
13 , fuTriggerPattern(0)
14 , fuTriggerType(0)
15 , fdTimeInSpill(0.)
16 , fdTimeInRun(0.)
17 , fiSpillIndex(-1)
18 , fuEventDAQDate(0)
19 , fuEventDAQTime(0)
20 , fiTriggerIndex(-1)
21 , fdCTSBusyTime(0.)
22 , fdCTSIdleTime(0.)
23 , fuSubeventSizes()
24{
25}
26
27void TTrbHeader::Clear(Option_t*)
28{
30 fuTriggerType = 0;
31 fdTimeInSpill = 0.;
32 fdTimeInRun = 0.;
33 fiSpillIndex = -1;
36 fiTriggerIndex = -1;
37 fdCTSBusyTime = 0.;
38 fdCTSIdleTime = 0.;
39 std::fill(fuSubeventSizes.begin(), fuSubeventSizes.end(), 0);
40}
41
42void TTrbHeader::SetSubeventSizes(const std::vector<UShort_t>& vuVal) { fuSubeventSizes = vuVal; }
43
44UShort_t TTrbHeader::GetSubeventSize(Int_t iSubevent) const
45{
46 // throws an out_of_range exception if iSubevent is out of bounds
47 // should not happen if properly used
48 return fuSubeventSizes.at(iSubevent);
49}
50
51Int_t TTrbHeader::GetNSubevents() const { return fuSubeventSizes.size(); }
52
53Bool_t TTrbHeader::TriggerFired(Int_t iTrg)
54{
55 // check whether Trigger Pattern matches iTrg in any bit
56 if (fuTriggerPattern & (0x1 << iTrg)) {
57 return kTRUE;
58 }
59 else {
60 return kFALSE;
61 }
62 return kFALSE;
63}
64
ClassImp(CbmConverterManager)
void SetSubeventSizes(const std::vector< UShort_t > &vuVal)
Double_t fdTimeInRun
Definition TTrbHeader.h:53
Int_t fiSpillIndex
Definition TTrbHeader.h:54
Int_t GetNSubevents() const
UInt_t fuEventDAQTime
Definition TTrbHeader.h:56
Double_t fdCTSBusyTime
Definition TTrbHeader.h:58
Double_t fdCTSIdleTime
Definition TTrbHeader.h:59
UInt_t fuEventDAQDate
Definition TTrbHeader.h:55
virtual void Clear(Option_t *option="")
UShort_t GetSubeventSize(Int_t iSubevent) const
Double_t fdTimeInSpill
Definition TTrbHeader.h:52
UInt_t fuTriggerType
Definition TTrbHeader.h:51
UInt_t fuTriggerPattern
Definition TTrbHeader.h:50
std::vector< UShort_t > fuSubeventSizes
Definition TTrbHeader.h:61
Bool_t TriggerFired(Int_t iTrg)
Int_t fiTriggerIndex
Definition TTrbHeader.h:57