Project
Loading...
Searching...
No Matches
TriggerRecord.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
12#ifndef ALICEO2_TRD_TRIGGERRECORD_H
13#define ALICEO2_TRD_TRIGGERRECORD_H
14
15#include <iosfwd>
16#include "Rtypes.h"
19
20namespace o2
21{
22
23namespace trd
24{
25
30{
33
34 public:
35 TriggerRecord() = default;
36 TriggerRecord(const BCData& bunchcrossing, int digitentry, int ndigitentries, int trackletentry = 0, int ntrackletentries = 0) : mBCData(bunchcrossing), mDigitDataRange(digitentry, ndigitentries), mTrackletDataRange(trackletentry, ntrackletentries) {}
37 // The above default of 0 for tracklet info, makes the digitizer look more decent as one can simply not put in the tracklet info as you dont have it.
38 ~TriggerRecord() = default;
39
40 void setBCData(const BCData& data) { mBCData = data; }
41
42 const BCData& getBCData() const { return mBCData; }
43 BCData& getBCData() { return mBCData; }
44
45 //Digit information
46 void setFirstDigit(int firstentry) { mDigitDataRange.setFirstEntry(firstentry); }
47 int getFirstDigit() const { return mDigitDataRange.getFirstEntry(); }
48 void setNumberOfDigit(int nentries) { mDigitDataRange.setEntries(nentries); }
49 int getNumberOfDigits() const { return mDigitDataRange.getEntries(); }
50 void setDigitRange(int firstentry, int nentries) { mDigitDataRange.set(firstentry, nentries); }
51
52 //tracklet information
53 void setFirstTracklet(int firstentry) { mTrackletDataRange.setFirstEntry(firstentry); }
54 int getFirstTracklet() const { return mTrackletDataRange.getFirstEntry(); }
55 void setNumberOfTracklet(int nentries) { mTrackletDataRange.setEntries(nentries); }
56 int getNumberOfTracklets() const { return mTrackletDataRange.getEntries(); }
57 void setTrackletRange(int firstentry, int nentries) { mTrackletDataRange.set(firstentry, nentries); }
58
59 void printStream(std::ostream& stream) const;
60
61 bool operator==(const TriggerRecord& o) const
62 {
63 return mBCData == o.mBCData && mDigitDataRange == o.mDigitDataRange && mTrackletDataRange == o.mTrackletDataRange;
64 }
65
66 private:
67 BCData mBCData;
68 DataRange mDigitDataRange;
69 DataRange mTrackletDataRange;
70
71 ClassDefNV(TriggerRecord, 2);
72};
73
74std::ostream& operator<<(std::ostream& stream, const TriggerRecord& trg);
75
76} // namespace trd
77
78} // namespace o2
79
80#endif
bool o
Class to refer to the 1st entry and N elements of some group in the continuous container.
uint32_t bunchcrossing
Definition RawData.h:3
Header for data corresponding to the same hardware trigger adapted from DataFormatsITSMFT/ROFRecord.
const BCData & getBCData() const
void setNumberOfTracklet(int nentries)
void setNumberOfDigit(int nentries)
int getFirstTracklet() const
TriggerRecord(const BCData &bunchcrossing, int digitentry, int ndigitentries, int trackletentry=0, int ntrackletentries=0)
void setFirstTracklet(int firstentry)
void setTrackletRange(int firstentry, int nentries)
void setBCData(const BCData &data)
int getNumberOfDigits() const
void setDigitRange(int firstentry, int nentries)
int getNumberOfTracklets() const
void setFirstDigit(int firstentry)
void printStream(std::ostream &stream) const
bool operator==(const TriggerRecord &o) const
GLboolean * data
Definition glcorearb.h:298
GLuint GLuint stream
Definition glcorearb.h:1806
std::ostream & operator<<(std::ostream &stream, const Digit &d)
Definition Digit.cxx:78
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...