ATLAS Offline Software
Classes
HGTD_RDO.h File Reference

Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration. More...

#include "Identifier/Identifiable.h"
#include "Identifier/Identifier.h"
#include <cstdint>
Include dependency graph for HGTD_RDO.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  HGTD_RDO
 

Detailed Description

Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.

Author
Alexander Leopold alexa.nosp@m.nder.nosp@m..leop.nosp@m.old@.nosp@m.cern..nosp@m.ch

This is a first implementation, but needs improvement in the future to be closer to real detector output. For now a format compatible with HGTD_Cluster was chosen for simplicity.

Raw data word as sent from the ASIC. Contains: - TOA 7 bits [0, 127]

unsigned int m_word; //This is used for Pixel, eqv to uint32_t

uint64_t m_word; // FIXME might be that I have to use this here!!

since is quite large, can I use std::bitset<N> here? =>> wastes space?!

maybe better: bit field ?? struct HGTD_RAWBitfield { unsigned int toa : 7; unsigned int tot : 9; unsigned int bcid : 8; unsigned int l1a : 4; unsigned int l1id : 8; }; but: The layout of bit-fields is non-portable && might give issues with ROOT I/O maybe splitting the word into individual data members best? 16 bit for TAO & TOT (uint16_t) >=20 bit needed for bcid, l1a, l1id (uint16_t + uint8_t, grouped) totals to 40 bits

Definition in file HGTD_RDO.h.