Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-07-13 08:21:03

0001 
0002 #ifndef G4HepEmElectronEnergyLossFluctuation_HH
0003 #define G4HepEmElectronEnergyLossFluctuation_HH
0004 
0005 #include "G4HepEmMacros.hh"
0006 
0007 class G4HepEmRandomEngine;
0008 
0009 /**
0010  * @file    G4HepEmElectronEnergyLossFluctuation.hh
0011  * @class   G4HepEmElectronEnergyLossFluctuation
0012  * @author  M. Novak
0013  * @date    2022
0014  *
0015  * @brief Urban universal model for e-/e+ energy loss fluctuation (as in 25-02-2022).
0016  */
0017 
0018 class G4HepEmElectronEnergyLossFluctuation {
0019 private:
0020   G4HepEmElectronEnergyLossFluctuation() = delete;
0021 
0022 public:
0023   G4HepEmHostDevice
0024   static double SampleEnergyLossFLuctuation(double ekin, double tcut, double tmax, double excEner,
0025                                             double stepLength, double meanELoss, G4HepEmRandomEngine* rnge);
0026 
0027 
0028   //
0029   G4HepEmHostDevice
0030   static double SampleGaussianLoss(double meanx, double sig2x, G4HepEmRandomEngine* rnge);
0031 
0032 };
0033 
0034 #endif // G4HepEmElectronEnergyLossFluctuation_HH