INukeHadroFates.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 <costas.andreopoulos \at stfc.ac.uk>, Rutherford Lab.
12 
13 \created November 1, 2005
14 
15 \cpright Copyright (c) 2003-2019, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17  or see $GENIE/LICENSE
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _INTRANUKE_FATES_H_
22 #define _INTRANUKE_FATES_H_
23 
24 #include <string>
25 
26 
27 
28 namespace genie {
29 
30 using std::string;
31 
32 // Fates in INTRANUKE's HN mode
33 //
34 typedef enum EINukeFateHN_t {
35 
38  kIHNFtCEx, // cex
39  kIHNFtElas, // elas
40  kIHNFtInelas, // inelas
41  kIHNFtAbs, // abs
42  kIHNFtCmp //cmp
43 
44 } INukeFateHN_t;
45 
46 // Fates in INTRANUKE's HA mode
47 //
48 typedef enum EINukeFateHA_t {
49 
51  kIHAFtNoInteraction, // no interaction
52  kIHAFtCEx, // cex
53  kIHAFtElas, // elas
54  kIHAFtInelas, // inelas
55  kIHAFtAbs, // abs
56  kIHAFtKo, // knock out
57  kIHAFtCmp, // compound nucleus
58  kIHAFtPiProd, // pi production
59  kIHAFtInclPip, // pi production : inclusive pi+
60  kIHAFtInclPim, // pi production : inclusive pi-
61  kIHAFtInclPi0, // pi production : inclusive pi0
62  kIHAFtDCEx // dcex
63 
64 } INukeFateHA_t;
65 
67 
68 public:
69  //__________________________________________________________________________
70  static string AsString(INukeFateHN_t fate) {
71  switch (fate) {
72  case kIHNFtUndefined : return "** Undefined HN-mode fate **"; break;
73  case kIHNFtCEx : return "HN-mode / cex"; break;
74  case kIHNFtElas : return "HN-mode / elas"; break;
75  case kIHNFtInelas : return "HN-mode / inelas"; break;
76  case kIHNFtAbs : return "HN-mode / abs"; break;
77  case kIHNFtCmp : return "HN-mode / compound"; break;
78  case kIHNFtNoInteraction : return "HN-mode / no interaction"; break;
79  default : break;
80  }
81  return "** Undefined HN-mode fate **";
82  }
83  //__________________________________________________________________________
84  static string AsString(INukeFateHA_t fate) {
85  switch (fate) {
86  case kIHAFtUndefined : return "** Undefined HA-mode fate **"; break;
87  case kIHAFtNoInteraction : return "HA-mode / no interaction"; break;
88  case kIHAFtCEx : return "HA-mode / cex"; break;
89  case kIHAFtElas : return "HA-mode / elas"; break;
90  case kIHAFtInelas : return "HA-mode / inelas"; break;
91  case kIHAFtAbs : return "HA-mode / abs"; break;
92  case kIHAFtKo : return "HA-mode / knock-out"; break;
93  case kIHAFtCmp : return "HA-mode / compound"; break;
94  case kIHAFtPiProd : return "HA-mode / pi-production" ; break;
95  case kIHAFtInclPip : return "HA-mode / pi-prod incl pi+"; break;
96  case kIHAFtInclPim : return "HA-mode / pi-prod incl pi-"; break;
97  case kIHAFtInclPi0 : return "HA-mode / pi-prod incl pi0"; break;
98  case kIHAFtDCEx : return "HA-mode / dcex"; break;
99  default : break;
100  }
101  return "** Undefined HA-mode fate **";
102  }
103  //__________________________________________________________________________
104  static string AsSimpleString(INukeFateHA_t fate) {
105  switch (fate) {
106  case kIHAFtUndefined : return "undefined"; break;
107  case kIHAFtNoInteraction : return "no interaction"; break;
108  case kIHAFtCEx : return "cex"; break;
109  case kIHAFtElas : return "elas"; break;
110  case kIHAFtInelas : return "inelas"; break;
111  case kIHAFtAbs : return "abs"; break;
112  case kIHAFtKo : return "knock out"; break;
113  case kIHAFtCmp : return "compound"; break;
114  case kIHAFtPiProd : return "pi prod"; break;
115  case kIHAFtDCEx : return "dcex"; break;
116  default : break;
117  }
118  return "undefined";
119  }
120  //__________________________________________________________________________
121 };
122 
123 } // genie
124 #endif // _INTRANUKE_FATES_H_
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
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
enum BeamMode string