11#include "GaudiKernel/Bootstrap.h"
12#include "GaudiKernel/ISvcLocator.h"
13#include "GaudiKernel/IMessageSvc.h"
14#include "GaudiKernel/MsgStream.h"
15#include "GaudiKernel/StatusCode.h"
16#include "GaudiKernel/GaudiException.h"
66 throw GaudiException(
"MuCTPI_MultiplicityWord_Decoder::getMultiplicity> Threshold out of range",
67 "MuCTPI_MultiplicityWord_Decoder::getMultiplicity", StatusCode::FAILURE );
90 SmartIF<IMessageSvc> msgSvc{Gaudi::svcLocator()->service(
"MessageSvc")};
94 MsgStream log( msgSvc,
"MuCTPI_MultiplicityWord_Decoder" );
107 log << MSG::DEBUG <<
"=================================================" <<
endmsg;
110 log << MSG::DEBUG <<
"Pt threshold " << ( i + 1 ) <<
", multiplicity " <<
getMultiplicity( i ) <<
endmsg;
113 log << MSG::DEBUG <<
"MICTP BCID: 0x" << MSG::hex
115 log << MSG::DEBUG <<
"=================================================" <<
endmsg;
void dumpData() const
Function dumping the stored information to the message stream.
uint16_t getBCID() const
Function returning the 3-bit BCID fragment in the multiplicity word.
uint16_t getMultiplicity(const uint16_t candidateNumber) const
Function returning the 3-bit candidate multiplicity for the specified threshold.
uint16_t getNCandidates() const
Function returning the total number of muon candidates.
uint32_t m_multiplicityWord
The 32-bit multiplicity word to decode.
MuCTPI_MultiplicityWord_Decoder(const uint32_t multword=0, const TriggerMode_t mode=exclusive)
Constructor.
TriggerMode_t m_triggerMode
Trigger threshold mode (inclusive/exclusive)
TriggerMode_t
Possible trigger threshold modes.
static constexpr uint32_t MULT_BITS
Number of multiplicity bits reserved per threshold.
static constexpr uint32_t MULT_THRESH_NUM
static constexpr uint32_t MULT_BCID_POS
static constexpr uint32_t MULT_VAL
Binary 111 representing the maximal multiplicity value for a given threshold.