GENIEGenerator
Loading...
Searching...
No Matches
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-2025, 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
31namespace genie {
32
33//class IntegratorI;
34
35namespace mueloss {
36
38{
39public:
40
42 KokoulinPetrukhinModel(string config);
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
76namespace 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_
double dE_dx(double E, MuELMaterial_t material) const
Implement the MuELossI interface.
ROOT::Math::IBaseFunctionMultiDim * 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