|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef MUON_MUONRIOONTRACK_MUONDRIFTCIRCLEERRORSTRATEGY_H
6 #define MUON_MUONRIOONTRACK_MUONDRIFTCIRCLEERRORSTRATEGY_H
9 #include "GaudiKernel/MsgStream.h"
57 unsigned int holder =
static_cast<unsigned int>(st);
66 m_bits[
static_cast<unsigned int>(
cp)] =
value;
72 std::bitset<nCalibWindowBits> tmpconfig(
config);
76 for (std::size_t itmp=0,
i=FirstCalibWindowBit; itmp<nCalibWindowBits; ++itmp,++
i) {
77 m_bits[
i] = tmpconfig[itmp];
85 return m_bits[
static_cast<unsigned int>(
cp)];
91 std::bitset<nCalibWindowBits> tmpconfig;
95 for (std::size_t itmp=0,
i=FirstCalibWindowBit; itmp<nCalibWindowBits; ++itmp,++
i) {
96 tmpconfig[itmp] = m_bits[
i];
99 return tmpconfig.to_ulong();
105 switch (m_bits.to_ulong()&0x7){
111 return UnknownStrategy;
113 return UnknownStrategy;
118 sl <<
"MuonDriftCircleErrorStrategy with strategy ";
128 sl <<
"Unknown Strategy";
130 sl <<
" and configuration bits " << myBits;
131 sl <<
" including CalibWindow " << mdces.
calibWindow() << std::endl;
137 sl <<
"MuonDriftCircleErrorStrategy with strategy ";
147 sl <<
"Unknown Strategy";
149 sl <<
" and configuration bits " << myBits;
150 sl <<
" including CalibWindow " << mdces.
calibWindow() << std::endl;
@ WireSagTimeCorrection
Wire sag correction was applied in calibration.
MuonDriftCircleErrorStrategy(const MuonDriftCircleErrorStrategyInput &bits)
first 3 bits are Strategy, then come CreationParameter, last four are calib window bits
void setCalibWindow(unsigned long)
Only the first nCalibWindowBits bits will be stored!
unsigned long calibWindow() const
Returns calibration configuration.
This class provides conversion from CSC RDO data to CSC Digits.
@ PropCorrection
Propagation correction was applied in calibration.
@ TempCorrection
Temperature correction was applied in calibration.
@ T0Refit
A special error was applied to account for the T0 refit (user defined via jobProperties)
@ WireSagGeomCorrection
Wire sag was applied, and so will affect errors.
@ FirstCalibWindowBit
First bit recording the calibration configuration.
@ SlewCorrection
Slewing correction was applied in calibration.
std::bitset< 23 > MuonDriftCircleErrorStrategyInput
@ FixedError
A fixed error is given to this hit (user defined via jobProperties)
@ TofCorrection
Time of flight correction was applied in calibration.
MuonDriftCircleErrorStrategyInput m_bits
0,1,2 are reserved for Strategy, 3-16 are Creation parameters, 17-20 are calib window bits
@ BackgroundCorrection
Background correction was applied in calibration.
@ Segment
Treating a segment or a track.
@ ErrorAtPredictedPosition
@ MagFieldCorrection
Magnetic field correction was applied in calibration.
@ StationError
A term is added to account for misaligned.
std::ostream & operator<<(std::ostream &ostr, const Muon::HedgehogBoard &board)
void setParameter(CreationParameter, bool value)
void setStrategy(Strategy)
Select the strategy to be used - only one can be set at a time.
struct TBPatternUnitContext Muon
@ ParameterisedErrors
Use parameterised errors.
static constexpr std::size_t nCalibWindowBits
Allows up to 16 configurations to be recorded.
MuonDriftCircleErrorStrategy()=default
bool creationParameter(CreationParameter) const
const MuonDriftCircleErrorStrategyInput & getBits() const
Strategy strategy() const