ScatteringType.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::ScatteringType
5 
6 \brief Enumeration of scattering types
7 
8 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
9  University of Liverpool & STFC Rutherford Appleton Laboratory
10 
11  Changes required to implement the GENIE Boosted Dark Matter module
12  were installed by Josh Berger (Univ. of Wisconsin)
13 
14 \created May 06, 2004
15 
16 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
17  For the full text of the license visit http://copyright.genie-mc.org
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _SCATTERING_TYPE_H_
22 #define _SCATTERING_TYPE_H_
23 
24 #include <cassert>
25 #include <string>
26 
27 using std::string;
28 
29 namespace genie {
30 
31 // Note: please attach new _neutrino_ scattering modes to the _end_ of the
32 // list of neutrino enums, and new dark matter modes to the end of the list
33 // of dark matter enums, etc. If adding an entirely new set of enums, please
34 // append to the end of the total list and set a new enum counter value.
35 typedef enum EScatteringType {
36 
37  kScUnknown = -100,
38  kScNull = 0,
57 
59 {
60 public:
61 
62  //__________________________________________________________________________
63  static string AsString(ScatteringType_t type)
64  {
65  switch (type) {
66  case(kScUnknown) : return "Uknown to GENIE"; break;
67  case(kScQuasiElastic) : return "QES"; break;
68  case(kScSingleKaon) : return "1Kaon"; break;
69  case(kScDeepInelastic) : return "DIS"; break;
70  case(kScResonant) : return "RES"; break;
71  case(kScCoherentProduction) : return "COH"; break;
72  case(kScDiffractive) : return "DFR"; break;
73  case(kScNuElectronElastic) : return "NuEEL"; break;
74  case(kScInverseMuDecay) : return "IMD"; break;
75  case(kScAMNuGamma) : return "AMNuGamma"; break;
76  case(kScMEC) : return "MEC"; break;
77  case(kScCoherentElastic) : return "CEvNS"; break;
78  case(kScInverseBetaDecay) : return "IBD"; break;
79  case(kScGlashowResonance) : return "GLR"; break;
80  case(kScIMDAnnihilation) : return "IMDAnh"; break;
81  case(kScDarkMatterElastic) : return "DMEL"; break;
82  case(kScDarkMatterDeepInelastic) : return "DMDIS"; break;
83  case(kScDarkMatterElectron) : return "DME"; break;
84  default : return "Unknown"; break;
85  }
86  return "Unknown";
87  }
88  //__________________________________________________________________________
89 };
90 
91 } // genie namespace
92 
93 #endif // _SCATTERING_TYPE_H_
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
std::string string
Definition: nybbler.cc:12
Enumeration of scattering types.
static string AsString(ScatteringType_t type)
enum genie::EScatteringType ScatteringType_t