GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MuELossI.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::MuELossI
5 
6 \brief Cross Section Calculation Interface.
7 
8 \author Costas Andreopoulos <c.andreopoulos \at cern.ch>
9  University of Liverpool
10 
11 \created December 10, 2003
12 
13 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
14  For the full text of the license visit http://copyright.genie-mc.org
15 
16 */
17 //____________________________________________________________________________
18 
19 #ifndef _MUELOSS_I_H_
20 #define _MUELOSS_I_H_
21 
25 
26 namespace genie {
27 namespace mueloss {
28 
29 const double kMaxMuE = 10000; // 10 TeV
30 
31 class MuELossI : public Algorithm {
32 
33 public:
34  virtual ~MuELossI();
35 
36  virtual double dE_dx (double E, MuELMaterial_t m) const = 0;
37  virtual MuELProcess_t Process (void) const = 0;
38 
39 protected:
40  MuELossI();
41  MuELossI(string name);
42  MuELossI(string name, string config);
43 };
44 
45 } // mueloss namespace
46 } // genie namespace
47 
48 #endif // _MUELOSS_I_H_
virtual double dE_dx(double E, MuELMaterial_t m) const =0
Algorithm abstract base class.
Definition: Algorithm.h:54
virtual MuELProcess_t Process(void) const =0
const double kMaxMuE
Definition: MuELossI.h:29
static constexpr double m
Definition: Units.h:71
enum genie::mueloss::EMuELProcess MuELProcess_t
enum genie::mueloss::EMuELMaterial MuELMaterial_t