12#include <klm/dataobjects/bklm/BKLMElementNumbers.h>
13#include <klm/dataobjects/eklm/EKLMElementNumbers.h>
14#include <klm/dataobjects/KLMElementNumbers.h>
38 c_StopInForwardEndcap = 2,
40 c_ExitForwardEndcap = 4,
41 c_StopInBackwardEndcap = 5,
42 c_ExitBackwardEndcap = 6,
43 c_CrossBarrelStopInForwardMin = 7,
44 c_CrossBarrelStopInForwardMax = 21,
45 c_CrossBarrelStopInBackwardMin = 22,
46 c_CrossBarrelStopInBackwardMax = 36,
47 c_CrossBarrelExitForwardMin = 37,
48 c_CrossBarrelExitForwardMax = 51,
49 c_CrossBarrelExitBackwardMin = 52,
50 c_CrossBarrelExitBackwardMax = 66
224 static int getTransverseID(
int hypothesis,
int detector,
int degreesOfFreedom);
static constexpr int getMaximalLayerNumber()
Get maximal layer number (1-based).
static constexpr int getMaximalLayerNumber()
Get maximal layer number.
DetectorsCrossed
Labels for detectors crossed.
static constexpr int m_MaximalEndcapForwardLayer
Maximal endcap-forward layer number (0-based).
static constexpr int getMaximalDetector()
Get maximal value of the detector selector (for transverse scattering).
static constexpr int m_SizeReducedChiSquared
Size of array with reduced chi-squared values (for transverse scattering).
static int getLongitudinalID(int hypothesis, int outcome, int lastLayer)
Get the unique longitudinal identifier for given hypothesis, outcome and last layer crossed.
static constexpr double m_MaximalReducedChiSquared
Maximal value of reduced chi-squared (for transverse scattering).
static constexpr int getMaximalEndcapForwardLayer()
Get maximal endcap-forward layer number (0-based).
static int getTransverseID(int hypothesis, int detector, int degreesOfFreedom)
Get the unique transverse identifier for given hypothesis, detector and degrees of freedom.
static unsigned int calculateExtrapolationOutcome(bool isForward, bool escaped, int lastBarrelLayer, int lastEndcapLayer)
Calculate the track extrapolation outcome.
static constexpr int getMaximalHalfNdof()
Get maximal value of NDof/2 (for transverse scattering).
static constexpr int getMaximalEndcapBackwardLayer()
Get maximal endcap-forward layer number (0-based).
MuidElementNumbers()
Constructor.
static constexpr int getMaximalBarrelLayer()
Get maximal barrel layer number (0-based).
static constexpr double getMaximalReducedChiSquared()
Get maximal value of reduced chi-squared (for transverse scattering).
IdentifierBits
Bits used for unique identifiers in getLongitudinalID() and in getTransverseID().
@ c_OutcomeBit
Number of bits occupied by outcome in getLongitudinalID().
@ c_DetectorBit
Number of bits occupied by detector in getTransverseID().
@ c_DegreesOfFreedomBit
Number of bits occupied by degreesOfFreedom in getTransverseID().
@ c_LastLayerBit
Number of bits occupied by lastLayer in getLongitudinalID().
static constexpr int m_MaximalDetector
Maximal value of the detector selector (for transverse scattering).
static std::vector< int > getPDGVector()
Get a vector with all the hypothesis PDG codes used for Muid.
Outcome
Outcome of the track extrapolation.
static bool checkExtrapolationOutcome(unsigned int outcome, int lastLayer)
Check the track extrapolation outcome.
static constexpr int m_MaximalEndcapBackwardLayer
Maximal endcap-backward layer number (0-based).
Hypothesis
Hypothesis number.
static constexpr int m_MaximalOutcome
Maximal value of the outcome extrapolation.
static Hypothesis calculateHypothesisFromPDG(int pdg)
Calculate hypothesis number from PDG code.
static constexpr int m_MaximalHalfNDof
Maximal value of NDof/2 (for transverse scattering).
static constexpr int getSizeReducedChiSquared()
Get size of array with reduced chi-squared values (for transverse scattering).
static constexpr int m_MaximalBarrelLayer
Maximal barrel layer number (0-based).
static constexpr int getMaximalOutcome()
Get maximal value of the track extrapolation outcome.
~MuidElementNumbers()
Destructor.
Abstract base class for different kinds of events.