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#ifndef ALICEO2_FOCAL_TRIGGERRECORD_H
12#define ALICEO2_FOCAL_TRIGGERRECORD_H
13
14#include <cstdint>
15#include <iosfwd>
16#include "Rtypes.h"
19
20namespace o2::focal
21{
23{
26
27 public:
28 TriggerRecord() = default;
29 TriggerRecord(const BCData& bunchcrossing, int firstpadentry, int npadentries, int firstchipentry, int nchipentries, int firsthitentry, int nhitentries) : mBCData(bunchcrossing), mPadDataRange(firstpadentry, npadentries), mPixelChipRange(firstchipentry, nchipentries), mPixelHitRange(firsthitentry, nhitentries) {}
30 ~TriggerRecord() = default;
31
32 void setBCData(const BCData& data) { mBCData = data; }
33 void setPadDataRange(int firstentry, int nentries) { mPadDataRange.set(firstentry, nentries); }
34 void setPixelChipDataRange(int firstentry, int nentries) { mPixelChipRange.set(firstentry, nentries); }
35 void setPixelHitDataRange(int firstentry, int nentries) { mPixelHitRange.set(firstentry, nentries); }
36 void setIndexFirstPadObject(int firstentry) { mPadDataRange.setFirstEntry(firstentry); }
37 void setIndexFirstPixelChipObject(int firstentry) { mPixelChipRange.setFirstEntry(firstentry); }
38 void setIndexFirstPixelHitObject(int firstentry) { mPixelHitRange.setFirstEntry(firstentry); }
39 void setNumberOfPadObjects(int nentries) { mPadDataRange.setEntries(nentries); }
40 void setNumberOfPixelChipObjects(int nentries) { mPixelChipRange.setEntries(nentries); }
41 void setNumberOfPixelHitObjects(int nentries) { mPixelHitRange.setEntries(nentries); }
42
43 const BCData& getBCData() const { return mBCData; }
44 BCData& getBCData() { return mBCData; }
45 int getNumberOfPadObjects() const { return mPadDataRange.getEntries(); }
46 int getNumberOfPixelChipObjects() const { return mPixelChipRange.getEntries(); }
47 int getNumberOfPixelHitObjects() const { return mPixelHitRange.getEntries(); }
48 int getFirstPadEntry() const { return mPadDataRange.getFirstEntry(); }
49 int getFirstPixelChipEntry() const { return mPixelChipRange.getFirstEntry(); }
50 int getFirstPixelHitEntry() const { return mPixelHitRange.getFirstEntry(); }
51
52 void printStream(std::ostream& stream) const;
53
54 private:
55 BCData mBCData;
56 DataRange mPadDataRange;
57 DataRange mPixelChipRange;
58 DataRange mPixelHitRange;
59
60 ClassDefNV(TriggerRecord, 1);
61};
62
63std::ostream& operator<<(std::ostream& stream, const TriggerRecord& trg);
64
65}; // namespace o2::focal
66
67#endif
Class to refer to the 1st entry and N elements of some group in the continuous container.
uint32_t bunchcrossing
Definition RawData.h:3
void setIndexFirstPixelHitObject(int firstentry)
const BCData & getBCData() const
void setPixelChipDataRange(int firstentry, int nentries)
int getFirstPixelHitEntry() const
int getFirstPixelChipEntry() const
void setNumberOfPixelHitObjects(int nentries)
void setIndexFirstPadObject(int firstentry)
void setNumberOfPadObjects(int nentries)
int getNumberOfPixelChipObjects() const
void printStream(std::ostream &stream) const
int getNumberOfPadObjects() const
void setIndexFirstPixelChipObject(int firstentry)
void setPixelHitDataRange(int firstentry, int nentries)
TriggerRecord(const BCData &bunchcrossing, int firstpadentry, int npadentries, int firstchipentry, int nchipentries, int firsthitentry, int nhitentries)
void setNumberOfPixelChipObjects(int nentries)
void setBCData(const BCData &data)
int getNumberOfPixelHitObjects() const
void setPadDataRange(int firstentry, int nentries)
GLboolean * data
Definition glcorearb.h:298
GLuint GLuint stream
Definition glcorearb.h:1806
std::ostream & operator<<(std::ostream &in, const IndexExceptionEvent &error)