File indexing completed on 2026-07-13 08:21:04
0001
0002 #ifndef G4HepEmElectronInteractionIoni_HH
0003 #define G4HepEmElectronInteractionIoni_HH
0004
0005 #include "G4HepEmMacros.hh"
0006
0007 class G4HepEmTLData;
0008 class G4HepEmRandomEngine;
0009 struct G4HepEmData;
0010
0011
0012
0013
0014 class G4HepEmElectronInteractionIoni {
0015 private:
0016 G4HepEmElectronInteractionIoni() = delete;
0017
0018 public:
0019 static void Perform(G4HepEmTLData* tlData, struct G4HepEmData* hepEmData, bool iselectron);
0020
0021
0022
0023 G4HepEmHostDevice
0024 static double SampleETransferMoller(const double elCut, const double primEkin, G4HepEmRandomEngine* rnge);
0025
0026
0027
0028 G4HepEmHostDevice
0029 static double SampleETransferBhabha(const double elCut, const double primEkin, G4HepEmRandomEngine* rnge);
0030
0031 G4HepEmHostDevice
0032 static void SampleDirections(const double thePrimEkin, const double deltaEkin, double* theSecElecDir,
0033 double* thePrimElecDir, G4HepEmRandomEngine* rnge);
0034 };
0035
0036 #endif