aboutsummaryrefslogtreecommitdiffstats
path: root/include/G4BeamTestEMPhysics.h
blob: 24c500604a2ad9e2e0aca9651a17fbf21a564210 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef G4TANKRESPONSE_G4BEAMTESTEMPHYSICS_H_INCLUDED
#define G4TANKRESPONSE_G4BEAMTESTEMPHYSICS_H_INCLUDED

#include <globals.hh>
#include <G4VPhysicsConstructor.hh>
#include <G4PhotoElectricEffect.hh>
#include <G4ComptonScattering.hh>
#include <G4GammaConversion.hh>
#include <G4eMultipleScattering.hh>
#include <G4eIonisation.hh>
#include <G4eBremsstrahlung.hh>
#include <G4eplusAnnihilation.hh>

/**
   @class G4BeamTestEMPhysics
   @brief Electromagnetic physics. Used only if Geant4 version is earlier than 4.10.

   This class implements the electromagnetic interactions
   - Photoelectric effect
   - Compton scattering
   - Gamma conversion
   - Multiple scattering
   - Ionisation/Bremsstrahlung for electrons
   - Positron annihilation
*/
class G4BeamTestEMPhysics : public G4VPhysicsConstructor {
public:
  G4BeamTestEMPhysics();
  ~G4BeamTestEMPhysics();

  void ConstructParticle();
  void ConstructProcess();

private:
  // Gamma physics
  G4PhotoElectricEffect photoEffect;
  G4ComptonScattering comptonEffect;
  G4GammaConversion pairProduction;

  // Electron physics
  G4eMultipleScattering electronMultipleScattering;
  G4eIonisation electronIonisation;
  G4eBremsstrahlung electronBremsStrahlung;

  //Positron physics
  G4eMultipleScattering positronMultipleScattering;
  G4eIonisation positronIonisation;
  G4eBremsstrahlung positronBremsStrahlung;
  G4eplusAnnihilation annihilation;
};

#endif // G4TANKRESPONSE_G4BEAMTESTEMPHYSICS_H_INCLUDED