Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
16 template <
unsigned int nibbleNumber,
class T>
18 unsigned int nibble(
const T number){
19 return (
number>>(4*nibbleNumber)) & 0xf;
35 std::cout<<
"SCT_OnlineId: Trying to create an invalid online Id from RodId 0x"<<std::hex<<rodId<<std::dec<<
" and fibre: "<<
fibre<<std::endl;
70 SCT_OnlineId::operator
unsigned int()
const{
96 return ((
r >=lowestRodId) and (
r<=highestRodId)) ;
106 const std::uint32_t uniqueToOppositeCase = usingDbCabling?0x220010:0x220105;
107 return ((
r >=lowestRodId) and (
r<=highestRodId) and (
r!=uniqueToOppositeCase)) ;
130 std::cout<<
"SCT_OnlineId: Invalid index for online Id "<<std::hex<<
m_onlineId<<std::dec<<
" X, Y, Z: "<<
X<<
", "<<
Y<<
", "<<
Z<<std::endl;
static bool rodIdInRange(std::uint32_t r)
Is the rod in range?
SCT_OnlineId()
Default constructor produces an invalid serial number.
SCT_OnlineId & operator++()
Implement pre-increment and post-increment for iterating over fibres in a rod.
unsigned int index() const
Return an index in the range 0-9215, calculated from parts of the onlineId.
std::uint32_t m_onlineId
The underlying number.
std::uint32_t fibre() const
Return the fibre.
bool fibreInRange(std::uint32_t f) const
Simple range check.
std::uint32_t rod() const
Return the rod/rob Id.
bool is_valid() const
Check whether the onlineId is valid, without knowing the data source; this is a rough check.