GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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-2024, 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 
33 namespace genie {
34 
35 ////class IntegratorI;
36 
37 namespace mueloss {
38 
40 {
41 public:
43  PetrukhinShestakovModel(string config);
44  virtual ~PetrukhinShestakovModel();
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 
77 namespace 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_
Bethe-Heitler, Petrukhin-Shestakov model for the energy loss of muons due to bremsstrahlung. Concrete implementation of the MuELossI interface.
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
double dE_dx(double E, MuELMaterial_t material) const
Implement the MuELossI interface.
enum genie::mueloss::EMuELProcess MuELProcess_t
enum genie::mueloss::EMuELMaterial MuELMaterial_t