1
/* This file is part of MAUS: http://micewww.pp.rl.ac.uk:8080/projects/maus
3
* MAUS is free software: you can redistribute it and/or modify
4
* it under the terms of the GNU General Public License as published by
5
* the Free Software Foundation, either version 3 of the License, or
6
* (at your option) any later version.
8
* MAUS is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with MAUS. If not, see <http://www.gnu.org/licenses/>.
19
/** @file GlobalReconEnums.hh
20
* @author Ian Taylor, University of Warwick
23
* This file provides enumerators for: a) keeping track of the
24
* locations of space- and track_points within the global
25
* reconstruction and b) the particle ID hypotheses of reconstructed
29
#ifndef _SRC_COMMON_CPP_DATASTRUCTURE_GLOBALRECONENUMS_HH_
30
#define _SRC_COMMON_CPP_DATASTRUCTURE_GLOBALRECONENUMS_HH_
33
namespace DataStructure {
36
/** @defgroup globalrecon Global Reconstruction
37
* The global reconstruction software, including both the associated
38
* data structures used for storage and the mappers containing
39
* reconstruction algorithms.
44
* \brief Defines detector element, or kVirtual for non-detector
47
* An enum to define the detector or geometry element for the
48
* SpacePoint. The kVirtual entry allows for the definition of
49
* arbitrary space- or track_points, by filling a separate member
50
* variable with a geometry path string. For the code to work, we
51
* need to keep the values consecutive and constant. I hope no new
52
* values will be needed, but if so they should be added at the end,
53
* with an incremental step and the `kDetectorPointSize' constant
57
kUndefined = 0, /**< enum Undefined, used for initialization only */
58
kVirtual = 1, /**< enum For a Virtual point with a geometry path */
81
// If you add an entry, remember to update kDetectorPointSize below.
84
/// A constant defining the upper limit of the DetectorPoint enum
85
/// (i.e. one more than the highest value above).
86
const int kDetectorPointSize = 24;
88
//////////////////////////////////////////////////////////////////////
89
/// @brief Defines the PID hypothesis for reconstruction objects,
90
/// matches the PDG codes.
92
/// An enum to define the particle hypotheses used for track fitting or
93
/// particle ID. The values match the PDG codes, allowing for
94
/// consistent expansion as necessary. The full possible list is
96
/// http://pdg.lbl.gov/2012/reviews/rpp2012-rev-monte-carlo-numbering.pdf
97
/// Particles and antiparticles are considered identically here.
102
kElectronNeutrino = 12,
103
kElectronAntineutrino = -12,
107
kMuonAntineutrino = -14,
118
kAntineutron = -2112,
123
kDeuterium = 1000010020,
124
kTritium = 1000010030,
125
kHelium3 = 1000020030,
126
kHelium4 = 1000020040
128
/** @} */ // end of globalrecon
130
} // ~namespace Global
131
} // ~namespace DataStructure