GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
genie::RSHelicityAmplModelEMn Class Reference

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

#include <RSHelicityAmplModelEMn.h>

Inheritance diagram for genie::RSHelicityAmplModelEMn:
Inheritance graph
[legend]
Collaboration diagram for genie::RSHelicityAmplModelEMn:
Collaboration graph
[legend]

Public Member Functions

 RSHelicityAmplModelEMn ()
 
 RSHelicityAmplModelEMn (string config)
 
virtual ~RSHelicityAmplModelEMn ()
 
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. More...
 
virtual AlgStatus_t GetStatus (void) const
 Get algorithm status. More...
 
virtual bool AllowReconfig (void) const
 
virtual AlgCmp_t Compare (const Algorithm *alg) const
 Compare with input algorithm. More...
 
virtual void SetId (const AlgId &id)
 Set algorithm ID. More...
 
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. More...
 

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. More...
 
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. More...
 
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. More...
 
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 More...
 
int AddLowRegistry (Registry *rp, bool owns=true)
 add registry with lowest priority, also update ownership More...
 
int MergeTopRegistry (const Registry &r)
 
int AddTopRegisties (const vector< Registry * > &rs, bool owns=false)
 Add registries with top priority, also udated Ownerships. More...
 
- Protected Attributes inherited from genie::Algorithm
bool fAllowReconfig
 
bool fOwnsSubstruc
 true if it owns its substructure (sub-algs,...) More...
 
AlgId fID
 algorithm name and configuration set More...
 
vector< Registry * > fConfVect
 
vector< bool > fOwnerships
 ownership for every registry in fConfVect More...
 
AlgStatus_t fStatus
 algorithm execution status More...
 
AlgMapfOwnedSubAlgMp
 local pool for owned sub-algs (taken out of the factory pool) More...
 

Detailed Description

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

      Concrete implementation of the RSHelicityAmplModelI interface.
Author
Costas Andreopoulos <c.andreopoulos cern.ch> University of Liverpool
Created:
March 30, 2005
License:
Copyright (c) 2003-2024, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org

Definition at line 29 of file RSHelicityAmplModelEMn.h.

Constructor & Destructor Documentation

RSHelicityAmplModelEMn::RSHelicityAmplModelEMn ( )

Definition at line 22 of file RSHelicityAmplModelEMn.cxx.

22  :
23 RSHelicityAmplModelI("genie::RSHelicityAmplModelEMn")
24 {
25 
26 }
RSHelicityAmplModelEMn::RSHelicityAmplModelEMn ( string  config)

Definition at line 28 of file RSHelicityAmplModelEMn.cxx.

28  :
29 RSHelicityAmplModelI("genie::RSHelicityAmplModelEMn", config)
30 {
31 
32 }
RSHelicityAmplModelEMn::~RSHelicityAmplModelEMn ( )
virtual

Definition at line 34 of file RSHelicityAmplModelEMn.cxx.

35 {
36 
37 }

Member Function Documentation

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

Implements genie::RSHelicityAmplModelI.

Definition at line 40 of file RSHelicityAmplModelEMn.cxx.

References genie::RSHelicityAmpl::f0Minus, genie::RSHelicityAmpl::f0Plus, fAmpl, genie::RSHelicityAmpl::fMinus1, genie::RSHelicityAmpl::fMinus3, genie::RSHelicityAmpl::fPlus1, genie::RSHelicityAmpl::fPlus3, genie::constants::k1_Sqrt15, genie::constants::k1_Sqrt2, genie::constants::k1_Sqrt24, genie::constants::k1_Sqrt3, genie::constants::k1_Sqrt35, genie::constants::k1_Sqrt5, genie::constants::k1_Sqrt6, genie::constants::k1_Sqrt7, genie::constants::k2_Sqrt15, genie::constants::k3_Sqrt2, 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::kSqrt10, genie::constants::kSqrt18_35, genie::constants::kSqrt2, genie::constants::kSqrt2_5, genie::constants::kSqrt2_7, genie::constants::kSqrt3, genie::constants::kSqrt30, genie::constants::kSqrt3_10, genie::constants::kSqrt3_2, genie::constants::kSqrt3_35, 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.

