ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
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
15
#include "
TruthUtils/ParticleConstants.h
"
16
17
// define the particle hypotheses
18
#define PARTICLEHYPOTHESES 11
19
20
namespace
Trk
{
21
28
enum
ParticleHypothesis
{
nonInteracting
= 0,
29
geantino
= 0,
30
electron
= 1,
31
muon
= 2,
32
pion
= 3,
33
kaon
= 4,
34
proton
= 5,
35
photon
= 6,
// for Fatras usage
36
neutron
= 7,
// for Fatras usage
37
pi0
= 8,
// for Fatras usage
38
k0
= 9,
// for Fatras usage
39
nonInteractingMuon
= 10,
// For material collection
40
noHypothesis
= 99,
41
undefined
= 99};
42
53
54
namespace
ParticleMasses
{
56
constexpr
double
mass
[
PARTICLEHYPOTHESES
] =
57
{ (0.*Gaudi::Units::MeV),
// non interacting mass
58
(
ParticleConstants::electronMassInMeV
),
// electron mass
59
(
ParticleConstants::muonMassInMeV
),
// muon mass
60
(
ParticleConstants::chargedPionMassInMeV
),
// charged pion mass
61
(
ParticleConstants::chargedKaonMassInMeV
),
// kaon mass
62
(
ParticleConstants::protonMassInMeV
),
// proton mass
63
(
ParticleConstants::photonMassInMeV
),
// photon rest mass
64
(
ParticleConstants::neutronMassInMeV
),
// neutron rest mass
65
(
ParticleConstants::piZeroMassInMeV
),
// pi0 rest mass
66
(
ParticleConstants::KZeroMassInMeV
),
// K0 rest mass
67
(
ParticleConstants::muonMassInMeV
)
// muon mass
68
};
69
};
70
76
77
namespace
ParticleSwitcher
{
79
constexpr
ParticleHypothesis
particle
[
PARTICLEHYPOTHESES
] =
80
{ (
Trk::nonInteracting
),
81
(
Trk::electron
),
82
(
Trk::muon
),
83
(
Trk::pion
),
84
(
Trk::kaon
),
85
(
Trk::proton
),
86
(
Trk::photon
),
87
(
Trk::neutron
),
88
(
Trk::pi0
),
89
(
Trk::k0
),
90
(
Trk::nonInteractingMuon
)
91
};
92
};
93
94
95
}
96
97
#endif
ParticleConstants.h
A number of constexpr particle constants to avoid hardcoding them directly in various places.
PARTICLEHYPOTHESES
#define PARTICLEHYPOTHESES
Definition
ParticleHypothesis.h:18
ParticleConstants::PDG2011::muonMassInMeV
constexpr double muonMassInMeV
the mass of the muon (in MeV)
Definition
ParticleConstants.h:29
ParticleConstants::PDG2011::chargedKaonMassInMeV
constexpr double chargedKaonMassInMeV
the mass of the charged kaon (in MeV)
Definition
ParticleConstants.h:50
ParticleConstants::PDG2011::protonMassInMeV
constexpr double protonMassInMeV
the mass of the proton (in MeV)
Definition
ParticleConstants.h:71
ParticleConstants::PDG2011::KZeroMassInMeV
constexpr double KZeroMassInMeV
the mass of the neutral kaon (K0) (in MeV)
Definition
ParticleConstants.h:47
ParticleConstants::PDG2011::chargedPionMassInMeV
constexpr double chargedPionMassInMeV
the mass of the charged pion (in MeV)
Definition
ParticleConstants.h:41
ParticleConstants::PDG2011::electronMassInMeV
constexpr double electronMassInMeV
the mass of the electron (in MeV)
Definition
ParticleConstants.h:26
ParticleConstants::PDG2011::piZeroMassInMeV
constexpr double piZeroMassInMeV
the mass of the pi zero (in MeV)
Definition
ParticleConstants.h:38
ParticleConstants::PDG2011::neutronMassInMeV
constexpr double neutronMassInMeV
the mass of the neutron (in MeV)
Definition
ParticleConstants.h:68
ParticleConstants::photonMassInMeV
constexpr double photonMassInMeV
various mass-less particles
Definition
ParticleConstants.h:136
Trk::ParticleMasses
Definition
ParticleHypothesis.h:54
Trk::ParticleMasses::mass
constexpr double mass[PARTICLEHYPOTHESES]
the array of masses
Definition
ParticleHypothesis.h:56
Trk::ParticleSwitcher
Definition
ParticleHypothesis.h:77
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition
ParticleHypothesis.h:79
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::ParticleHypothesis
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.
Definition
ParticleHypothesis.h:28
Trk::pion
@ pion
Definition
ParticleHypothesis.h:32
Trk::pi0
@ pi0
Definition
ParticleHypothesis.h:37
Trk::k0
@ k0
Definition
ParticleHypothesis.h:38
Trk::nonInteractingMuon
@ nonInteractingMuon
Definition
ParticleHypothesis.h:39
Trk::electron
@ electron
Definition
ParticleHypothesis.h:30
Trk::undefined
@ undefined
Definition
ParticleHypothesis.h:41
Trk::neutron
@ neutron
Definition
ParticleHypothesis.h:36
Trk::nonInteracting
@ nonInteracting
Definition
ParticleHypothesis.h:28
Trk::kaon
@ kaon
Definition
ParticleHypothesis.h:33
Trk::photon
@ photon
Definition
ParticleHypothesis.h:35
Trk::noHypothesis
@ noHypothesis
Definition
ParticleHypothesis.h:40
Trk::proton
@ proton
Definition
ParticleHypothesis.h:34
Trk::geantino
@ geantino
Definition
ParticleHypothesis.h:29
Trk::muon
@ muon
Definition
ParticleHypothesis.h:31
Generated on
for ATLAS Offline Software by
1.17.0