File indexing completed on 2026-07-13 08:21:05
0001
0002 #ifndef G4HepEmPositronInteractionAnnihilation_HH
0003 #define G4HepEmPositronInteractionAnnihilation_HH
0004
0005 #include "G4HepEmMacros.hh"
0006
0007 class G4HepEmTLData;
0008 class G4HepEmRandomEngine;
0009
0010
0011
0012
0013 class G4HepEmPositronInteractionAnnihilation {
0014 private:
0015 G4HepEmPositronInteractionAnnihilation() = delete;
0016
0017 public:
0018 static void Perform(G4HepEmTLData* tlData, bool isatrest);
0019
0020
0021 static void AnnihilateAtRest(G4HepEmTLData* tlData);
0022
0023 static void AnnihilateInFlight(G4HepEmTLData* tlData);
0024
0025 G4HepEmHostDevice
0026 static void SampleEnergyAndDirectionsInFlight(const double thePrimEkin, const double *thePrimDir,
0027 double *theGamma1Ekin, double *theGamma1Dir,
0028 double *theGamma2Ekin, double *theGamma2Dir,
0029 G4HepEmRandomEngine* rnge);
0030 };
0031
0032 #endif