INukeHadroFates2018.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::INukeHadroFates
5 
6 \brief An enumeration of possible hadron "fates" taken into account by the
7  INTRANUKE hadron transport MC.
8 
9 \author Steve Dytman <dytman+@pitt.edu>, Pittsburgh Univ.
10  Hugh Gallagher <gallag@minos.phy.tufts.edu>, Tufts Univ.
11  Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>, Rutherford Lab.
12 
13 \created November 1, 2005
14 
15 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17 
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _INTRANUKE_FATES_H_
22 #define _INTRANUKE_FATES_H_
23 
24 #include <string>
25 
26 using std::string;
27 
28 namespace genie {
29 
30 // Fates in INTRANUKE's HN mode
31 //
32 typedef enum EINukeFateHN_t {
33 
34  kIHNFtUndefined = 0,
36  kIHNFtCEx, // cex
37  kIHNFtElas, // elas
38  kIHNFtInelas, // inelas
39  kIHNFtAbs, // abs
40  kIHNFtCmp //cmp
41 
42 } INukeFateHN_t;
43 
44 // Fates in INTRANUKE's HA mode
45 //
46 typedef enum EINukeFateHA_t {
47 
48  kIHAFtUndefined = 0,
49  kIHAFtNoInteraction, // no interaction
50  kIHAFtCEx, // cex
51  // kIHAFtElas, // elas
52  kIHAFtInelas, // inelas
53  kIHAFtAbs, // abs
54  kIHAFtKo, // knock out
55  kIHAFtCmp, // compound nucleus
56  kIHAFtPiProd, // pi production
57  kIHAFtInclPip, // pi production : inclusive pi+
58  kIHAFtInclPim, // pi production : inclusive pi-
59  kIHAFtInclPi0, // pi production : inclusive pi0
60  kIHAFtDCEx // dcex
61 
62 } INukeFateHA_t;
63 
64 class INukeHadroFates {
65 
66 public:
67  //__________________________________________________________________________
68  static string AsString(INukeFateHN_t fate) {
69  switch (fate) {
70  case kIHNFtUndefined : return "** Undefined HN-mode fate **"; break;
71  case kIHNFtCEx : return "HN-mode / cex"; break;
72  case kIHNFtElas : return "HN-mode / elas"; break;
73  case kIHNFtInelas : return "HN-mode / inelas"; break;
74  case kIHNFtAbs : return "HN-mode / abs"; break;
75  case kIHNFtCmp : return "HN-mode / compound"; break;
76  case kIHNFtNoInteraction : return "HN-mode / no interaction"; break;
77  default : break;
78  }
79  return "** Undefined HN-mode fate **";
80  }
81  //__________________________________________________________________________
82  static string AsString(INukeFateHA_t fate) {
83  switch (fate) {
84  case kIHAFtUndefined : return "** Undefined HA-mode fate **"; break;
85  case kIHAFtNoInteraction : return "HA-mode / no interaction"; break;
86  case kIHAFtCEx : return "HA-mode / cex"; break;
87  // case kIHAFtElas : return "HA-mode / elas"; break;
88  case kIHAFtInelas : return "HA-mode / inelas"; break;
89  case kIHAFtAbs : return "HA-mode / abs"; break;
90  case kIHAFtKo : return "HA-mode / knock-out"; break;
91  case kIHAFtCmp : return "HA-mode / compound"; break;
92  case kIHAFtPiProd : return "HA-mode / pi-production" ; break;
93  case kIHAFtInclPip : return "HA-mode / pi-prod incl pi+"; break;
94  case kIHAFtInclPim : return "HA-mode / pi-prod incl pi-"; break;
95  case kIHAFtInclPi0 : return "HA-mode / pi-prod incl pi0"; break;
96  case kIHAFtDCEx : return "HA-mode / dcex"; break;
97  default : break;
98  }
99  return "** Undefined HA-mode fate **";
100  }
101  //__________________________________________________________________________
102  static string AsSimpleString(INukeFateHA_t fate) {
103  switch (fate) {
104  case kIHAFtUndefined : return "undefined"; break;
105  case kIHAFtNoInteraction : return "no interaction"; break;
106  case kIHAFtCEx : return "cex"; break;
107  // case kIHAFtElas : return "elas"; break;
108  case kIHAFtInelas : return "inelas"; break;
109  case kIHAFtAbs : return "abs"; break;
110  case kIHAFtKo : return "knock out"; break;
111  case kIHAFtCmp : return "compound"; break;
112  case kIHAFtPiProd : return "pi prod"; break;
113  case kIHAFtDCEx : return "dcex"; break;
114  default : break;
115  }
116  return "undefined";
117  }
118  //__________________________________________________________________________
119 
120 };
121 
122 } // genie
123 #endif // _INTRANUKE_FATES_H_
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
std::string string
Definition: nybbler.cc:12
An enumeration of possible hadron "fates" taken into account by the INTRANUKE hadron transport MC...
enum genie::EINukeFateHN_t INukeFateHN_t
static string AsString(INukeFateHN_t fate)
static string AsString(INukeFateHA_t fate)
static string AsSimpleString(INukeFateHA_t fate)
enum genie::EINukeFateHA_t INukeFateHA_t