ATLAS Offline Software
ITkPixelOnlineId.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef ITkPixelOnlineId_h
5 #define ITkPixelOnlineId_h
6 
12 #include <cstdint>
13 #include <iosfwd>
14 #include <compare>
15 #include <utility>
16 #include <typeindex> //provides std::hash
17 
19 public:
21  friend std::ostream& operator<<(std::ostream & os, const ITkPixelOnlineId & id);
23  ITkPixelOnlineId() = default;
25  ITkPixelOnlineId(const std::uint32_t onlineId);
29  std::uint32_t rod() const;
31  std::uint32_t fibre() const;
33  explicit operator unsigned int() const {return m_onlineId;}
35  auto operator<=>(const ITkPixelOnlineId & other) const = default;
36 
37  bool isValid() const;
38 
39  enum {
40  INVALID_FIBRE=255, INVALID_ROD=16777215, INVALID_ONLINE_ID=0xFFFFFFFF
41  };
42 private:
44 
45 };
46 
47 namespace std {
48  template<>
50  size_t operator()(const ITkPixelOnlineId& id) const{
51  return static_cast<size_t>((unsigned int)id);
52  }
53  };
54 }
55 
56 
57 
58 #endif
ITkPixelOnlineId::INVALID_FIBRE
@ INVALID_FIBRE
Definition: ITkPixelOnlineId.h:40
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
ITkPixelOnlineId::INVALID_ROD
@ INVALID_ROD
Definition: ITkPixelOnlineId.h:40
ITkPixelOnlineId::isValid
bool isValid() const
Definition: ITkPixelOnlineId.cxx:30
ITkPixelOnlineId::operator<<
friend std::ostream & operator<<(std::ostream &os, const ITkPixelOnlineId &id)
representation for debugging, messages
Definition: ITkPixelOnlineId.cxx:34
ITkPixelOnlineId::ITkPixelOnlineId
ITkPixelOnlineId()=default
Default constructor produces an invalid serial number.
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
ITkPixelOnlineId::fibre
std::uint32_t fibre() const
Return the fibre.
Definition: ITkPixelOnlineId.cxx:25
std::hash< ITkPixelOnlineId >::operator()
size_t operator()(const ITkPixelOnlineId &id) const
Definition: ITkPixelOnlineId.h:50
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:108
ITkPixelOnlineId
Definition: ITkPixelOnlineId.h:18
ITkPixelOnlineId::m_onlineId
std::uint32_t m_onlineId
Definition: ITkPixelOnlineId.h:43
ITkPixelOnlineId::rod
std::uint32_t rod() const
Return the rod/rob Id.
Definition: ITkPixelOnlineId.cxx:19
ITkPixelOnlineId::INVALID_ONLINE_ID
@ INVALID_ONLINE_ID
Definition: ITkPixelOnlineId.h:40