aboutsummaryrefslogtreecommitdiffstats
path: root/include/G4BeamTestEMPhysics.h
blob: 797719eaa131f623912be32479f586c5d4a239d2 (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
53
54
55
56
57
58
59
60
61
62
63
64
/*
 * copyright  (C) 2010
 * The Icecube Collaboration
 *
 * $Id: G4BeamTestEMPhysics.h 154687 2017-04-05 15:46:57Z jgonzalez $
 *
 * @version $Revision: 154687 $
 * @date $LastChangedDate: 2017-04-05 16:46:57 +0100 (Wed, 05 Apr 2017) $
 * @author Fabian Kislat <fabian.kislat@desy.de>, Peter Nießen (tanktop)
 * Last changed by: $LastChangedBy: jgonzalez $
 */

#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