GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 <c.andreopoulos \at cern.ch>
9  University of Liverpool
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-2024, 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,
61 
63 {
64 public:
65 
66  //__________________________________________________________________________
67  static string AsString(ScatteringType_t type)
68  {
69  switch (type) {
70  case(kScUnknown) : return "Uknown to GENIE"; break;
71  case(kScQuasiElastic) : return "QES"; break;
72  case(kScSingleKaon) : return "1Kaon"; break;
73  case(kScDeepInelastic) : return "DIS"; break;
74  case(kScResonant) : return "RES"; break;
75  case(kScCoherentProduction) : return "COH"; break;
76  case(kScDiffractive) : return "DFR"; break;
77  case(kScNuElectronElastic) : return "NuEEL"; break;
78  case(kScInverseMuDecay) : return "IMD"; break;
79  case(kScAMNuGamma) : return "AMNuGamma"; break;
80  case(kScMEC) : return "MEC"; break;
81  case(kScCoherentElastic) : return "CEvNS"; break;
82  case(kScInverseBetaDecay) : return "IBD"; break;
83  case(kScGlashowResonance) : return "GLR"; break;
84  case(kScIMDAnnihilation) : return "IMDAnh"; break;
85  case(kScNorm) : return "Norm"; break;
86  case(kScPhotonCoherent) : return "PhotonCOH"; break;
87  case(kScPhotonResonance) : return "PhotonRES"; break;
88  case(kScSinglePion) : return "1Pion"; break;
89  case(kScDarkMatterElastic) : return "DMEL"; break;
90  case(kScDarkMatterDeepInelastic) : return "DMDIS"; break;
91  case(kScDarkMatterElectron) : return "DME"; break;
92  default : return "Unknown"; break;
93  }
94  return "Unknown";
95  }
96  //__________________________________________________________________________
97 };
98 
99 } // genie namespace
100 
101 #endif // _SCATTERING_TYPE_H_
Enumeration of scattering types.
static string AsString(ScatteringType_t type)
enum genie::EScatteringType ScatteringType_t