GENIEGenerator
Loading...
Searching...
No Matches
RSHelicityAmplModelCC.cxx
Go to the documentation of this file.
1//____________________________________________________________________________
2/*
3 Copyright (c) 2003-2025, The GENIE Collaboration
4 For the full text of the license visit http://copyright.genie-mc.org
5
6 Costas Andreopoulos <c.andreopoulos \at cern.ch>
7 University of Liverpool
8*/
9//____________________________________________________________________________
10
15
16using namespace genie;
17using namespace genie::constants;
18
19//____________________________________________________________________________
21RSHelicityAmplModelI("genie::RSHelicityAmplModelCC")
22{
23
24}
25//____________________________________________________________________________
27RSHelicityAmplModelI("genie::RSHelicityAmplModelCC", config)
28{
29
30}
31//____________________________________________________________________________
36//____________________________________________________________________________
37const RSHelicityAmpl &
39 Resonance_t res, const FKR & fkr) const
40{
41 switch(res) {
42
43 case (kP33_1232) :
44 {
45 fAmpl.fMinus1 = kSqrt2 * fkr.Rminus;
46 fAmpl.fPlus1 = -kSqrt2 * fkr.Rplus;
47 fAmpl.fMinus3 = kSqrt6 * fkr.Rminus;
48 fAmpl.fPlus3 = -kSqrt6 * fkr.Rplus;
49 fAmpl.f0Minus = -2*kSqrt2 * fkr.C;
50 fAmpl.f0Plus = fAmpl.f0Minus;
51 break;
52 }
53 case (kS11_1535) :
54 {
55 double c = 4./kSqrt6;
56 double d = 2.*kSqrt3;
57 double a = kSqrt6 * fkr.Lamda * fkr.S;
58 double b = 2 * kSqrt2_3 * (fkr.Lamda * fkr.C - 3.* fkr.B);
59
60 fAmpl.fMinus1 = d * fkr.Tminus + c * fkr.Lamda * fkr.Rminus;
61 fAmpl.fPlus1 = -d * fkr.Tplus - c * fkr.Lamda * fkr.Rplus;
62 fAmpl.fMinus3 = 0;
63 fAmpl.fPlus3 = 0;
64 fAmpl.f0Minus = -a+b;
65 fAmpl.f0Plus = a+b;
66 break;
67 }
68 case (kD13_1520) :
69 {
70 double c = 4./kSqrt3;
71 double d = 6./kSqrt2;
72 double a = 2.* kSqrt3 * fkr.Lamda * fkr.S;
73 double b = (4./kSqrt3)* fkr.Lamda * fkr.C;
74
75 fAmpl.fMinus1 = kSqrt6 * fkr.Tminus - c * fkr.Lamda * fkr.Rminus;
76 fAmpl.fPlus1 = kSqrt6 * fkr.Tplus - c * fkr.Lamda * fkr.Rplus;
77 fAmpl.fMinus3 = d * fkr.Tminus;
78 fAmpl.fPlus3 = d * fkr.Tplus;
79 fAmpl.f0Minus = -a+b;
80 fAmpl.f0Plus = -a-b;
81 break;
82 }
83 case (kS11_1650) :
84 {
85 fAmpl.fMinus1 = k1_Sqrt6 * fkr.Lamda * fkr.Rminus;
86 fAmpl.fPlus1 = -k1_Sqrt6 * fkr.Lamda * fkr.Rplus;
87 fAmpl.fMinus3 = 0;
88 fAmpl.fPlus3 = 0;
89 fAmpl.f0Minus = -kSqrt2_3 * (fkr.Lamda * fkr.C - 3.* fkr.B);
90 fAmpl.f0Plus = fAmpl.f0Minus;
91 break;
92 }
93 case (kD13_1700) :
94 {
95 double LRm = fkr.Lamda * fkr.Rminus;
96 double LRp = fkr.Lamda * fkr.Rplus;
97
98 fAmpl.fMinus1 = k1_Sqrt30 * LRm;
99 fAmpl.fPlus1 = k1_Sqrt30 * LRp;
100 fAmpl.fMinus3 = k3_Sqrt10 * LRm;
101 fAmpl.fPlus3 = k3_Sqrt10 * LRp;
102 fAmpl.f0Minus = kSqrt2_15 * fkr.Lamda * fkr.C;
103 fAmpl.f0Plus = -1. * fAmpl.f0Minus;
104 break;
105 }
106 case (kD15_1675) :
107 {
108 double LRm = fkr.Lamda * fkr.Rminus;
109 double LRp = fkr.Lamda * fkr.Rplus;
110
111 fAmpl.fMinus1 = -kSqrt3_10 * LRm;
112 fAmpl.fPlus1 = kSqrt3_10 * LRp;
113 fAmpl.fMinus3 = -kSqrt3_5 * LRm;
114 fAmpl.fPlus3 = kSqrt3_5 * LRp;
115 fAmpl.f0Minus = kSqrt6_5 * fkr.Lamda * fkr.C;
116 fAmpl.f0Plus = fAmpl.f0Minus;
117 break;
118 }
119 case (kS31_1620) :
120 {
121 double a = kSqrt3_2 * fkr.Lamda * fkr.S;
122 double b = k1_Sqrt6 * (fkr.Lamda * fkr.C - 3.* fkr.B);
123
124 fAmpl.fMinus1 = -kSqrt3 * fkr.Tminus + k1_Sqrt6 * fkr.Lamda * fkr.Rminus;
125 fAmpl.fPlus1 = kSqrt3 * fkr.Tplus - k1_Sqrt6 * fkr.Lamda * fkr.Rplus;
126 fAmpl.fMinus3 = 0;
127 fAmpl.fPlus3 = 0;
128 fAmpl.f0Minus = a+b;
129 fAmpl.f0Plus = -a+b;
130 break;
131 }
132 case (kD33_1700) :
133 {
134 double a = kSqrt3 * fkr.Lamda * fkr.S;
135 double b = k1_Sqrt3 * fkr.Lamda * fkr.C;
136
137 fAmpl.fMinus1 = -kSqrt3_2 * fkr.Tminus - k1_Sqrt3 * fkr.Lamda * fkr.Rminus;
138 fAmpl.fPlus1 = -kSqrt3_2 * fkr.Tplus - k1_Sqrt3 * fkr.Lamda * fkr.Rplus;
139 fAmpl.fMinus3 = -k3_Sqrt2 * fkr.Tminus;
140 fAmpl.fPlus3 = -k3_Sqrt2 * fkr.Tplus;
141 fAmpl.f0Minus = a + b;
142 fAmpl.f0Plus = a - b;
143 break;
144 }
145 case (kP11_1440) :
146 {
147 double L2 = TMath::Power(fkr.Lamda, 2);
148 double c = 5.*kSqrt3/6.;
149 double a = kSqrt3_4 * L2 * fkr.S;
150 double b = c * (L2 * fkr.C - 2 * fkr.Lamda * fkr.B);
151
152 fAmpl.fMinus1 = -c * L2 * fkr.Rminus;
153 fAmpl.fPlus1 = -c * L2 * fkr.Rplus;
154 fAmpl.fMinus3 = 0;
155 fAmpl.fPlus3 = 0;
156 fAmpl.f0Minus = -a+b;
157 fAmpl.f0Plus = -a-b;
158 break;
159 }
160 case (kP33_1600) :
161 {
162 double L2 = TMath::Power(fkr.Lamda, 2);
163 double L2Rm = L2 * fkr.Rminus;
164 double L2Rp = L2 * fkr.Rplus;
165
166 fAmpl.fMinus1 = -k1_Sqrt6 * L2Rm;
167 fAmpl.fPlus1 = k1_Sqrt6 * L2Rp;
168 fAmpl.fMinus3 = -k1_Sqrt2 * L2Rm;
169 fAmpl.fPlus3 = k1_Sqrt2 * L2Rp;
170 fAmpl.f0Minus = kSqrt2_3 * (L2 * fkr.C - 2 * fkr.Lamda * fkr.B);
171 fAmpl.f0Plus = fAmpl.f0Minus;
172 break;
173 }
174 case (kP13_1720) :
175 {
176 double L2 = TMath::Power(fkr.Lamda, 2);
177 double L2Rm = L2 * fkr.Rminus;
178 double L2Rp = L2 * fkr.Rplus;
179 double LTm = fkr.Lamda * fkr.Tminus;
180 double LTp = fkr.Lamda * fkr.Tplus;
181 double a = kSqrt3_5 * L2 * fkr.S;
182 double b = kSqrt5_3 * (L2 * fkr.C - 5 * fkr.Lamda * fkr.B);
183
184 fAmpl.fMinus1 = -kSqrt27_10 * LTm - kSqrt5_3 * L2Rm;
185 fAmpl.fPlus1 = kSqrt27_10 * LTp + kSqrt5_3 * L2Rp;
186 fAmpl.fMinus3 = k3_Sqrt10 * LTm;
187 fAmpl.fPlus3 = -k3_Sqrt10 * LTp;
188 fAmpl.f0Minus = a-b;
189 fAmpl.f0Plus = -a-b;
190 break;
191 }
192 case (kF15_1680) :
193 {
194 double L2 = TMath::Power(fkr.Lamda, 2);
195 double LTm = fkr.Lamda * fkr.Tminus;
196 double LTp = fkr.Lamda * fkr.Tplus;
197 double a = kSqrt9_10 * L2 * fkr.S;
198 double b = kSqrt5_2 * L2 * fkr.C;
199
200 fAmpl.fMinus1 = -k3_Sqrt5 * LTm + kSqrt5_2 * L2 * fkr.Rminus;
201 fAmpl.fPlus1 = -k3_Sqrt5 * LTp + kSqrt5_2 * L2 * fkr.Rplus;
202 fAmpl.fMinus3 = -kSqrt18_5 * LTm;
203 fAmpl.fPlus3 = -kSqrt18_5 * LTp;
204 fAmpl.f0Minus = a - b;
205 fAmpl.f0Plus = a + b;
206 break;
207 }
208 case (kP31_1910) :
209 {
210 double L2 = TMath::Power(fkr.Lamda, 2);
211
212 fAmpl.fMinus1 = k1_Sqrt15 * L2 * fkr.Rminus;
213 fAmpl.fPlus1 = k1_Sqrt15 * L2 * fkr.Rplus;
214 fAmpl.fMinus3 = 0;
215 fAmpl.fPlus3 = 0;
216 fAmpl.f0Minus = k2_Sqrt15 * (L2 * fkr.C - 5 * fkr.Lamda * fkr.B);
217 fAmpl.f0Plus = -1.* fAmpl.f0Minus;
218 break;
219 }
220 case (kP33_1920) :
221 {
222 double L2 = TMath::Power(fkr.Lamda, 2);
223 double L2Rm = L2 * fkr.Rminus;
224 double L2Rp = L2 * fkr.Rplus;
225
226 fAmpl.fMinus1 = -k1_Sqrt15 * L2Rm;
227 fAmpl.fPlus1 = k1_Sqrt15 * L2Rp;
228 fAmpl.fMinus3 = k1_Sqrt5 * L2Rm;
229 fAmpl.fPlus3 = -k1_Sqrt5 * L2Rp;
230 fAmpl.f0Minus = k2_Sqrt15 * (L2 * fkr.C - 5 * fkr.Lamda * fkr.B);
231 fAmpl.f0Plus = fAmpl.f0Minus;
232 break;
233 }
234 case (kF35_1905) :
235 {
236 double L2 = TMath::Power(fkr.Lamda, 2);
237 double L2Rm = L2 * fkr.Rminus;
238 double L2Rp = L2 * fkr.Rplus;
239
240 fAmpl.fMinus1 = -k1_Sqrt35 * L2Rm;
241 fAmpl.fPlus1 = -k1_Sqrt35 * L2Rp;
242 fAmpl.fMinus3 = -kSqrt18_35 * L2Rm;
243 fAmpl.fPlus3 = -kSqrt18_35 * L2Rp;
244 fAmpl.f0Minus = -k2_Sqrt35 * L2 * fkr.C;
245 fAmpl.f0Plus = -1.* fAmpl.f0Minus;
246 break;
247 }
248 case (kF37_1950) :
249 {
250 double L2 = TMath::Power(fkr.Lamda, 2);
251 double L2Rm = L2 * fkr.Rminus;
252 double L2Rp = L2 * fkr.Rplus;
253
254 fAmpl.fMinus1 = kSqrt6_35 * L2Rm;
255 fAmpl.fPlus1 = -kSqrt6_35 * L2Rp;
256 fAmpl.fMinus3 = kSqrt2_7 * L2Rm;
257 fAmpl.fPlus3 = -kSqrt2_7 * L2Rp;
258 fAmpl.f0Minus = -kSqrt24_35 * L2 * fkr.C;
259 fAmpl.f0Plus = fAmpl.f0Minus;
260 break;
261 }
262 case (kP11_1710) :
263 {
264 double L2 = TMath::Power(fkr.Lamda, 2);
265 double a = kSqrt3_2 * L2 * fkr.S;
266 double b = kSqrt2_3 * (L2 * fkr.C - 2 * fkr.Lamda * fkr.B);
267
268 fAmpl.fMinus1 = kSqrt2_3 * L2 * fkr.Rminus;
269 fAmpl.fPlus1 = kSqrt2_3 * L2 * fkr.Rplus;
270 fAmpl.fMinus3 = 0;
271 fAmpl.fPlus3 = 0;
272 fAmpl.f0Minus = a - b;
273 fAmpl.f0Plus = a + b;
274 break;
275 }
276 case (kF17_1970) :
277 {
278 double L2 = TMath::Power(fkr.Lamda, 2);
279 double L2Rm = L2 * fkr.Rminus;
280 double L2Rp = L2 * fkr.Rplus;
281
282 fAmpl.fMinus1 = -kSqrt3_35 * L2Rm;
283 fAmpl.fPlus1 = kSqrt3_35 * L2Rp;
284 fAmpl.fMinus3 = -k1_Sqrt7 * L2Rm;
285 fAmpl.fPlus3 = k1_Sqrt7 * L2Rp;
286 fAmpl.f0Minus = kSqrt6_35 * L2 * fkr.C;
287 fAmpl.f0Plus = fAmpl.f0Minus;
288 break;
289 }
290 default:
291 {
292 LOG("RSHAmpl", pWARN) << "*** UNRECOGNIZED RESONANCE!";
293 fAmpl.fMinus1 = 0.;
294 fAmpl.fPlus1 = 0.;
295 fAmpl.fMinus3 = 0.;
296 fAmpl.fPlus3 = 0.;
297 fAmpl.f0Minus = 0.;
298 fAmpl.f0Plus = 0.;
299 break;
300 }
301
302 }//switch
303
304 return fAmpl;
305}
306//____________________________________________________________________________
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
Definition Messenger.h:96
#define pWARN
Definition Messenger.h:60
Simple struct-like class holding the Feynmann-Kislinger-Ravndall (FKR) baryon excitation model parame...
Definition FKR.h:31
double C
Definition FKR.h:44
double Tplus
Definition FKR.h:47
double S
Definition FKR.h:40
double Tminus
Definition FKR.h:48
double Rminus
Definition FKR.h:50
double Rplus
Definition FKR.h:49
double Lamda
Definition FKR.h:37
double B
Definition FKR.h:43
const RSHelicityAmpl & Compute(Resonance_t res, const FKR &fkr) const
A class holding the Rein-Sehgal's helicity amplitudes.
const double a
Basic constants.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EResonance Resonance_t