GENIEGenerator
Loading...
Searching...
No Matches
genie::RSHelicityAmplModelCC Class Reference

The Helicity Amplitudes, for all baryon resonances, for CC neutrino interactions on free nucleons, as computed in the Rein-Sehgal's paper. More...

#include <RSHelicityAmplModelCC.h>

Inheritance diagram for genie::RSHelicityAmplModelCC:
[legend]
Collaboration diagram for genie::RSHelicityAmplModelCC:
[legend]

Public Member Functions

 RSHelicityAmplModelCC ()
 RSHelicityAmplModelCC (string config)
virtual ~RSHelicityAmplModelCC ()
const RSHelicityAmplCompute (Resonance_t res, const FKR &fkr) const
Public Member Functions inherited from genie::RSHelicityAmplModelI
virtual ~RSHelicityAmplModelI ()
Public Member Functions inherited from genie::Algorithm
virtual ~Algorithm ()
virtual void Configure (const Registry &config)
virtual void Configure (string config)
virtual void FindConfig (void)
virtual const RegistryGetConfig (void) const
RegistryGetOwnedConfig (void)
virtual const AlgIdId (void) const
 Get algorithm ID.
virtual AlgStatus_t GetStatus (void) const
 Get algorithm status.
virtual bool AllowReconfig (void) const
virtual AlgCmp_t Compare (const Algorithm *alg) const
 Compare with input algorithm.
virtual void SetId (const AlgId &id)
 Set algorithm ID.
virtual void SetId (string name, string config)
const AlgorithmSubAlg (const RgKey &registry_key) const
void AdoptConfig (void)
void AdoptSubstructure (void)
virtual void Print (ostream &stream) const
 Print algorithm info.

Private Attributes

RSHelicityAmpl fAmpl

Additional Inherited Members

Static Public Member Functions inherited from genie::Algorithm
static string BuildParamVectKey (const std::string &comm_name, unsigned int i)
static string BuildParamVectSizeKey (const std::string &comm_name)
static string BuildParamMatKey (const std::string &comm_name, unsigned int i, unsigned int j)
static string BuildParamMatRowSizeKey (const std::string &comm_name)
static string BuildParamMatColSizeKey (const std::string &comm_name)
Protected Member Functions inherited from genie::RSHelicityAmplModelI
 RSHelicityAmplModelI ()
 RSHelicityAmplModelI (string name)
 RSHelicityAmplModelI (string name, string config)
Protected Member Functions inherited from genie::Algorithm
 Algorithm ()
 Algorithm (string name)
 Algorithm (string name, string config)
void Initialize (void)
void DeleteConfig (void)
void DeleteSubstructure (void)
RegistryExtractLocalConfig (const Registry &in) const
RegistryExtractLowerConfig (const Registry &in, const string &alg_key) const
 Split an incoming configuration Registry into a block valid for the sub-algo identified by alg_key.
template<class T>
bool GetParam (const RgKey &name, T &p, bool is_top_call=true) const
template<class T>
bool GetParamDef (const RgKey &name, T &p, const T &def) const
template<class T>
int GetParamVect (const std::string &comm_name, std::vector< T > &v, bool is_top_call=true) const
 Handle to load vectors of parameters.
int GetParamVectKeys (const std::string &comm_name, std::vector< RgKey > &k, bool is_top_call=true) const
template<class T>
int GetParamMat (const std::string &comm_name, TMatrixT< T > &mat, bool is_top_call=true) const
 Handle to load matrix of parameters.
template<class T>
int GetParamMatSym (const std::string &comm_name, TMatrixTSym< T > &mat, bool is_top_call=true) const
int GetParamMatKeys (const std::string &comm_name, std::vector< RgKey > &k, bool is_top_call=true) const
int AddTopRegistry (Registry *rp, bool owns=true)
 add registry with top priority, also update ownership
int AddLowRegistry (Registry *rp, bool owns=true)
 add registry with lowest priority, also update ownership
int MergeTopRegistry (const Registry &r)
int AddTopRegisties (const vector< Registry * > &rs, bool owns=false)
 Add registries with top priority, also udated Ownerships.
Protected Attributes inherited from genie::Algorithm
bool fAllowReconfig
bool fOwnsSubstruc
 true if it owns its substructure (sub-algs,...)
AlgId fID
 algorithm name and configuration set
vector< Registry * > fConfVect
vector< bool > fOwnerships
 ownership for every registry in fConfVect
