GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
KokoulinPetrukhinModel.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::mueloss::KokoulinPetrukhinModel
5 
6 \brief Kokoulin-Petrukhin model for the energy loss of muons due to direct
7  e+e- pair production.
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 #ifndef _KOKOULIN_PETRUKHIN_MODEL_H_
24 #define _KOKOULIN_PETRUKHIN_MODEL_H_
25 
26 #include <Math/IFunction.h>
27 
29 //#include "Numerical/GSFunc.h"
30 
31 namespace genie {
32 
33 //class IntegratorI;
34 
35 namespace mueloss {
36 
38 {
39 public:
40 
42  KokoulinPetrukhinModel(string config);
43  virtual ~KokoulinPetrukhinModel();
44 
45  //! Implement the MuELossI interface
46  double dE_dx (double E, MuELMaterial_t material) const;
47  MuELProcess_t Process (void) const { return eMupPairProduction; }
48 
49 // //! overload the Algorithm::Configure() methods to load private data
50 // //! members from configuration options
51 // void Configure(const Registry & config);
52 // void Configure(string config);
53 //
54 //private:
55 // void LoadConfig (void);
56 // // const IntegratorI * fIntegrator;
57 };
58 
59 } // mueloss namespace
60 } // genie namespace
61 
62 //____________________________________________________________________________
63 /*!
64 \class genie::mueloss::KokoulinPetrukhinIntegrand
65 
66 \brief Auxiliary scalar function for the internal integration in Kokulin
67  Petrukhin model
68 
69 \author Costas Andreopoulos <c.andreopoulos \at cern.ch>
70  University of Liverpool
71 
72 \created December 10, 2003
73 */
74 //____________________________________________________________________________
75 
76 namespace genie {
77  namespace mueloss {
78  namespace gsl {
79 
80  class KokoulinPetrukhinIntegrand : public ROOT::Math::IBaseFunctionMultiDim
81  {
82  public:
83  KokoulinPetrukhinIntegrand(double E, double Z);
85  // ROOT::Math::IBaseFunctionMultiDim interface
86  unsigned int NDim (void) const;
87  double DoEval (const double * xin) const;
88  ROOT::Math::IBaseFunctionMultiDim * Clone (void) const;
89  private:
90  double fE;
91  double fZ;
92  };
93 
94  } // gsl namespace
95  } // mueloss namespace
96 } // genie namespace
97 
98 #endif // _KOKOULIN_PETRUKHIN_MODEL_
Kokoulin-Petrukhin model for the energy loss of muons due to direct e+e- pair production. Concrete implementation of the MuELossI interface.
double dE_dx(double E, MuELMaterial_t material) const
Implement the MuELossI interface.
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
enum genie::mueloss::EMuELProcess MuELProcess_t
enum genie::mueloss::EMuELMaterial MuELMaterial_t