ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
ITkPixelCabling
ITkPixelCabling
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
18
class
ITkPixelOnlineId
{
19
public
:
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
{
40
INVALID_FIBRE
=255,
INVALID_ROD
=16777215,
INVALID_ONLINE_ID
=0xFFFFFFFF
41
};
42
private
:
43
std::uint32_t
m_onlineId
{
INVALID_ONLINE_ID
};
44
45
};
46
47
namespace
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
Definition
ITkPixelOnlineId.h:18
ITkPixelOnlineId::ITkPixelOnlineId
ITkPixelOnlineId()=default
Default constructor produces an invalid serial number.
ITkPixelOnlineId::INVALID_ONLINE_ID
@ INVALID_ONLINE_ID
Definition
ITkPixelOnlineId.h:40
ITkPixelOnlineId::INVALID_FIBRE
@ INVALID_FIBRE
Definition
ITkPixelOnlineId.h:40
ITkPixelOnlineId::INVALID_ROD
@ INVALID_ROD
Definition
ITkPixelOnlineId.h:40
ITkPixelOnlineId::isValid
bool isValid() const
Definition
ITkPixelOnlineId.cxx:30
ITkPixelOnlineId::rod
std::uint32_t rod() const
Return the rod/rob Id.
Definition
ITkPixelOnlineId.cxx:19
ITkPixelOnlineId::operator<<
friend std::ostream & operator<<(std::ostream &os, const ITkPixelOnlineId &id)
representation for debugging, messages
Definition
ITkPixelOnlineId.cxx:34
ITkPixelOnlineId::m_onlineId
std::uint32_t m_onlineId
Definition
ITkPixelOnlineId.h:43
ITkPixelOnlineId::operator<=>
auto operator<=>(const ITkPixelOnlineId &other) const =default
Equality etc.
ITkPixelOnlineId::fibre
std::uint32_t fibre() const
Return the fibre.
Definition
ITkPixelOnlineId.cxx:25
std
STL namespace.
std::hash< ITkPixelOnlineId >::operator()
size_t operator()(const ITkPixelOnlineId &id) const
Definition
ITkPixelOnlineId.h:50
Generated on
for ATLAS Offline Software by
1.17.0