GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AREikonalSolution.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::alvarezruso::AREikonalSolution
5 
6 \brief Eikonal wavefunction solution for Alvarez-Ruso Coherent Pion Production xsec
7 
8 \ref
9 
10 \author Steve Dennis
11  University of Warwick, Rutherford Appleton Laboratory
12 
13 \created 05/12/2013
14 
15 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17 */
18 //____________________________________________________________________________
19 #ifndef _AR_EIKONAL_SOLUTION_H_
20 #define _AR_EIKONAL_SOLUTION_H_
21 
22 #include <complex>
23 
28 
29 namespace genie
30 {
31 namespace alvarezruso
32 {
33 
35 {
36  public:
37 
38  AREikonalSolution(bool debug, AlvarezRusoCOHPiPDXSec* parent);
39  AREikonalSolution(bool debug, ARSampledNucleus* nucl);
40 
41  virtual ~AREikonalSolution();
42  virtual std::complex<double> Element(const double radius, const double cosine_rz,
43  const double e_pion);
44  void Solve();
45 
46  private:
47 
48  AlvarezRusoCOHPiPDXSec* Parent() { return this->parent_; }
50  ARConstants* Con() { return this->constants_; }
51 
52  std::complex<double> PionSelfEnergy(const double rhop_cent, const double rhon_cent,
53  const double omepi, const double ppim);
54  void Deltamed(const double sdel, const double pf, const double rat, double& gamdpb,
55  double& imsig, const double ppim, const double omepi);
56  double Cc(const double a, const double b, const double c, const double ome);
57  double Gamd(const double s);
58  double Qcm(const double s);
59 
63 
65 
66 };
67 
68 
69 } //namespace alvarezruso
70 } //namespace genie
71 
72 #endif
AREikonalSolution(bool debug, AlvarezRusoCOHPiPDXSec *parent)
std::complex< double > PionSelfEnergy(const double rhop_cent, const double rhon_cent, const double omepi, const double ppim)
static constexpr double s
Definition: Units.h:95
Eikonal wavefunction solution for Alvarez-Ruso Coherent Pion Production xsec.
static constexpr double b
Definition: Units.h:78
Abstract base class for Alvarez-Ruso wavefunction solution.
Definition: ARWFSolution.h:32
const double a
double Cc(const double a, const double b, const double c, const double ome)
Nucleus class for Alvarez-Ruso Coherent Pion Production xsec.
AlvarezRusoCOHPiPDXSec * Parent()
virtual std::complex< double > Element(const double radius, const double cosine_rz, const double e_pion)
void Deltamed(const double sdel, const double pf, const double rat, double &gamdpb, double &imsig, const double ppim, const double omepi)