42 {
43  switch(res) {
44 
45  case (kP33_1232) :
46  {
47  fAmpl.fPlus1 = kSqrt2 * fkr.R;
48  fAmpl.fPlus3 = kSqrt6 * fkr.R;
49  fAmpl.fMinus1 = -1 * fAmpl.fPlus1;
50  fAmpl.fMinus3 = -1 * fAmpl.fPlus3;
51  fAmpl.f0Minus = 0.;
52  fAmpl.f0Plus = 0.;
53  break;
54  }
55  case (kS11_1535) :
56  {
57  fAmpl.fPlus1 = kSqrt3 * fkr.T + k1_Sqrt6 * fkr.Lamda * fkr.R;
58  fAmpl.f0Minus = kSqrt3_2 * fkr.Lamda * fkr.S;
59  fAmpl.fMinus1 = -1 * fAmpl.fPlus1;
60  fAmpl.f0Plus = -1 * fAmpl.f0Minus;
61  fAmpl.fMinus3 = 0.;
62  fAmpl.fPlus3 = 0.;
63 
64  break;
65  }
66  case (kD13_1520) :
67  {
68  fAmpl.fMinus1 = -kSqrt3_2 * fkr.T + k1_Sqrt3 * fkr.Lamda * fkr.R;
69  fAmpl.fMinus3 = -k3_Sqrt2 * fkr.T;
70  fAmpl.f0Minus = kSqrt3 * fkr.Lamda * fkr.S;
74  break;
75  }
76  case (kS11_1650) :
77  {
78  fAmpl.fPlus1 = k1_Sqrt6 * fkr.Lamda * fkr.R;
79  fAmpl.fMinus1 = -1 * fAmpl.fPlus1;
80  fAmpl.fMinus3 = 0.;
81  fAmpl.fPlus3 = 0.;
82  fAmpl.f0Minus = 0.;
83  fAmpl.f0Plus = 0.;
84  break;
85  }
86  case (kD13_1700) :
87  {
88  double LR = fkr.Lamda * fkr.R;
89 
90  fAmpl.fMinus1 = -(1./kSqrt30) * LR;
91  fAmpl.fMinus3 = -(3./kSqrt10) * LR;
94  fAmpl.f0Minus = 0.;
95  fAmpl.f0Plus = 0.;
96  break;
97  }
98  case (kD15_1675) :
99  {
100  double LR = fkr.Lamda * fkr.R;
101 
102  fAmpl.fMinus1 = kSqrt3_10 * LR;
103  fAmpl.fMinus3 = kSqrt3_5 * LR;
104  fAmpl.fPlus1 = -1 * fAmpl.fMinus1;
105  fAmpl.fPlus3 = -1 * fAmpl.fMinus3;
106  fAmpl.f0Minus = 0.;
107  fAmpl.f0Plus = 0.;
108  break;
109  }
110  case (kS31_1620) :
111  {
112  fAmpl.fMinus1 = kSqrt3 * fkr.T - k1_Sqrt6 * fkr.Lamda * fkr.R;
113  fAmpl.f0Minus = -kSqrt3_2 * fkr.Lamda * fkr.S;
114  fAmpl.fPlus1 = -1. * fAmpl.fMinus1;
115  fAmpl.f0Plus = -1. * fAmpl.f0Minus;
116  fAmpl.fMinus3 = 0.;
117  fAmpl.fPlus3 = 0.;
118  break;
119  }
120  case (kD33_1700) :
121  {
122  fAmpl.fMinus1 = kSqrt3_2 * fkr.T + k1_Sqrt3 * fkr.Lamda * fkr.R;
123  fAmpl.fMinus3 = k3_Sqrt2 * fkr.T;
124  fAmpl.f0Minus = -kSqrt3 * fkr.Lamda * fkr.S;
128  break;
129  }
130  case (kP11_1440) :
131  {
132  fAmpl.fMinus1 = k1_Sqrt3 * TMath::Power(fkr.Lamda, 2) * fkr.R;
134  fAmpl.fMinus3 = 0.;
135  fAmpl.fPlus3 = 0.;
136  fAmpl.f0Minus = 0.;
137  fAmpl.f0Plus = 0.;
138  break;
139  }
140  case (kP33_1600) :
141  {
142  double L2R = TMath::Power(fkr.Lamda, 2) * fkr.R;
143 
144  fAmpl.fMinus1 = k1_Sqrt6 * L2R;
145  fAmpl.fMinus3 = k1_Sqrt2 * L2R;
146  fAmpl.fPlus1 = -1. * fAmpl.fMinus1;
147  fAmpl.fPlus3 = -1. * fAmpl.fMinus3;
148  fAmpl.f0Minus = 0.;
149  fAmpl.f0Plus = 0.;
150  break;
151  }
152  case (kP13_1720) :
153  {
154  fAmpl.fMinus1 = k2_Sqrt15 * TMath::Power(fkr.Lamda, 2) * fkr.R;
155  fAmpl.fPlus1 = -1 * fAmpl.fMinus1;
156  fAmpl.fMinus3 = 0.;
157  fAmpl.fPlus3 = 0.;
158  fAmpl.f0Minus = 0.;
159  fAmpl.f0Plus = 0.;
160  break;
161  }
162  case (kF15_1680) :
163  {
164  fAmpl.fMinus1 = -kSqrt2_5 * TMath::Power(fkr.Lamda, 2) * fkr.R;
166  fAmpl.fMinus3 = 0.;
167  fAmpl.fPlus3 = 0.;
168  fAmpl.f0Minus = 0.;
169  fAmpl.f0Plus = 0.;
170  break;
171  }
172  case (kP31_1910) :
173  {
174  fAmpl.fMinus1 = -k1_Sqrt15 * TMath::Power(fkr.Lamda, 2) * fkr.R;
176  fAmpl.fMinus3 = 0.;
177  fAmpl.fPlus3 = 0.;
178  fAmpl.f0Minus = 0.;
179  fAmpl.f0Plus = 0.;
180  break;
181  }
182  case (kP33_1920) :
183  {
184  double L2R = TMath::Power(fkr.Lamda, 2) * fkr.R;
185 
186  fAmpl.fMinus1 = k1_Sqrt15 * L2R;
187  fAmpl.fMinus3 = -k1_Sqrt5 * L2R;
188  fAmpl.fPlus1 = -1.* fAmpl.fMinus1;
189  fAmpl.fPlus3 = -1.* fAmpl.fMinus3;
190  fAmpl.f0Minus = 0.;
191  fAmpl.f0Plus = 0.;
192  break;
193  }
194  case (kF35_1905) :
195  {
196  double L2R = TMath::Power(fkr.Lamda, 2) * fkr.R;
197 
198  fAmpl.fMinus1 = k1_Sqrt35 * L2R;
199  fAmpl.fMinus3 = kSqrt18_35 * L2R;
202  fAmpl.f0Minus = 0.;
203  fAmpl.f0Plus = 0.;
204  break;
205  }
206  case (kF37_1950) :
207  {
208  double L2R = TMath::Power(fkr.Lamda, 2) * fkr.R;
209 
210  fAmpl.fMinus1 = -kSqrt6_35 * L2R;
211  fAmpl.fMinus3 = -kSqrt2_7 * L2R;
212  fAmpl.fPlus1 = -1. * fAmpl.fMinus1;
213  fAmpl.fPlus3 = -1. * fAmpl.fMinus3;
214  fAmpl.f0Minus = 0.;
215  fAmpl.f0Plus = 0.;
216  break;
217  }
218  case (kP11_1710) :
219  {
220  double L2 = TMath::Power(fkr.Lamda, 2);
221 
222  fAmpl.fMinus1 = -k1_Sqrt24 * L2 * fkr.R;
223  fAmpl.f0Minus = -kSqrt3_8 * L2 * fkr.S;
226  fAmpl.fMinus3 = 0.;
227  fAmpl.fPlus3 = 0.;
228 
229  break;
230  }
231  case (kF17_1970) :
232  {
233  double L2R = TMath::Power(fkr.Lamda, 2) * fkr.R;
234 
235  fAmpl.fMinus1 = kSqrt3_35 * L2R;
236  fAmpl.fPlus1 = -1 * fAmpl.fMinus1;
237  fAmpl.fMinus3 = k1_Sqrt7 * L2R;
238  fAmpl.fPlus3 = -1 * fAmpl.fMinus3;
239  fAmpl.f0Minus = 0.;
240  fAmpl.f0Plus = 0.;
241  break;
242  }
243  default:
244  {
245  LOG("RSHAmpl", pWARN) << "*** UNRECOGNIZED RESONANCE!";
246  fAmpl.fMinus1 = 0.;
247  fAmpl.fPlus1 = 0.;
248  fAmpl.fMinus3 = 0.;
249  fAmpl.fPlus3 = 0.;
250  fAmpl.f0Minus = 0.;
251  fAmpl.f0Plus = 0.;
252  break;
253  }
254 
255  }//switch
256 
257  return fAmpl;
258 }
double Lamda
Definition: FKR.h:37
double R
Definition: FKR.h:45
#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
#define pWARN
Definition: Messenger.h:60
double S
Definition: FKR.h:40

Member Data Documentation

RSHelicityAmpl genie::RSHelicityAmplModelEMn::fAmpl
mutableprivate

Definition at line 40 of file RSHelicityAmplModelEMn.h.

Referenced by Compute().


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