Project
Loading...
Searching...
No Matches
PixelDecoder.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 QC_MODULE_FOCAL_PIXELDECODER_H
12#define QC_MODULE_FOCAL_PIXELDECODER_H
13
14#include <memory>
15#include <unordered_map>
16#include <gsl/span>
23
24namespace o2::focal
25{
26
28{
29 public:
30 PixelDecoder() = default;
31 ~PixelDecoder() = default;
32
33 void reset();
34 void decodeEvent(gsl::span<const o2::itsmft::GBTWord> payload);
35
36 const std::unordered_map<o2::InteractionRecord, std::vector<PixelChip>>& getChipData() const { return mChipData; }
37
38 private:
39 std::vector<PixelChip> decodeLane(uint8_t laneID, gsl::span<const uint8_t> laneWords);
40 PixelWord::PixelWordType getWordType(uint8_t payloadword);
41 uint16_t AlpideX(uint8_t region, uint8_t encoder, uint16_t address);
42 uint16_t AlpideY(uint16_t address);
43
44 std::unordered_map<o2::InteractionRecord, std::shared_ptr<PixelLaneHandler>> mPixelData;
45 std::unordered_map<o2::InteractionRecord, std::vector<PixelChip>> mChipData;
46};
47
48} // namespace o2::focal
49#endif // QC_MODULE_FOCAL_PIXELDECODER_H
void decodeEvent(gsl::span< const o2::itsmft::GBTWord > payload)
const std::unordered_map< o2::InteractionRecord, std::vector< PixelChip > > & getChipData() const
GLuint GLuint64EXT address
Definition glcorearb.h:5846