Public Member Functions | Private Attributes | List of all members
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:
genie::RSHelicityAmplModelI genie::Algorithm

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. 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)
 
- 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
 
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< boolfOwnerships
 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 protons, as computed in the Rein-Sehgal's paper.

Concrete implementation of the RSHelicityAmplModelI interface.

Author
Costas Andreopoulos <constantinos.andreopoulos cern.ch> University of Liverpool & STFC Rutherford Appleton Laboratory

March 30, 2005

Copyright (c) 2003-2020, 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::RSHelicityAmplModelEMp ( )

Definition at line 20 of file RSHelicityAmplModelEMp.cxx.

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

Definition at line 26 of file RSHelicityAmplModelEMp.cxx.

26  :
27 RSHelicityAmplModelI("genie::RSHelicityAmplModelEMp", config)
28 {
29 
30 }
static Config * config
Definition: config.cpp:1054
RSHelicityAmplModelEMp::~RSHelicityAmplModelEMp ( )
virtual

Definition at line 32 of file RSHelicityAmplModelEMp.cxx.

33 {
34 
35 }

Member Function Documentation

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;
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 }
static const double k3_Sqrt10
Definition: Constants.h:153
static const double kSqrt3
Definition: Constants.h:116
static const double kSqrt2
Definition: Constants.h:115
static const double kSqrt6
Definition: Constants.h:119
static const double k1_Sqrt5
Definition: Constants.h:137
double Lamda
Definition: FKR.h:37
double R
Definition: FKR.h:45
static const double k1_Sqrt3
Definition: Constants.h:136
static const double k1_Sqrt6
Definition: Constants.h:138
static const double k3_Sqrt2
Definition: Constants.h:151
#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
static const double kSqrt2_7
Definition: Constants.h:159
static const double k1_Sqrt35
Definition: Constants.h:144
static const double kSqrt3_5
Definition: Constants.h:163
static const double kSqrt3_8
Definition: Constants.h:164
static const double kSqrt3_2
Definition: Constants.h:161
#define pWARN
Definition: Messenger.h:60
static const double k1_Sqrt15
Definition: Constants.h:141
static const double k3_Sqrt5
Definition: Constants.h:152
static const double kSqrt18_5
Definition: Constants.h:179
static const double kSqrt27_10
Definition: Constants.h:183
static const double k1_Sqrt2
Definition: Constants.h:135
double S
Definition: FKR.h:40
static const double kSqrt6_35
Definition: Constants.h:176
static const double kSqrt18_35
Definition: Constants.h:181

Member Data Documentation

RSHelicityAmpl genie::RSHelicityAmplModelEMp::fAmpl
mutableprivate

Definition at line 40 of file RSHelicityAmplModelEMp.h.


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