ATLAS Offline Software
Tracking
TrkEvent
TrkEventPrimitives
TrkEventPrimitives
ParticleHypothesis.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// ParticleHypothesis.h, (c) ATLAS Detector software
8
9
#ifndef TRKEXUTILS_PARTICLEHYPOTHESIS_H
10
#define TRKEXUTILS_PARTICLEHYPOTHESIS_H
11
12
// Gaudi
13
#include "GaudiKernel/SystemOfUnits.h"
14
// define the particle hypotheses
15
#define PARTICLEHYPOTHESES 11
16
17
namespace
Trk
{
18
25
enum
ParticleHypothesis
{
nonInteracting
= 0,
26
geantino
= 0,
27
electron
= 1,
28
muon
= 2,
29
pion
= 3,
30
kaon
= 4,
31
proton
= 5,
32
photon
= 6,
// for Fatras usage
33
neutron
= 7,
// for Fatras usage
34
pi0
= 8,
// for Fatras usage
35
k0
= 9,
// for Fatras usage
36
nonInteractingMuon
= 10,
// For material collection
37
noHypothesis
= 99,
38
undefined
= 99};
39
51
namespace
ParticleMasses
{
53
constexpr
double
mass
[
PARTICLEHYPOTHESES
] =
54
{ (0.*
Gaudi::Units::MeV
),
// non interacting mass
55
(0.51099891*
Gaudi::Units::MeV
),
// electron mass
56
(105.658367*
Gaudi::Units::MeV
),
// muon mass
57
(139.57018*
Gaudi::Units::MeV
),
// charged pion mass
58
(493.677*
Gaudi::Units::MeV
),
// kaon mass
59
(938.272013*
Gaudi::Units::MeV
),
// proton mass
60
(0.*
Gaudi::Units::MeV
),
// photon rest mass
61
(939.565346*
Gaudi::Units::MeV
),
// neutron rest mass
62
(134.9766*
Gaudi::Units::MeV
),
// pi0 rest mass
63
(497.614*
Gaudi::Units::MeV
),
// K0 rest mass
64
(105.658367*
Gaudi::Units::MeV
)
// muon mass
65
};
66
};
67
74
namespace
ParticleSwitcher
{
76
constexpr
ParticleHypothesis
particle
[
PARTICLEHYPOTHESES
] =
77
{ (
Trk::nonInteracting
),
78
(
Trk::electron
),
79
(
Trk::muon
),
80
(
Trk::pion
),
81
(
Trk::kaon
),
82
(
Trk::proton
),
83
(
Trk::photon
),
84
(
Trk::neutron
),
85
(
Trk::pi0
),
86
(
Trk::k0
),
87
(
Trk::nonInteractingMuon
)
88
};
89
};
90
91
92
}
93
94
#endif
Trk::noHypothesis
@ noHypothesis
Definition:
ParticleHypothesis.h:37
Trk::proton
@ proton
Definition:
ParticleHypothesis.h:31
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition:
ParticleHypothesis.h:76
Trk::k0
@ k0
Definition:
ParticleHypothesis.h:35
ParticleMasses
Trk::pi0
@ pi0
Definition:
ParticleHypothesis.h:34
python.SystemOfUnits.MeV
int MeV
Definition:
SystemOfUnits.py:154
Trk::undefined
@ undefined
Definition:
ParticleHypothesis.h:38
Trk::ParticleHypothesis
ParticleHypothesis
Definition:
ParticleHypothesis.h:25
Trk::electron
@ electron
Definition:
ParticleHypothesis.h:27
ParticleSwitcher
Definition:
ParticleHypothesis.h:66
Trk::pion
@ pion
Definition:
ParticleHypothesis.h:29
Trk::geantino
@ geantino
Definition:
ParticleHypothesis.h:26
Trk::muon
@ muon
Definition:
ParticleHypothesis.h:28
Trk::neutron
@ neutron
Definition:
ParticleHypothesis.h:33
Trk::ParticleMasses::mass
constexpr double mass[PARTICLEHYPOTHESES]
the array of masses
Definition:
ParticleHypothesis.h:53
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition:
FakeTrackBuilder.h:9
Trk::nonInteracting
@ nonInteracting
Definition:
ParticleHypothesis.h:25
Trk::kaon
@ kaon
Definition:
ParticleHypothesis.h:30
Trk::photon
@ photon
Definition:
ParticleHypothesis.h:32
Trk::nonInteractingMuon
@ nonInteractingMuon
Definition:
ParticleHypothesis.h:36
PARTICLEHYPOTHESES
#define PARTICLEHYPOTHESES
Definition:
ParticleHypothesis.h:15
Generated on Thu Nov 7 2024 21:23:18 for ATLAS Offline Software by
1.8.18