ATLAS Offline Software
Loading...
Searching...
No Matches
HGTD_ALTIROC_RDO.h
Go to the documentation of this file.
1
10
11#ifndef HGTD_RAWDATA_HGTD_ALTIROC_RDO_H
12#define HGTD_RAWDATA_HGTD_ALTIROC_RDO_H
13
15
16#include "Identifier/Identifier.h"
17
18#include <cstdint>
19
21
22public:
26 HGTD_ALTIROC_RDO() = default;
31
32 // Destructor:
33 virtual ~HGTD_ALTIROC_RDO() = default;
34
41 HGTD_ALTIROC_RDO(const Identifier rdo_id, const uint64_t word);
42
43 HGTD_ALTIROC_RDO(const Identifier rdo_id,
44 const uint8_t crc,
45 const uint8_t toa,
46 const uint16_t tot,
47 const uint8_t l1id,
48 const uint16_t bcid);
49
50 virtual Identifier identify() const;
51 virtual uint16_t getToT() const;
52 virtual uint8_t getToA() const;
53 virtual uint16_t getBCID() const;
54 virtual uint8_t getL1ID() const;
55 virtual uint8_t getCRC() const;
56 virtual uint64_t getWord() const;
57
58private:
62
65 uint64_t m_word{};
66};
67
69
70// decode BCID information (10 bits)
71inline uint16_t HGTD_ALTIROC_RDO::getBCID() const { return ((m_word>>30) & 0x3FF); }
72
73// decode L1ID information (6 bits)
74inline uint8_t HGTD_ALTIROC_RDO::getL1ID() const { return ((m_word>>24) & 0x3F); }
75
76// decode TOT information (9 bits)
77inline uint16_t HGTD_ALTIROC_RDO::getToT() const { return ((m_word>>15) & 0x1FF); }
78
79// decode TOA information (7 bits)
80inline uint8_t HGTD_ALTIROC_RDO::getToA() const { return ((m_word>>8) & 0x7F); }
81
82// decode CRC information (8 bits)
83inline uint8_t HGTD_ALTIROC_RDO::getCRC() const { return ((m_word) & 0xFF); }
84
85// Return raw altiroc word
86inline uint64_t HGTD_ALTIROC_RDO::getWord() const { return m_word; }
87
88#endif // HGTD_RAWDATA_HGTD_ALTIROC_RDO_H
Identifier m_rdo_id
Offline ID of the readout channel.
virtual uint8_t getCRC() const
virtual uint8_t getToA() const
HGTD_ALTIROC_RDO & operator=(HGTD_ALTIROC_RDO &&)=default
uint64_t m_word
ALTIROC RAW output.
virtual uint64_t getWord() const
HGTD_ALTIROC_RDO(HGTD_ALTIROC_RDO &&)=default
HGTD_ALTIROC_RDO & operator=(const HGTD_ALTIROC_RDO &)=default
virtual uint16_t getToT() const
virtual ~HGTD_ALTIROC_RDO()=default
virtual uint8_t getL1ID() const
virtual uint16_t getBCID() const
HGTD_ALTIROC_RDO(const HGTD_ALTIROC_RDO &)=default
virtual Identifier identify() const
HGTD_ALTIROC_RDO()=default
Default constructor should NOT be used, needed for pool I/O.
This class provides an abstract interface to an Identifiable object.