ATLAS Offline Software
Loading...
Searching...
No Matches
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
12#include <cstdint>
13#include <iosfwd>
14#include <compare>
15#include <utility>
16#include <typeindex> //provides std::hash
17
19public:
21 friend std::ostream& operator<<(std::ostream & os, const ITkPixelOnlineId & id);
23 ITkPixelOnlineId() = default;
25 ITkPixelOnlineId(const std::uint32_t onlineId);
27 ITkPixelOnlineId(const std::uint32_t rodId, const std::uint32_t fibre);
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 {
41 };
42private:
44
45};
46
47namespace std {
48 template<>
49 struct hash<ITkPixelOnlineId>{
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()=default
Default constructor produces an invalid serial number.
std::uint32_t rod() const
Return the rod/rob Id.
friend std::ostream & operator<<(std::ostream &os, const ITkPixelOnlineId &id)
representation for debugging, messages
std::uint32_t m_onlineId
auto operator<=>(const ITkPixelOnlineId &other) const =default
Equality etc.
std::uint32_t fibre() const
Return the fibre.
STL namespace.
size_t operator()(const ITkPixelOnlineId &id) const