KineVar.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::KineVar
5 
6 \brief Enumeration of kinematic variables
7 
8 \author Costas Andreopoulos <costas.andreopoulos \at stfc.ac.uk>
9  University of Liverpool & STFC Rutherford Appleton Lab
10 
11 \created May 06, 2004
12 
13 \cpright Copyright (c) 2003-2019, The GENIE Collaboration
14  For the full text of the license visit http://copyright.genie-mc.org
15  or see $GENIE/LICENSE
16 */
17 //____________________________________________________________________________
18 
19 #ifndef _KINEMATIC_VAR_ENUM_H_
20 #define _KINEMATIC_VAR_ENUM_H_
21 
22 #include <cassert>
23 #include <string>
24 
25 using std::string;
26 
27 namespace genie {
28 
29 typedef enum EKineVar {
30 
31  kKVNull = 0,
57  // put all new enum names right before this line
58  // do not change any previous ordering (neither insert nor delete)
60 
61 } KineVar_t;
62 
63 class KineVar
64 {
65 public:
66 
67  //__________________________________________________________________________
68  static string AsString(KineVar_t kv)
69  {
70  switch (kv) {
71  case(kKVNull) : return "** Undefined kinematic variable **"; break;
72  case(kKVx) : return " *Running* Bjorken x"; break;
73  case(kKVy) : return " *Running* Inelasticity y"; break;
74  case(kKVQ2) : return " *Running* Momentum transfer Q2 (>0)"; break;
75  case(kKVq2) : return " *Running* Momentum transfer q2 (<0)"; break;
76  case(kKVW) : return " *Running* Hadronic invariant mass W"; break;
77  case(kKVt) : return " *Running* COH 4p transfer to nucleus"; break;
78  case(kKVTk) : return " *Running* meson kinetic energy"; break;
79  case(kKVTl) : return " *Running* lepton kinetic energy"; break;
80  case(kKVctl) : return " *Running* cosine of lepton theta"; break;
81  case(kKVphikq) : return " *Running* ASK phi kq"; break;
82  case(kKVSelx) : return "*Selected* Bjorken x"; break;
83  case(kKVSely) : return "*Selected* Inelasticity y"; break;
84  case(kKVSelQ2) : return "*Selected* Momentum transfer Q2 (>0)"; break;
85  case(kKVSelq2) : return "*Selected* Momentum transfer q2 (<0)"; break;
86  case(kKVSelW) : return "*Selected* Hadronic invariant mass W"; break;
87  case(kKVSelt) : return "*Selected* COH 4p transfer to nucleus"; break;
88  case(kKVSelTk) : return "*Selected* ASK kaon kinetic energy"; break;
89  case(kKVSelTl) : return "*Selected* ASK lepton kinetic energy"; break;
90  case(kKVSelctl) : return "*Selected* ASK cosine lepton theta"; break;
91  case(kKVSelphikq): return "*Selected* ASK phi kq"; break;
92  case(kKVSelRad) : return "*Selected* Struck particle position"; break;
93  case(kKVPn) : return " *Running* Hit nucleon momentum"; break;
94  case(kKVv) : return " *Running* Energy transfer"; break;
95  case(kKVSelPn) : return "*Selected* Hit nucleon momentum"; break;
96  case(kKVSelv) : return "*Selected* Energy transfer"; break;
97 
98  default : return "** Unknown kinematic variable **"; break;
99  }
100  return "** Unknown kinematic variable **";
101  }
102  //__________________________________________________________________________
103 };
104 
105 } // genie namespace
106 
107 #endif // _KINEMATIC_VAR_ENUM_H_
Enumeration of kinematic variables.
Definition: KineVar.h:63
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
EKineVar
Definition: KineVar.h:29
enum genie::EKineVar KineVar_t
static string AsString(KineVar_t kv)
Definition: KineVar.h:68
enum BeamMode string