GENIEGenerator
Loading...
Searching...
No Matches
PetrukhinShestakovModel.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::mueloss::PetrukhinShestakovModel
5
6\brief Bethe-Heitler, Petrukhin-Shestakov model for the energy loss of muons
7 due to bremsstrahlung.
8 Concrete implementation of the MuELossI interface.
9
10\ref W.Lohmann, R.Kopp and R.Voss,
11 Energy Loss of Muons in the Energy Range 1-10000 GeV, CERN 85-03
12
13\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
14 University of Liverpool
15
16\created December 10, 2003
17
18\cpright Copyright (c) 2003-2025, The GENIE Collaboration
19 For the full text of the license visit http://copyright.genie-mc.org
20
21
22*/
23//____________________________________________________________________________
24
25#ifndef _PETRUKHIN_SHESTAKOV_MODEL_H_
26#define _PETRUKHIN_SHESTAKOV_MODEL_H_
27
28#include <Math/IFunction.h>
29
31///#include "Numerical/GSFunc.h"
32
33namespace genie {
34
35////class IntegratorI;
36
37namespace mueloss {
38
40{
41public:
43 PetrukhinShestakovModel(string config);
45
46 //! Implement the MuELossI interface
47 double dE_dx (double E, MuELMaterial_t material) const;
48 MuELProcess_t Process (void) const { return eMupBremsstrahlung; }
49
50// //! Overload the Algorithm::Configure() methods to load private data
51// //! members from configuration options
52// void Configure(const Registry & config);
53// void Configure(string config);
54//
55//private:
56// void LoadConfig (void);
57// //const IntegratorI * fIntegrator;
58};
59
60} // mueloss namespace
61} // genie namespace
62
63//____________________________________________________________________________
64/*!
65\class genie::mueloss::PetrukhinShestakovIntegrand
66
67\brief Auxiliary scalar function for the internal integration in Petrukhin
68 Shestakov model
69
70\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
71 University of Liverpool
72
73\created December 10, 2003
74*/
75//____________________________________________________________________________
76
77namespace genie {
78 namespace mueloss {
79 namespace gsl {
80
81 class PetrukhinShestakovIntegrand : public ROOT::Math::IBaseFunctionOneDim
82 {
83 public:
84 PetrukhinShestakovIntegrand(double E, double Z);
86 // ROOT::Math::IBaseFunctionOneDim interface
87 unsigned int NDim (void) const;
88 double DoEval (double xin) const;
89 ROOT::Math::IBaseFunctionOneDim * Clone (void) const;
90 private:
91 double fE;
92 double fZ;
93 };
94
95 } // gsl namespace
96 } // mueloss namespace
97} // genie namespace
98
99#endif // _PETRUKHIN_SHESTAKOV_MODEL_H_
double dE_dx(double E, MuELMaterial_t material) const
Implement the MuELossI interface.
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
The MuELoss utility package that computes muon energy losses in the energy range from 1 GeV to 10 TeV...
enum genie::mueloss::EMuELMaterial MuELMaterial_t
enum genie::mueloss::EMuELProcess MuELProcess_t
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25