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;
40 G4ComptonScattering fComptonEffect;
41 G4GammaConversion fPairProduction;
44 G4MultipleScattering fElectronMultipleScattering;
45 G4eIonisation fElectronIonisation;
46 G4eBremsstrahlung fElectronBremsStrahlung;
49 G4MultipleScattering fPositronMultipleScattering;
50 G4eIonisation fPositronIonisation;
51 G4eBremsstrahlung fPositronBremsStrahlung;
52 G4eplusAnnihilation fAnnihilation;
56 void ConstructProcessForGamma();
57 void ConstructProcessForElectron();
58 void ConstructProcessForPositron();
61 #endif //TG4_PHYSICS_CONSTRUCTOR_H