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: ExN04MuonPhysics.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 ExN04MuonPhysics_h 00038 #define ExN04MuonPhysics_h 1 00039 00040 #include "globals.hh" 00041 #include "G4ios.hh" 00042 00043 #include "G4VPhysicsConstructor.hh" 00044 #include "G4MultipleScattering.hh" 00045 #include "G4MuBremsstrahlung.hh" 00046 #include "G4MuPairProduction.hh" 00047 #include "G4MuIonisation.hh" 00048 #include "G4hIonisation.hh" 00049 00050 #include "G4MuonMinusCaptureAtRest.hh" 00051 00052 class ExN04MuonPhysics : public G4VPhysicsConstructor 00053 { 00054 public: 00055 ExN04MuonPhysics(const G4String& name="muon"); 00056 virtual ~ExN04MuonPhysics(); 00057 00058 public: 00059 // This method will be invoked in the Construct() method. 00060 // each particle type will be instantiated 00061 virtual void ConstructParticle(); 00062 00063 // This method will be invoked in the Construct() method. 00064 // each physics process will be instantiated and 00065 // registered to the process manager of each particle type 00066 virtual void ConstructProcess(); 00067 00068 protected: 00069 // Muon physics 00070 G4MultipleScattering fMuPlusMultipleScattering; 00071 G4MuBremsstrahlung fMuPlusBremsstrahlung ; 00072 G4MuPairProduction fMuPlusPairProduction; 00073 G4MuIonisation fMuPlusIonisation; 00074 00075 G4MultipleScattering fMuMinusMultipleScattering; 00076 G4MuBremsstrahlung fMuMinusBremsstrahlung ; 00077 G4MuPairProduction fMuMinusPairProduction; 00078 G4MuIonisation fMuMinusIonisation; 00079 00080 G4MuonMinusCaptureAtRest fMuMinusCaptureAtRest; 00081 00082 // Tau physics 00083 G4MultipleScattering fTauPlusMultipleScattering; 00084 G4hIonisation fTauPlusIonisation; 00085 00086 G4MultipleScattering fTauMinusMultipleScattering; 00087 G4hIonisation fTauMinusIonisation; 00088 00089 }; 00090 00091 00092 #endif 00093