ATLAS Offline Software
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 
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
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 {
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),
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