GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RSHelicityAmplModelEMp.cxx
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*
3  Copyright (c) 2003-2024, 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 
16 using namespace genie;
17 using namespace genie::constants;
18 
19 //____________________________________________________________________________
21 RSHelicityAmplModelI("genie::RSHelicityAmplModelEMp")
22 {
23 
24 }
25 //____________________________________________________________________________
27 RSHelicityAmplModelI("genie::RSHelicityAmplModelEMp", config)
28 {
29 
30 }
31 //____________________________________________________________________________
33 {
34 
35 }
36 //____________________________________________________________________________
37 const RSHelicityAmpl &
39  Resonance_t res, const FKR & fkr) const
40 {
41  switch(res) {
42 
43  case (kP33_1232) :
44  {
45  fAmpl.fPlus1 = kSqrt2 * fkr.R;
46  fAmpl.fPlus3 = kSqrt6 * fkr.R;
47  fAmpl.fMinus1 = -1 * fAmpl.fPlus1;
48  fAmpl.fMinus3 = -1 * fAmpl.fPlus3;
49  fAmpl.f0Minus = 0.;
50  fAmpl.f0Plus = 0.;
51  break;
52  }
53  case (kS11_1535) :
54  {
55  fAmpl.fMinus1 = kSqrt3 * fkr.T + kSqrt3_2 * fkr.Lamda * fkr.R;
56  fAmpl.f0Minus = -kSqrt3_2 * fkr.Lamda * fkr.S;
57  fAmpl.fPlus1 = -1. * fAmpl.fMinus1;
58  fAmpl.f0Plus = -1. * fAmpl.f0Minus;
59  fAmpl.fMinus3 = 0.;
60  fAmpl.fPlus3 = 0.;
61  break;
62  }
63  case (kD13_1520) :
64  {
65  fAmpl.fMinus1 = kSqrt3_2 * fkr.T - kSqrt3 * fkr.Lamda * fkr.R;
66  fAmpl.fMinus3 = k3_Sqrt2 * fkr.T;
67  fAmpl.f0Minus = -kSqrt3 * fkr.Lamda * fkr.S;
71  break;
72  }
73  case (kS11_1650) :
74  {
75  fAmpl.fMinus1 = 0.;
76  fAmpl.fPlus1 = 0.;
77  fAmpl.fMinus3 = 0.;
78  fAmpl.fPlus3 = 0.;
79  fAmpl.f0Minus = 0.;
80  fAmpl.f0Plus = 0.;
81  break;
82  }
83  case (kD13_1700) :
84  {
85  fAmpl.fMinus1 = 0.;
86  fAmpl.fPlus1 = 0.;
87  fAmpl.fMinus3 = 0.;
88  fAmpl.fPlus3 = 0.;
89  fAmpl.f0Minus = 0.;
90  fAmpl.f0Plus = 0.;
91  break;
92  }
93  case (kD15_1675) :
94  {
95  fAmpl.fMinus1 = 0.;
96  fAmpl.fPlus1 = 0.;
97  fAmpl.fMinus3 = 0.;
98  fAmpl.fPlus3 = 0.;
99  fAmpl.f0Minus = 0.;
100  fAmpl.f0Plus = 0.;
101  break;
102  }
103  case (kS31_1620) :
104  {
105  fAmpl.fMinus1 = kSqrt3 * fkr.T - k1_Sqrt6 * fkr.Lamda * fkr.R;
106  fAmpl.f0Minus = -kSqrt3_2 * fkr.Lamda * fkr.S;
107  fAmpl.fPlus1 = -1. * fAmpl.fMinus1;
108  fAmpl.f0Plus = -1. * fAmpl.f0Minus;
109  fAmpl.fMinus3 = 0.;
110  fAmpl.fPlus3 = 0.;
111  break;
112  }
113  case (kD33_1700) :
114  {
115  fAmpl.fMinus1 = kSqrt3_2 * fkr.T + k1_Sqrt3 * fkr.Lamda * fkr.R;
116  fAmpl.fMinus3 = k3_Sqrt2 * fkr.T;
117  fAmpl.f0Minus = -kSqrt3 * fkr.Lamda * fkr.S;
121  break;
122  }
123  case (kP11_1440) :
124  {
125  double L2 = TMath::Power(fkr.Lamda, 2);
126 
127  fAmpl.fMinus1 = -0.5*kSqrt3 * L2 * fkr.R;
129  fAmpl.fMinus3 = 0.;
130  fAmpl.fPlus3 = 0.;
131  fAmpl.f0Minus = -0.5*kSqrt3 * L2 * fkr.S;
133  break;
134  }
135  case (kP33_1600) :
136  {
137  double L2R = TMath::Power(fkr.Lamda, 2) * fkr.R;
138 
139  fAmpl.fMinus1 = k1_Sqrt6 * L2R;
140  fAmpl.fMinus3 = k1_Sqrt2 * L2R;
141  fAmpl.fPlus1 = -1. * fAmpl.fMinus1;
142  fAmpl.fPlus3 = -1. * fAmpl.fMinus3;
143  fAmpl.f0Minus = 0.;
144  fAmpl.f0Plus = 0.;
145  break;
146  }
147  case (kP13_1720) :
148  {
149  double L2 = TMath::Power(fkr.Lamda, 2);
150  double LT = fkr.Lamda * fkr.T;
151 
152  fAmpl.fMinus1 = -kSqrt27_10 * LT - kSqrt3_5 * L2 * fkr.R;
153  fAmpl.fMinus3 = k3_Sqrt10 * LT;
154  fAmpl.f0Minus = kSqrt3_5 * L2 * fkr.S;
155  fAmpl.fPlus1 = -1. * fAmpl.fMinus1;
156  fAmpl.fPlus3 = -1. * fAmpl.fMinus3;
157  fAmpl.f0Plus = -1. * fAmpl.f0Minus;
158  break;
159  }
160  case (kF15_1680) :
161  {
162  double L2 = TMath::Power(fkr.Lamda, 2);
163  double LT = fkr.Lamda * fkr.T;
164 
165  fAmpl.fMinus1 = -k3_Sqrt5 * LT + k3_Sqrt10 * L2 * fkr.R;
166  fAmpl.fMinus3 = -kSqrt18_5 * LT;
167  fAmpl.f0Minus = k3_Sqrt10 * L2 * fkr.S;
171  break;
172  }
173  case (kP31_1910) :
174  {
175  fAmpl.fMinus1 = -k1_Sqrt15 * TMath::Power(fkr.Lamda, 2) * fkr.R;
177  fAmpl.fMinus3 = 0.;
178  fAmpl.fPlus3 = 0.;
179  fAmpl.f0Minus = 0.;
180  fAmpl.f0Plus = 0.;
181  break;
182  }
183  case (kP33_1920) :
184  {
185  double L2R = TMath::Power(fkr.Lamda, 2) * fkr.R;
186 
187  fAmpl.fMinus1 = k1_Sqrt15 * L2R;
188  fAmpl.fMinus3 = -k1_Sqrt5 * L2R;
189  fAmpl.fPlus1 = -1.* fAmpl.fMinus1;
190  fAmpl.fPlus3 = -1.* fAmpl.fMinus3;
191  fAmpl.f0Minus = 0.;
192  fAmpl.f0Plus = 0.;
193  break;
194  }
195  case (kF35_1905) :
196  {
197  double L2R = TMath::Power(fkr.Lamda, 2) * fkr.R;
198 
199  fAmpl.fMinus1 = k1_Sqrt35 * L2R;
200  fAmpl.fMinus3 = kSqrt18_35 * L2R;
203  fAmpl.f0Minus = 0.;
204  fAmpl.f0Plus = 0.;
205  break;
206  }
207  case (kF37_1950) :
208  {
209  double L2R = TMath::Power(fkr.Lamda, 2) * fkr.R;
210 
211  fAmpl.fMinus1 = -kSqrt6_35 * L2R;
212  fAmpl.fMinus3 = -kSqrt2_7 * L2R;
213  fAmpl.fPlus1 = -1. * fAmpl.fMinus1;
214  fAmpl.fPlus3 = -1. * fAmpl.fMinus3;
215  fAmpl.f0Minus = 0.;
216  fAmpl.f0Plus = 0.;
217  break;
218  }
219  case (kP11_1710) :
220  {
221  double L2 = TMath::Power(fkr.Lamda, 2);
222 
223  fAmpl.fMinus1 = kSqrt3_8 * L2 * fkr.R;
224  fAmpl.f0Minus = kSqrt3_8 * L2 * fkr.S;
227  fAmpl.fMinus3 = 0.;
228  fAmpl.fPlus3 = 0.;
229  break;
230  }
231  case (kF17_1970) :
232  {
233  fAmpl.fMinus1 = 0.;
234  fAmpl.fPlus1 = 0.;
235  fAmpl.fMinus3 = 0.;
236  fAmpl.fPlus3 = 0.;
237  fAmpl.f0Minus = 0.;
238  fAmpl.f0Plus = 0.;
239  break;
240  }
241  default:
242  {
243  LOG("RSHAmpl", pWARN) << "*** UNRECOGNIZED RESONANCE!";
244  fAmpl.fMinus1 = 0.;
245  fAmpl.fPlus1 = 0.;
246  fAmpl.fMinus3 = 0.;
247  fAmpl.fPlus3 = 0.;
248  fAmpl.f0Minus = 0.;
249  fAmpl.f0Plus = 0.;
250  break;
251  }
252 
253  }//switch
254 
255  return fAmpl;
256 }
257 //____________________________________________________________________________
const RSHelicityAmpl & Compute(Resonance_t res, const FKR &fkr) const
Simple struct-like class holding the Feynmann-Kislinger-Ravndall (FKR) baryon excitation model parame...
Definition: FKR.h:31
double Lamda
Definition: FKR.h:37
double R
Definition: FKR.h:45
enum genie::EResonance Resonance_t
A class holding the Rein-Sehgal&#39;s helicity amplitudes.
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
double T
Definition: FKR.h:46
Pure abstract base class. Defines the RSHelicityAmplModelI interface.
#define pWARN
Definition: Messenger.h:60
double S
Definition: FKR.h:40