RefFrame.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::RefFrame
5 
6 \brief An enumeration of reference frames.
7 
8 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
9  University of Liverpool & STFC Rutherford Appleton Laboratory
10 
11 \created May 04, 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 _REF_FRAME_H_
19 #define _REF_FRAME_H_
20 
21 namespace genie {
22 
23 typedef enum ERefFrame {
24 
32 
33 } RefFrame_t;
34 
35 class RefFrame {
36 
37 public:
38 
39  static const char * AsString(RefFrame_t rf)
40  {
41  switch (rf) {
42  case (kRfLab) : return "[LAB]"; break;
43  case (kRfCM) : return "[Center of mass]"; break;
44  case (kRfHCM) : return "[Hadronic center of mass]"; break;
45  case (kRfTgtRest) : return "[Nuclear target @ rest]"; break;
46  case (kRfHitNucRest) : return "[Hit nucleon @ rest]"; break;
47  case (kRfHitElRest) : return "[Hit electron@ rest]"; break;
48  case (kRfUndefined) :
49  default : return "** Undefined reference frame ** ";
50  }
51  }
52 };
53 
54 } // genie namespace
55 
56 #endif // _REF_FRAME_H_
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
ERefFrame
Definition: RefFrame.h:23
enum genie::ERefFrame RefFrame_t
An enumeration of reference frames.
Definition: RefFrame.h:35
static const char * AsString(RefFrame_t rf)
Definition: RefFrame.h:39