GENIEGenerator
Loading...
Searching...
No Matches
KinePhaseSpace.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::KinePhaseSpace
5
6\brief Enumeration of kinematical phase spaces
7
8\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
9 University of Liverpool
10
11\created May 06, 2004
12
13\cpright Copyright (c) 2003-2025, The GENIE Collaboration
14 For the full text of the license visit http://copyright.genie-mc.org
15*/
16//____________________________________________________________________________
17
18#ifndef _KINEMATIC_PHASE_SPACE_ENUM_H_
19#define _KINEMATIC_PHASE_SPACE_ENUM_H_
20
21#include <cassert>
22#include <string>
23
24using std::string;
25
26namespace genie {
27// Note: please attach new phase space enum element to the end of the list .
80
82{
83public:
84 //__________________________________________________________________________
85 static string AsString(KinePhaseSpace_t kps)
86 {
87 switch (kps) {
88
89 case(kPSNull) :
90 return "** Undefined kinematic phase space **"; break;
91 case(kPSfE) : return "<|E>"; break;
92 case(kPSxfE) : return "<{x}|E>"; break;
93 case(kPSlogxfE) : return "<{logx}|E>"; break;
94 case(kPSxfEy) : return "<{x}|E,y>"; break;
95 case(kPSlogxfEy) : return "<{logx}|E,y>"; break;
96 case(kPSyfE) : return "<{y}|E>"; break;
97 case(kPSlogyfE) : return "<{logy}|E>"; break;
98 case(kPSyfEx) : return "<{y}|E,x>"; break;
99 case(kPSlogyfEx) : return "<{logy}|E,x>"; break;
100 case(kPSlogxlogyfE) : return "<{logx,logy}|E>"; break;
101 case(kPSxyfE) : return "<{x,y}|E>"; break;
102 case(kPSxQ2fE) : return "<{x,Q2}|E>"; break;
103 case(kPSQ2fE) : return "<{Q2}|E>"; break;
104 case(kPSQD2fE) : return "<{QD2}|E>"; break;
105 case(kPSlogQ2fE) : return "<{logQ2}|E>"; break;
106 case(kPSQ2fEW) : return "<{Q2}|E,W>"; break;
107 case(kPSlogQ2fEW) : return "<{logQ2}|E,W>"; break;
108 case(kPSq2fE) : return "<{q2}|E>"; break;
109 case(kPSq2fEW) : return "<{q2}|E,W>"; break;
110 case(kPSWfE) : return "<{W}|E>"; break;
111 case(kPSWfEQ2) : return "<{W}|E,Q2>"; break;
112 case(kPSWfEq2) : return "<{W}|E,q2>"; break;
113 case(kPSWQ2fE) : return "<{W,Q2}|E>"; break;
114 case(kPSWQD2fE) : return "<{W,QD2}|E>"; break;
115 case(kPSW2Q2fE) : return "<{W2,Q2}|E>"; break;
116 case(kPSWlogQ2fE) : return "<{W,logQ2}|E>"; break;
117 case(kPSW2logQ2fE) : return "<{W2,logQ2}|E>"; break;
118 case(kPSWq2fE) : return "<{W,q2}|E>"; break;
119 case(kPSW2q2fE) : return "<{W2,q2}|E>"; break;
120 case(kPSxytfE) : return "<{x,y,t}|E>"; break;
121 case(kPSQ2yfE) : return "<{Q2,y}|E>"; break;
122 case(kPSlogQ2logyfE): return "<{Q2,y}|E>"; break;
123 case(kPSTlctl) : return "<{Tl,cos(theta_l)}|E>"; break;
124 case(kPSElOlOpifE) : return "<{El,Omega_l,Omega_pi}|E>"; break;
125 case(kPSEgTlOgfE) : return "<{Egamma,Theta_l,Omega_gamma}|E>"; break;
126 case(kPSElOlTpifE) : return "<{El,Omega_l,Theta_pi}|E>"; break;
127 case(kPSTkTlctl) : return "<{Tk,Tl,cos(theta_l)}|E>"; break;
128 case(kPSQ2vfE) : return "<{Q2,v}|E>"; break;
129 case(kPSQ2vpfE) : return "<{Q2,v,p}|E>"; break;
130 // TODO: update this string when the appropriate kinematic variables are known
131 case(kPSQELEvGen) : return "<QELEvGen>"; break;
132 case(kPSDMELEvGen) : return "<DMELEvGen>"; break;
133 case(kPSTAfE) : return "<{TA}|E>"; break;
134 case(kPSlog10xlog10Q2fE) : return "<{log10x,log10Q2}|E>"; break;
135 case(kPSEDNufE) : return "<{EDNu}|E>"; break;
136 case(kPSn1n2fE) : return "<{n1,n2}|E>"; break;
137 case(kPSn1n2n3fE) : return "<{n1,n2,n3}|E>"; break;
138 case(kPSWQ2ctpphipfE): return "<{W, Q2, cost(theta_pion), phi_pion}|E>"; break;
139 case(kPSWQ2ctpfE) : return "<{W, Q2, cost(theta_pion)}|E>"; break;
140 }
141 return "** Undefined kinematic phase space **";
142 }
143 //__________________________________________________________________________
144};
145
146} // genie namespace
147
148#endif // _KINEMATIC_PHASE_SPACE_ENUM_H_
Enumeration of kinematical phase spaces.
static string AsString(KinePhaseSpace_t kps)
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
@ kPSlogxlogyfE
@ kPSlogQ2logyfE
@ kPSlog10xlog10Q2fE
@ kPSWQ2ctpphipfE
enum genie::EKinePhaseSpace KinePhaseSpace_t