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 
16 
17 // define the particle hypotheses
18 #define PARTICLEHYPOTHESES 11
19 
20 namespace Trk {
21 
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
41  undefined = 99};
42 
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
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
68  };
69  };
70 
77  namespace ParticleSwitcher {
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),
91  };
92  };
93 
94 
95 }
96 
97 #endif
Trk::noHypothesis
@ noHypothesis
Definition: ParticleHypothesis.h:40
ParticleConstants::photonMassInMeV
constexpr double photonMassInMeV
various mass-less particles
Definition: ParticleConstants.h:136
Trk::proton
@ proton
Definition: ParticleHypothesis.h:34
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:79
Trk::k0
@ k0
Definition: ParticleHypothesis.h:38
ParticleMasses
Trk::pi0
@ pi0
Definition: ParticleHypothesis.h:37
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
Trk::undefined
@ undefined
Definition: ParticleHypothesis.h:41
ParticleConstants::PDG2011::piZeroMassInMeV
constexpr double piZeroMassInMeV
the mass of the pi zero (in MeV)
Definition: ParticleConstants.h:38
python.SystemOfUnits.MeV
float MeV
Definition: SystemOfUnits.py:172
ParticleConstants::PDG2011::chargedPionMassInMeV
constexpr double chargedPionMassInMeV
the mass of the charged pion (in MeV)
Definition: ParticleConstants.h:41
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:28
ParticleConstants.h
Trk::electron
@ electron
Definition: ParticleHypothesis.h:30
ParticleSwitcher
Definition: ParticleHypothesis.h:69
ParticleConstants::PDG2011::KZeroMassInMeV
constexpr double KZeroMassInMeV
the mass of the neutral kaon (K0) (in MeV)
Definition: ParticleConstants.h:47
Trk::pion
@ pion
Definition: ParticleHypothesis.h:32
Trk::geantino
@ geantino
Definition: ParticleHypothesis.h:29
Trk::muon
@ muon
Definition: ParticleHypothesis.h:31
Trk::neutron
@ neutron
Definition: ParticleHypothesis.h:36
Trk::ParticleMasses::mass
constexpr double mass[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:56
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::nonInteracting
@ nonInteracting
Definition: ParticleHypothesis.h:28
Trk::kaon
@ kaon
Definition: ParticleHypothesis.h:33
Trk::photon
@ photon
Definition: ParticleHypothesis.h:35
ParticleConstants::PDG2011::protonMassInMeV
constexpr double protonMassInMeV
the mass of the proton (in MeV)
Definition: ParticleConstants.h:71
Trk::nonInteractingMuon
@ nonInteractingMuon
Definition: ParticleHypothesis.h:39
PARTICLEHYPOTHESES
#define PARTICLEHYPOTHESES
Definition: ParticleHypothesis.h:18
ParticleConstants::PDG2011::neutronMassInMeV
constexpr double neutronMassInMeV
the mass of the neutron (in MeV)
Definition: ParticleConstants.h:68
ParticleConstants::PDG2011::electronMassInMeV
constexpr double electronMassInMeV
the mass of the electron (in MeV)
Definition: ParticleConstants.h:26