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

The Helicity Amplitudes, for all baryon resonances, for Electro- Magnetic (EM) interactions on free protons, as computed in the Rein-Sehgal's paper. More...

#include <RSHelicityAmplModelEMp.h>

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

Public Member Functions

 RSHelicityAmplModelEMp ()
 RSHelicityAmplModelEMp (string config)
virtual ~RSHelicityAmplModelEMp ()
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 Electro- Magnetic (EM) interactions on free protons, 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 March 30, 2005
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 29 of file RSHelicityAmplModelEMp.h.

Constructor & Destructor Documentation

◆ RSHelicityAmplModelEMp() [1/2]

RSHelicityAmplModelEMp::RSHelicityAmplModelEMp ( )

Definition at line 20 of file RSHelicityAmplModelEMp.cxx.

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

References genie::RSHelicityAmplModelI::RSHelicityAmplModelI().

◆ RSHelicityAmplModelEMp() [2/2]

RSHelicityAmplModelEMp::RSHelicityAmplModelEMp ( string config)

Definition at line 26 of file RSHelicityAmplModelEMp.cxx.

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

References genie::RSHelicityAmplModelI::RSHelicityAmplModelI().

◆ ~RSHelicityAmplModelEMp()

RSHelicityAmplModelEMp::~RSHelicityAmplModelEMp ( )
virtual

Definition at line 32 of file RSHelicityAmplModelEMp.cxx.

33{
34
35}

Member Function Documentation

◆ Compute()

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

Implements genie::RSHelicityAmplModelI.

Definition at line 38 of file RSHelicityAmplModelEMp.cxx.

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;
68 fAmpl.fPlus1 = fAmpl.fMinus1;
69 fAmpl.fPlus3 = fAmpl.fMinus3;
70 fAmpl.f0Plus = fAmpl.f0Minus;
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;
118 fAmpl.fPlus1 = fAmpl.fMinus1;
119 fAmpl.fPlus3 = fAmpl.fMinus3;
120 fAmpl.f0Plus = fAmpl.f0Minus;
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;
128 fAmpl.fPlus1 = fAmpl.fMinus1;
129 fAmpl.fMinus3 = 0.;
130 fAmpl.fPlus3 = 0.;
131 fAmpl.f0Minus = -0.5*kSqrt3 * L2 * fkr.S;
132 fAmpl.f0Plus = fAmpl.f0Minus;
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;
168 fAmpl.fPlus1 = fAmpl.fMinus1;
169 fAmpl.fPlus3 = fAmpl.fMinus3;
170 fAmpl.f0Plus = fAmpl.f0Minus;
171 break;
172 }
173 case (kP31_1910) :
174 {
175 fAmpl.fMinus1 = -k1_Sqrt15 * TMath::Power(fkr.Lamda, 2) * fkr.R;
176 fAmpl.fPlus1 = fAmpl.fMinus1;
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;
201 fAmpl.fPlus1 = fAmpl.fMinus1;
202 fAmpl.fPlus3 = fAmpl.fMinus3;
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;
225 fAmpl.fPlus1 = fAmpl.fMinus1;
226 fAmpl.f0Plus = fAmpl.f0Minus;
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}
#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 T
Definition FKR.h:46
double S
Definition FKR.h:40
double R
Definition FKR.h:45
double Lamda
Definition FKR.h:37

References fAmpl, genie::constants::k1_Sqrt15, genie::constants::k1_Sqrt2, genie::constants::k1_Sqrt3, genie::constants::k1_Sqrt35, genie::constants::k1_Sqrt5, genie::constants::k1_Sqrt6, 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::kSqrt27_10, genie::constants::kSqrt2_7, genie::constants::kSqrt3, genie::constants::kSqrt3_2, genie::constants::kSqrt3_5, genie::constants::kSqrt3_8, genie::constants::kSqrt6, genie::constants::kSqrt6_35, genie::FKR::Lamda, LOG, pWARN, genie::FKR::R, genie::FKR::S, and genie::FKR::T.

Member Data Documentation

◆ fAmpl

RSHelicityAmpl genie::RSHelicityAmplModelEMp::fAmpl
mutableprivate

Definition at line 40 of file RSHelicityAmplModelEMp.h.

Referenced by Compute().


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