AlgStatus_t fStatus
 algorithm execution status
AlgMapfOwnedSubAlgMp
 local pool for owned sub-algs (taken out of the factory pool)

Detailed Description

The Helicity Amplitudes, for all baryon resonances, for CC neutrino interactions on free nucleons, as computed in the Rein-Sehgal's paper.

Concrete implementation of the RSHelicityAmplModelI interface.

Author
Costas Andreopoulos <c.andreopoulos \at cern.ch> University of Liverpool
Created:\n May 03, 2004
License:\n Copyright (c) 2003-2025, The GENIE Collaboration
For the full text of the license visit http://copyright.genie-mc.org

Definition at line 28 of file RSHelicityAmplModelCC.h.

Constructor & Destructor Documentation

◆ RSHelicityAmplModelCC() [1/2]

RSHelicityAmplModelCC::RSHelicityAmplModelCC ( )

Definition at line 20 of file RSHelicityAmplModelCC.cxx.

20 :
21RSHelicityAmplModelI("genie::RSHelicityAmplModelCC")
22{
23
24}

References genie::RSHelicityAmplModelI::RSHelicityAmplModelI().

◆ RSHelicityAmplModelCC() [2/2]

RSHelicityAmplModelCC::RSHelicityAmplModelCC ( string config)

Definition at line 26 of file RSHelicityAmplModelCC.cxx.

26 :
27RSHelicityAmplModelI("genie::RSHelicityAmplModelCC", config)
28{
29
30}

References genie::RSHelicityAmplModelI::RSHelicityAmplModelI().

◆ ~RSHelicityAmplModelCC()

RSHelicityAmplModelCC::~RSHelicityAmplModelCC ( )
virtual

Definition at line 32 of file RSHelicityAmplModelCC.cxx.

33{
34
35}

Member Function Documentation

◆ Compute()

const RSHelicityAmpl & RSHelicityAmplModelCC::Compute ( Resonance_t res,
const FKR & fkr ) const
virtual

Implements genie::RSHelicityAmplModelI.

Definition at line 38 of file RSHelicityAmplModelCC.cxx.

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}
#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
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 double a

References a, genie::FKR::B, genie::FKR::C, fAmpl, genie::constants::k1_Sqrt15, genie::constants::k1_Sqrt2, genie::constants::k1_Sqrt3, genie::constants::k1_Sqrt30, genie::constants::k1_Sqrt35, genie::constants::k1_Sqrt5, genie::constants::k1_Sqrt6, genie::constants::k1_Sqrt7, genie::constants::k2_Sqrt15, genie::constants::k2_Sqrt35, genie::constants::k3_Sqrt10, genie::constants::k3_Sqrt2, genie::constants::k3_Sqrt5, genie::kD13_1520, genie::kD13_1700, genie::kD15_1675, genie::kD33_1700, genie::kF15_1680, genie::kF17_1970, genie::kF35_1905, genie::kF37_1950, genie::kP11_1440, genie::kP11_1710, genie::kP13_1720, genie::kP31_1910, genie::kP33_1232, genie::kP33_1600, genie::kP33_1920, genie::kS11_1535, genie::kS11_1650, genie::kS31_1620, genie::constants::kSqrt18_35, genie::constants::kSqrt18_5, genie::constants::kSqrt2, genie::constants::kSqrt24_35, genie::constants::kSqrt27_10, genie::constants::kSqrt2_15, genie::constants::kSqrt2_3, genie::constants::kSqrt2_7, genie::constants::kSqrt3, genie::constants::kSqrt3_10, genie::constants::kSqrt3_2, genie::constants::kSqrt3_35, genie::constants::kSqrt3_4, genie::constants::kSqrt3_5, genie::constants::kSqrt5_2, genie::constants::kSqrt5_3, genie::constants::kSqrt6, genie::constants::kSqrt6_35, genie::constants::kSqrt6_5, genie::constants::kSqrt9_10, genie::FKR::Lamda, LOG, pWARN, genie::FKR::Rminus, genie::FKR::Rplus, genie::FKR::S, genie::FKR::Tminus, and genie::FKR::Tplus.

Member Data Documentation

◆ fAmpl

RSHelicityAmpl genie::RSHelicityAmplModelCC::fAmpl
mutableprivate

Definition at line 39 of file RSHelicityAmplModelCC.h.

Referenced by Compute().


The documentation for this class was generated from the following files: