GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BezrukovBugaevModel.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::mueloss::BezrukovBugaevModel
5 
6 \brief Bezrukov-Bugaev model for the energy loss of high energy muons due
7  to photonuclear interactions.
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 _BEZRUKOV_BUGAEV_MODEL_H_
24 #define _BEZRUKOV_BUGAEV_MODEL_H_
25 
26 #include <Math/IFunction.h>
27 
29 
30 namespace genie {
31 
32 namespace mueloss {
33 
35 {
36 public:
38  BezrukovBugaevModel(string config);
39  virtual ~BezrukovBugaevModel();
40 
41  //! Implement the MuELossI interface
42  double dE_dx (double E, MuELMaterial_t material) const;
43  MuELProcess_t Process (void) const { return eMupNuclearInteraction; }
44 private:
45 
46 };
47 
48 } // mueloss namespace
49 } // genie namespace
50 
51 //____________________________________________________________________________
52 /*!
53 \class genie::mueloss::BezrukovBugaevIntegrand
54 
55 \brief Auxiliary scalar function for the internal integration in Bezrukov
56  Bugaev model
57 
58 \author Costas Andreopoulos <c.andreopoulos \at cern.ch>
59  University of Liverpool
60 
61 \created December 10, 2003
62 */
63 //____________________________________________________________________________
64 
65 namespace genie {
66  namespace mueloss {
67  namespace gsl {
68 
69  class BezrukovBugaevIntegrand : public ROOT::Math::IBaseFunctionOneDim
70  {
71  public:
72  BezrukovBugaevIntegrand(double E, double A);
74  // ROOT::Math::IBaseFunctionOneDim interface
75  unsigned int NDim (void) const;
76  double DoEval (double xin) const;
77  ROOT::Math::IBaseFunctionOneDim * Clone (void) const;
78  private:
79  double fE;
80  double fA;
81  };
82 
83  } // gsl namespace
84  } // mueloss namespace
85 } // genie namespace
86 
87 #endif // _BEZRUKOV_BUGAEV_MODEL_H_
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
MuELProcess_t Process(void) const
static constexpr double A
Definition: Units.h:74
double dE_dx(double E, MuELMaterial_t material) const
Implement the MuELossI interface.
Bezrukov-Bugaev model for the energy loss of high energy muons due to photonuclear interactions...
enum genie::mueloss::EMuELProcess MuELProcess_t
enum genie::mueloss::EMuELMaterial MuELMaterial_t