5#ifndef MUON_MUONRIOONTRACK_MUONDRIFTCIRCLEERRORSTRATEGY_H
6#define MUON_MUONRIOONTRACK_MUONDRIFTCIRCLEERRORSTRATEGY_H
9#include "GaudiKernel/MsgStream.h"
55 unsigned int holder =
static_cast<unsigned int>(st);
64 m_bits[
static_cast<unsigned int>(cp)] = value;
70 std::bitset<nCalibWindowBits> tmpconfig(
config);
75 m_bits[i] = tmpconfig[itmp];
83 return m_bits[
static_cast<unsigned int>(cp)];
89 std::bitset<nCalibWindowBits> tmpconfig;
94 tmpconfig[itmp] =
m_bits[i];
97 return tmpconfig.to_ulong();
103 switch (
m_bits.to_ulong()&0x7){
116 sl <<
"MuonDriftCircleErrorStrategy with strategy ";
126 sl <<
"Unknown Strategy";
128 sl <<
" and configuration bits " << myBits;
129 sl <<
" including CalibWindow " << mdces.
calibWindow() << std::endl;
135 sl <<
"MuonDriftCircleErrorStrategy with strategy ";
145 sl <<
"Unknown Strategy";
147 sl <<
" and configuration bits " << myBits;
148 sl <<
" including CalibWindow " << mdces.
calibWindow() << std::endl;
void setStrategy(Strategy)
Select the strategy to be used - only one can be set at a time.
bool creationParameter(CreationParameter) const
MuonDriftCircleErrorStrategyInput m_bits
0,1,2 are reserved for Strategy, 3-16 are Creation parameters, 17-20 are calib window bits
MuonDriftCircleErrorStrategy()=default
static constexpr std::size_t nCalibWindowBits
Allows up to 16 configurations to be recorded.
Strategy strategy() const
const MuonDriftCircleErrorStrategyInput & getBits() const
unsigned long calibWindow() const
Returns calibration configuration.
void setParameter(CreationParameter, bool value)
void setCalibWindow(unsigned long)
Only the first nCalibWindowBits bits will be stored!
MuonDriftCircleErrorStrategy(const MuonDriftCircleErrorStrategyInput &bits)
first 3 bits are Strategy, then come CreationParameter, last four are calib window bits
@ StationError
A term is added to account for misaligned.
@ T0Refit
A special error was applied to account for the T0 refit (user defined via jobProperties)
@ FixedError
A fixed error is given to this hit (user defined via jobProperties)
@ MagFieldCorrection
Magnetic field correction was applied in calibration.
@ ParameterisedErrors
Use parameterised errors.
@ SlewCorrection
Slewing correction was applied in calibration.
@ FirstCalibWindowBit
First bit recording the calibration configuration.
@ TofCorrection
Time of flight correction was applied in calibration.
@ BackgroundCorrection
Background correction was applied in calibration.
@ ErrorAtPredictedPosition
@ PropCorrection
Propagation correction was applied in calibration.
@ Segment
Treating a segment or a track.
@ TempCorrection
Temperature correction was applied in calibration.
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
std::ostream & operator<<(std::ostream &ostr, const Muon::HedgehogBoard &board)
std::bitset< 23 > MuonDriftCircleErrorStrategyInput