Project
Loading...
Searching...
No Matches
PixelReader.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
14
15#ifndef ALICEO2_ITSMFT_PIXELREADER_H
16#define ALICEO2_ITSMFT_PIXELREADER_H
17
18#include <Rtypes.h>
23#include <vector>
24
25namespace o2
26{
27
28namespace itsmft
29{
34{
35 public:
37
38 PixelReader() = default;
39 virtual ~PixelReader() = default;
40 PixelReader(const PixelReader& cluster) = delete;
41
43 virtual void init() = 0;
44 virtual bool getNextChipData(ChipPixelData& chipData) = 0;
45 virtual ChipPixelData* getNextChipData(std::vector<ChipPixelData>& chipDataVec) = 0;
46
47 // prepare data of next trigger, return number of non-empty links or chips
48 virtual int decodeNextTrigger() = 0;
50 {
51 return nullptr;
52 }
57
62 uint32_t getTrigger() const
63 {
64 return mTrigger;
65 }
66
67 bool getDecodeNextAuto() const { return mDecodeNextAuto; }
69
70 //
71 protected:
72 //
73 o2::InteractionRecord mInteractionRecord = {}; // interation record for the trigger
74 o2::InteractionRecord mInteractionRecordHB = {}; // interation record for the HB
75 uint32_t mTrigger = 0;
76 bool mDecodeNextAuto = true; // try to fetch/decode next trigger when getNextChipData does not see any decoded data
77
79};
80
81} // namespace itsmft
82} // namespace o2
83
84#endif /* ALICEO2_ITS_PIXELREADER_H */
A const (ready only) version of MCTruthContainer.
Transient data classes for single pixel and set of pixels from current chip.
PixelReader class for the ITSMFT.
Definition PixelReader.h:34
o2::InteractionRecord mInteractionRecordHB
Definition PixelReader.h:74
virtual int decodeNextTrigger()=0
bool getDecodeNextAuto() const
Definition PixelReader.h:67
uint32_t getTrigger() const
Definition PixelReader.h:62
void setDecodeNextAuto(bool v)
Definition PixelReader.h:68
PixelReader & operator=(const PixelReader &src)=delete
const o2::InteractionRecord & getInteractionRecord() const
Definition PixelReader.h:58
ClassDef(PixelReader, 1)
virtual ~PixelReader()=default
virtual void init()=0
o2::InteractionRecord mInteractionRecord
Definition PixelReader.h:73
virtual ChipPixelData * getNextChipData(std::vector< ChipPixelData > &chipDataVec)=0
virtual const o2::dataformats::ConstMCTruthContainerView< o2::MCCompLabel > * getDigitsMCTruth() const
Definition PixelReader.h:49
virtual bool getNextChipData(ChipPixelData &chipData)=0
const o2::InteractionRecord & getInteractionRecordHB() const
Definition PixelReader.h:53
PixelReader(const PixelReader &cluster)=delete
PixelReader()=default
Transient data for single fired pixel.
GLenum src
Definition glcorearb.h:1767
const GLdouble * v
Definition glcorearb.h:832
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...