Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #ifndef G4HepEmGammaInteractionPhotoelectric_HH
0002 #define G4HepEmGammaInteractionPhotoelectric_HH
0003 
0004 #include "G4HepEmConstants.hh"
0005 #include "G4HepEmMacros.hh"
0006 
0007 class  G4HepEmTLData;
0008 class  G4HepEmRandomEngine;
0009 struct G4HepEmData;
0010 
0011 
0012 class G4HepEmGammaInteractionPhotoelectric {
0013 private:
0014   G4HepEmGammaInteractionPhotoelectric() = delete;
0015 
0016 public:
0017   static void Perform(G4HepEmTLData* tlData, struct G4HepEmData* hepEmData);
0018 
0019   G4HepEmHostDevice
0020   static double SelectElementBindingEnergy(const struct G4HepEmData* hepEmData, const int imc, const double mxsec, const double ekin, G4HepEmRandomEngine* rnge);
0021 
0022   G4HepEmHostDevice
0023   static void SamplePhotoElectronDirection(const double theGammaE, const double* theGammaDir, double* theDir, G4HepEmRandomEngine* rnge);
0024 };
0025 
0026 #endif // G4HepEmGammaInteractionPhotoelectric_HH