GENIEGenerator
Loading...
Searching...
No Matches
BardinIMDRadCorPXSec.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::BardinIMDRadCorPXSec
5
6\brief Computes the Inverse Muon Decay (IMD) diff. cross section using the
7 Bardin-Dokuchaeva including all 1-loop radiative corrections. \n
8
9 This is a 'trully' inclusive IMD cross section, i.e. the brem. cross
10 section (dxsec_brem/dy)|w>w0 [see Bardin paper, cited below] is not
11 subtracted from the IMD cross section and therefore it is not suitable
12 for experimental situations where a photon energy trigger threshold
13 is applied.
14
15 Is a concrete implementation of the XSecAlgorithmI interface. \n
16
17\ref D.Yu.Bardin and V.A.Dokuchaeva, Nucl.Phys.B287:839 (1987)
18
19\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
20 University of Liverpool
21
22\created February 14, 2005
23
24\cpright Copyright (c) 2003-2025, The GENIE Collaboration
25 For the full text of the license visit http://copyright.genie-mc.org
26*/
27//____________________________________________________________________________
28
29#ifndef _BARDIN_IMD_RADIATIVE_CORRECTIONS_PARTIAL_XSEC_H_
30#define _BARDIN_IMD_RADIATIVE_CORRECTIONS_PARTIAL_XSEC_H_
31
32#include <Math/IFunction.h>
34
35namespace genie {
36
37class XSecIntegratorI;
38
40
41public:
43 BardinIMDRadCorPXSec(string config);
44 virtual ~BardinIMDRadCorPXSec();
45
46 // XSecAlgorithmI interface implementation
47 double XSec (const Interaction * i, KinePhaseSpace_t k) const;
48 double Integral (const Interaction * i) const;
49 bool ValidProcess (const Interaction * i) const;
50
51 // Override the Algorithm::Configure methods to load configuration
52 // data to private data members
53 void Configure (const Registry & config);
54 void Configure (string param_set);
55
56private:
57
58 // Load configuration when Algorithm::Configure() is called
59 void LoadConfig(void);
60
61 // Private functions
62 // (symbols follow the notation in Bardin-Dokuchaeva paper)
63 double Li2 (double z) const;
64 double Fa (double re, double r, double y) const;
65 double P (int i, double r, double y) const;
66 double C (int i, int k, double r) const;
67
68 // Private data members
69// const IntegratorI * fIntegrator; ///< num integrator for BardinIMDRadCorIntegrand
70 const XSecIntegratorI * fXSecIntegrator; ///< differential x-sec integrator
71};
72
73} // genie namespace
74
75//____________________________________________________________________________
76/*!
77\class genie::BardinIMDRadCorIntegrand
78
79\brief Auxiliary scalar function for the internal integration in Bardin's
80 IMD d2xsec/dxdy cross section algorithm
81
82\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
83 University of Liverpool
84
85\created February 20, 2006
86*/
87//____________________________________________________________________________
88
89namespace genie {
90 namespace utils {
91 namespace gsl {
92 namespace wrap {
93
94 class BardinIMDRadCorIntegrand : public ROOT::Math::IBaseFunctionOneDim
95 {
96 public:
99 // ROOT::Math::IBaseFunctionOneDim interface
100 unsigned int NDim (void) const;
101 double DoEval (double xin) const;
102 ROOT::Math::IBaseFunctionOneDim * Clone (void) const;
103 private:
104 double fZ;
105 };
106
107 } // wrap namespace
108 } // gsl namespace
109 } // utils namespace
110} // genie namespace
111
112#endif // _BARDIN_IMD_RADIATIVE_CORRECTIONS_PARTIAL_XSEC_H_
double C(int i, int k, double r) const
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
double Fa(double re, double r, double y) const
double Integral(const Interaction *i) const
const XSecIntegratorI * fXSecIntegrator
differential x-sec integrator
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
double P(int i, double r, double y) const
void Configure(const Registry &config)
Summary information for an interaction.
Definition Interaction.h:56
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
Cross Section Integrator Interface.
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EKinePhaseSpace KinePhaseSpace_t