00001 // 00002 // ******************************************************************** 00003 // * DISCLAIMER * 00004 // * * 00005 // * The following disclaimer summarizes all the specific disclaimers * 00006 // * of contributors to this software. The specific disclaimers,which * 00007 // * govern, are listed with their locations in: * 00008 // * http://cern.ch/geant4/license * 00009 // * * 00010 // * Neither the authors of this software system, nor their employing * 00011 // * institutes,nor the agencies providing financial support for this * 00012 // * work make any representation or warranty, express or implied, * 00013 // * regarding this software system or assume any liability for its * 00014 // * use. * 00015 // * * 00016 // * This code implementation is the intellectual property of the * 00017 // * GEANT4 collaboration. * 00018 // * By copying, distributing or modifying the Program (or any work * 00019 // * based on the Program) you indicate your acceptance of this * 00020 // * statement, and all its terms. * 00021 // ******************************************************************** 00022 // 00023 // 00024 // $Id: ExN04EMPhysics.hh,v 1.1.1.1 2004/09/28 05:16:53 liwd Exp $ 00025 // GEANT4 tag $Name: G4Svc-00-01-52 $ 00026 // 00027 // 00028 // ------------------------------------------------------------ 00029 // GEANT 4 class header file 00030 // Class Description: 00031 // This class is an derived class of G4VPhysicsConstructor 00032 // 00033 // ------------------------------------------- 00034 // History 00035 // first version 12 Nov. 2000 by H.Kurashige 00036 // ------------------------------------------------------------ 00037 #ifndef ExN04EMPhysics_h 00038 #define ExN04EMPhysics_h 1 00039 00040 #include "globals.hh" 00041 #include "G4ios.hh" 00042 00043 #include "G4VPhysicsConstructor.hh" 00044 00045 #include "G4PhotoElectricEffect.hh" 00046 #include "G4ComptonScattering.hh" 00047 #include "G4GammaConversion.hh" 00048 #include "G4MultipleScattering.hh" 00049 #include "G4eIonisation.hh" 00050 #include "G4eBremsstrahlung.hh" 00051 #include "G4eplusAnnihilation.hh" 00052 00053 class ExN04EMPhysics : public G4VPhysicsConstructor 00054 { 00055 public: 00056 ExN04EMPhysics(const G4String& name ="EM"); 00057 virtual ~ExN04EMPhysics(); 00058 00059 public: 00060 // This method will be invoked in the Construct() method. 00061 // each particle type will be instantiated 00062 virtual void ConstructParticle(); 00063 00064 // This method will be invoked in the Construct() method. 00065 // each physics process will be instantiated and 00066 // registered to the process manager of each particle type 00067 virtual void ConstructProcess(); 00068 00069 protected: 00070 // Gamma physics 00071 G4PhotoElectricEffect thePhotoEffect; 00072 G4ComptonScattering theComptonEffect; 00073 G4GammaConversion thePairProduction; 00074 00075 // Electron physics 00076 G4MultipleScattering theElectronMultipleScattering; 00077 G4eIonisation theElectronIonisation; 00078 G4eBremsstrahlung theElectronBremsStrahlung; 00079 00080 //Positron physics 00081 G4MultipleScattering thePositronMultipleScattering; 00082 G4eIonisation thePositronIonisation; 00083 G4eBremsstrahlung thePositronBremsStrahlung; 00084 G4eplusAnnihilation theAnnihilation; 00085 }; 00086 00087 00088 #endif 00089 00090 00091 00092 00093