4 // Author: I. Hrivnacova
6 // Class TG4PhysicsConstructorEM
7 // -----------------------------
8 // Constructor of electromagnetic physics.
9 // According to the corresponding part of:
10 // ExN04PhysicsList.hh, GEANT4 tag Name: geant4-03-02
12 #ifndef TG4_PHYSICS_CONSTRUCTOR_EM_H
13 #define TG4_PHYSICS_CONSTRUCTOR_EM_H
15 #include "TG4VPhysicsConstructor.h"
17 #include <G4PhotoElectricEffect.hh>
18 #include <G4ComptonScattering.hh>
19 #include <G4GammaConversion.hh>
20 #include <G4MultipleScattering.hh>
21 #include <G4eIonisation.hh>
22 #include <G4eBremsstrahlung.hh>
23 #include <G4eplusAnnihilation.hh>
26 class TG4PhysicsConstructorEM: public TG4VPhysicsConstructor
29 TG4PhysicsConstructorEM(const G4String& name = "EM");
30 TG4PhysicsConstructorEM(G4int verboseLevel,
31 const G4String& name = "EM");
32 virtual ~TG4PhysicsConstructorEM();
36 // construct particle and physics
37 virtual void ConstructParticle();
38 virtual void ConstructProcess();
42 G4PhotoElectricEffect fPhotoEffect; //gamma photoeffect
43 G4ComptonScattering fComptonEffect; //Compton scattering
44 G4GammaConversion fPairProduction; //gamma pair production
47 G4MultipleScattering fElectronMultipleScattering;//e- multiple scattering
48 G4eIonisation fElectronIonisation; //e- ionization
49 G4eBremsstrahlung fElectronBremsStrahlung; //e- Bremsstrahlung
52 G4MultipleScattering fPositronMultipleScattering;//e+ multiple scattering
53 G4eIonisation fPositronIonisation; //e+ ionisation
54 G4eBremsstrahlung fPositronBremsStrahlung; //e+ Bremsstrahlung
55 G4eplusAnnihilation fAnnihilation; //e+ annihilation
59 void ConstructProcessForGamma();
60 void ConstructProcessForElectron();
61 void ConstructProcessForPositron();
64 #endif //TG4_PHYSICS_CONSTRUCTOR_H