Project
Loading...
Searching...
No Matches
HmpidDecodeRawMem.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
18
19#ifndef COMMON_HMPIDDECODERAWMEM_H_
20#define COMMON_HMPIDDECODERAWMEM_H_
21
22#include <cctype>
23#include <cstdio>
24#include <cstdlib>
25#include <unistd.h>
26#include <cstring>
27#include <vector>
28
30#include "HMPIDBase/Geo.h"
32
33using namespace o2;
34
35namespace o2
36{
37namespace hmpid
38{
39
41{
42 public:
43 HmpidDecodeRawMem(int* EqIds, int* CruIds, int* LinkIds, int numOfEquipments);
44 HmpidDecodeRawMem(int numOfEquipments);
46
47 bool setUpStream(void* Buffer, long BufferLen) override;
48
49 private:
50 bool getBlockFromStream(uint32_t** streamPtr, uint32_t Size) override;
51 bool getHeaderFromStream(uint32_t** streamPtr) override;
52 bool getWordFromStream(uint32_t* word) override;
53 void setPad(HmpidEquipment* eq, int col, int dil, int ch, uint16_t charge) override;
54
55 private:
56};
57
59{
60 public:
61 HmpidDecodeRawDigit(int* EqIds, int* CruIds, int* LinkIds, int numOfEquipments);
62 HmpidDecodeRawDigit(int numOfEquipments);
64
65 std::vector<o2::hmpid::Digit> mDigits;
66
67 private:
68 void setPad(HmpidEquipment* eq, int col, int dil, int ch, uint16_t charge) override;
69};
70
71} // namespace hmpid
72} // namespace o2
73#endif /* COMMON_HMPIDDECODERAWFILE_H_ */
int16_t charge
Definition RawEventData.h:5
Base Class to decode HMPID Raw Data stream.
uint32_t col
Definition RawData.h:4
std::vector< o2::hmpid::Digit > mDigits
bool setUpStream(void *Buffer, long BufferLen) override
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...