|
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!
std::ostream & operator<<(std::ostream &stream, const NSW_PadTriggerData &rhs)
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
const MuonDriftCircleErrorStrategyInput getBits() const
@ 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.
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
Strategy strategy() const