Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef G4HepEmGammaInteractionCompton_HH
0002 #define G4HepEmGammaInteractionCompton_HH
0003 
0004 #include "G4HepEmMacros.hh"
0005 
0006 class  G4HepEmTLData;
0007 class  G4HepEmRandomEngine;
0008 struct G4HepEmData;
0009 
0010 
0011 // Compton scattering for gamma described by the simple Klein-Nishina model.
0012 // Used between 100 eV - 100 TeV primary gamma kinetic energies.
0013 class G4HepEmGammaInteractionCompton {
0014 private:
0015   G4HepEmGammaInteractionCompton() = delete;
0016 
0017 public:
0018   static void Perform(G4HepEmTLData* tlData, struct G4HepEmData* hepEmData);
0019 
0020   // Sampling of the post interaction photon energy and direction (already in the lab. frame)
0021   G4HepEmHostDevice
0022   static double SamplePhotonEnergyAndDirection(const double primEkin, double* primDir,
0023                                                const double* theOrgPrimGmDir, G4HepEmRandomEngine* rnge);
0024 };
0025 
0026 #endif  // G4HepEmGammaInteractionCompton_HH