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 <G4VPhysicsConstructor.hh>
16 #include <G4PhotoElectricEffect.hh>
17 #include <G4ComptonScattering.hh>
18 #include <G4GammaConversion.hh>
19 #include <G4MultipleScattering.hh>
20 #include <G4eIonisation.hh>
21 #include <G4eBremsstrahlung.hh>
22 #include <G4eplusAnnihilation.hh>
25 class TG4PhysicsConstructorEM: public G4VPhysicsConstructor
28 TG4PhysicsConstructorEM(const G4String& name = "EM");
29 virtual ~TG4PhysicsConstructorEM();
33 // construct particle and physics
34 virtual void ConstructParticle();
35 virtual void ConstructProcess();
39 G4PhotoElectricEffect fPhotoEffect; //gamma photoeffect
40 G4ComptonScattering fComptonEffect; //Compton scattering
41 G4GammaConversion fPairProduction; //gamma pair production
44 G4MultipleScattering fElectronMultipleScattering;//e- multiple scattering
45 G4eIonisation fElectronIonisation; //e- ionization
46 G4eBremsstrahlung fElectronBremsStrahlung; //e- Bremsstrahlung
49 G4MultipleScattering fPositronMultipleScattering;//e+ multiple scattering
50 G4eIonisation fPositronIonisation; //e+ ionisation
51 G4eBremsstrahlung fPositronBremsStrahlung; //e+ Bremsstrahlung
52 G4eplusAnnihilation fAnnihilation; //e+ annihilation
56 void ConstructProcessForGamma();
57 void ConstructProcessForElectron();
58 void ConstructProcessForPositron();
61 #endif //TG4_PHYSICS_CONSTRUCTOR_H