4#ifndef MUONCABLINGDATA_RPCCABLINGDATA_H
5#define MUONCABLINGDATA_RPCCABLINGDATA_H
17#define CABLING_OPERATORS(CL_NAME) \
18 bool operator<(const CL_NAME& other) const { return m_cache.hash < other.m_cache.hash; } \
19 bool operator==(const CL_NAME& other) const {return m_cache.hash == other.m_cache.hash; } \
20 bool operator!=(const CL_NAME& other) const { return m_cache.hash != other.m_cache.hash; } \
21 bool operator!() const {return !m_cache.hash;} \
23 CL_NAME() = default; \
24 CL_NAME(const CL_NAME& other): CL_NAME{} { \
25 m_cache.hash = other.m_cache.hash; \
27 CL_NAME& operator=(const CL_NAME& other) { \
28 if (&other != this) m_cache.hash = other.m_cache.hash; \
113 return !((*this) == other);
116 std::ostream&
operator<<(std::ostream& ostr,
const RpcCablingOfflineID& obj);
117 std::ostream&
operator<<(std::ostream& ostr,
const RpcCablingOnlineID& obj);
118 std::ostream&
operator<<(std::ostream& ostr,
const RpcCablingData& obj);
122#undef CABLING_OPERATORS
#define CABLING_OPERATORS(CL_NAME)
: Helper structs to convert the Identifier of a Rpc measurement from its offline representation into ...
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
std::ostream & operator<<(std::ostream &ostr, const Muon::HedgehogBoard &board)
uint8_t channelId
Online board channel number.
bool operator==(const RpcCablingData &other) const
Equality in terms of all offline & online fields are matching.
bool operator<(const RpcCablingData &) const =delete
No sorting operator.
bool operator!=(RpcCablingData &other) const
Inequality operator.
RpcCablingData()=default
Default constructor.
uint8_t strip
Offline strip number.
Struct to represent the offline identifier of the Rpc measurement decomposed into the particular fiel...
union Muon::RpcCablingOfflineID::@310011236274336217137144365313106374211200256350 m_cache
int8_t & phi
Eta index of the RPC station.
int8_t & eta
Station of the chamber (i.e, BIL,BIS,etc.)
int8_t & doubletZ
doublet Phi -> 1,2
int8_t & doubletPhi
doublet R -> 1,2
static constexpr int8_t measPhiBit
gas gap -> 1-3
int8_t & doubletR
Station phi of the RPC station.
int8_t & gasGap
doublet Z -> 1,2
bool measuresPhi() const
: Does the channel measure phi
static constexpr int8_t stripSideBit
bool stripSide() const
: Is the strip readout on the opposite side
void setMeasPhiAndSide(bool measPhi, bool stripSide)
Sets the measuresPhi & stripSide fields of the cabling data object.
In an analogous way to the RpcCablingOfflineID, the RpcCablingOnlineID, holds all information needed ...
int16_t & board
Unique identifier of the tdc chip.
int16_t & boardSector
Unique Identifier of the Rpc chamber from an online perspective.
int16_t & subDetector
Identifier of the subdetector region in the readout BA / BC etc.
union Muon::RpcCablingOnlineID::@060274027202166101037372020013200265211022004064 m_cache