ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::MuonDriftCircleErrorStrategy Class Reference

#include <MuonDriftCircleErrorStrategy.h>

Collaboration diagram for Muon::MuonDriftCircleErrorStrategy:

Public Types

enum  Strategy { Moore =0 , Muon =1 , UnknownStrategy =0x7 }
enum  CreationParameter {
  BroadError =3 , ScaledError , FixedError , ParameterisedErrors ,
  StationError , ErrorAtPredictedPosition , T0Refit , TofCorrection ,
  PropCorrection , TempCorrection , MagFieldCorrection , SlewCorrection ,
  BackgroundCorrection , Segment , FirstCalibWindowBit
}

Public Member Functions

 MuonDriftCircleErrorStrategy ()=default
 MuonDriftCircleErrorStrategy (const MuonDriftCircleErrorStrategyInput &bits)
 first 3 bits are Strategy, then come CreationParameter, last four are calib window bits
void setStrategy (Strategy)
 Select the strategy to be used - only one can be set at a time.
void setParameter (CreationParameter, bool value)
void setCalibWindow (unsigned long)
 Only the first nCalibWindowBits bits will be stored!
bool creationParameter (CreationParameter) const
unsigned long calibWindow () const
 Returns calibration configuration.
Strategy strategy () const
const MuonDriftCircleErrorStrategyInputgetBits () const

Static Public Attributes

static constexpr std::size_t nCalibWindowBits = 4
 Allows up to 16 configurations to be recorded.

Private Attributes

MuonDriftCircleErrorStrategyInput m_bits {}
 0,1,2 are reserved for Strategy, 3-16 are Creation parameters, 17-20 are calib window bits

Detailed Description

Definition at line 15 of file MuonDriftCircleErrorStrategy.h.

Member Enumeration Documentation

◆ CreationParameter

Enumerator
BroadError 
ScaledError 
FixedError 

A fixed error is given to this hit (user defined via jobProperties)

ParameterisedErrors 

Use parameterised errors.

StationError 

A term is added to account for misaligned.

ErrorAtPredictedPosition 
T0Refit 

A special error was applied to account for the T0 refit (user defined via jobProperties)

TofCorrection 

Time of flight correction was applied in calibration.

PropCorrection 

Propagation correction was applied in calibration.

TempCorrection 

Temperature correction was applied in calibration.

MagFieldCorrection 

Magnetic field correction was applied in calibration.

SlewCorrection 

Slewing correction was applied in calibration.

BackgroundCorrection 

Background correction was applied in calibration.

Segment 

Treating a segment or a track.

FirstCalibWindowBit 

First bit recording the calibration configuration.

Definition at line 18 of file MuonDriftCircleErrorStrategy.h.

18 { BroadError=3,// Bit 3. Create with broad errors.
19 ScaledError, // Error scaling is turned on (this is applied after eveyrthing else)
24 T0Refit,
31 Segment,
33 };
@ 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.
@ 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.
@ PropCorrection
Propagation correction was applied in calibration.
@ TempCorrection
Temperature correction was applied in calibration.

◆ Strategy

Constructor & Destructor Documentation

◆ MuonDriftCircleErrorStrategy() [1/2]

Muon::MuonDriftCircleErrorStrategy::MuonDriftCircleErrorStrategy ( )
default

◆ MuonDriftCircleErrorStrategy() [2/2]

Muon::MuonDriftCircleErrorStrategy::MuonDriftCircleErrorStrategy ( const MuonDriftCircleErrorStrategyInput & bits)
inline

first 3 bits are Strategy, then come CreationParameter, last four are calib window bits

Definition at line 36 of file MuonDriftCircleErrorStrategy.h.

Member Function Documentation

◆ calibWindow()

unsigned long Muon::MuonDriftCircleErrorStrategy::calibWindow ( ) const
inline

Returns calibration configuration.

Definition at line 88 of file MuonDriftCircleErrorStrategy.h.

88 {
89 std::bitset<nCalibWindowBits> tmpconfig;
90
91 // Copy relevant part of m_bits into temporary bitset
92 // Should do this with std::copy
93 for (std::size_t itmp=0,i=FirstCalibWindowBit; itmp<nCalibWindowBits; ++itmp,++i) {
94 tmpconfig[itmp] = m_bits[i];
95 }
96
97 return tmpconfig.to_ulong();
98}
MuonDriftCircleErrorStrategyInput m_bits
0,1,2 are reserved for Strategy, 3-16 are Creation parameters, 17-20 are calib window bits
static constexpr std::size_t nCalibWindowBits
Allows up to 16 configurations to be recorded.

◆ creationParameter()

bool Muon::MuonDriftCircleErrorStrategy::creationParameter ( CreationParameter cp) const
inline

Definition at line 82 of file MuonDriftCircleErrorStrategy.h.

82 {
83 return m_bits[static_cast<unsigned int>(cp)];
84}

◆ getBits()

const MuonDriftCircleErrorStrategyInput & Muon::MuonDriftCircleErrorStrategy::getBits ( ) const
inline

Definition at line 45 of file MuonDriftCircleErrorStrategy.h.

45{ return m_bits; }

◆ setCalibWindow()

void Muon::MuonDriftCircleErrorStrategy::setCalibWindow ( unsigned long config)
inline

Only the first nCalibWindowBits bits will be stored!

Definition at line 69 of file MuonDriftCircleErrorStrategy.h.

69 {
70 std::bitset<nCalibWindowBits> tmpconfig(config);
71
72 // Copy temporary bitset into m_bits
73 // Should do this with std::copy
74 for (std::size_t itmp=0,i=FirstCalibWindowBit; itmp<nCalibWindowBits; ++itmp,++i) {
75 m_bits[i] = tmpconfig[itmp];
76 }
77
78}

◆ setParameter()

void Muon::MuonDriftCircleErrorStrategy::setParameter ( CreationParameter cp,
bool value )
inline

Definition at line 63 of file MuonDriftCircleErrorStrategy.h.

63 {
64 m_bits[static_cast<unsigned int>(cp)] = value;
65}

◆ setStrategy()

void Muon::MuonDriftCircleErrorStrategy::setStrategy ( Strategy st)
inline

Select the strategy to be used - only one can be set at a time.

Definition at line 54 of file MuonDriftCircleErrorStrategy.h.

54 {
55 unsigned int holder = static_cast<unsigned int>(st);
56 m_bits[0] = holder&0x1;
57 m_bits[1] = holder&0x2;
58 m_bits[2] = holder&0x4;
59}

◆ strategy()

Muon::MuonDriftCircleErrorStrategy::Strategy Muon::MuonDriftCircleErrorStrategy::strategy ( ) const
inline

Definition at line 102 of file MuonDriftCircleErrorStrategy.h.

102 {
103 switch (m_bits.to_ulong()&0x7){
104 case 0:
105 return Moore;
106 case 1:
107 return Muon;
108 default:
109 return UnknownStrategy;
110 }
111 return UnknownStrategy;
112}

Member Data Documentation

◆ m_bits

MuonDriftCircleErrorStrategyInput Muon::MuonDriftCircleErrorStrategy::m_bits {}
private

0,1,2 are reserved for Strategy, 3-16 are Creation parameters, 17-20 are calib window bits

Definition at line 48 of file MuonDriftCircleErrorStrategy.h.

48{};

◆ nCalibWindowBits

std::size_t Muon::MuonDriftCircleErrorStrategy::nCalibWindowBits = 4
staticconstexpr

Allows up to 16 configurations to be recorded.

Definition at line 34 of file MuonDriftCircleErrorStrategy.h.


The documentation for this class was generated from the following file: