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