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