/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Simulation/G4Svc/G4Svc-00-01-52/Physics/ExN04HadronPhysics.hh

Go to the documentation of this file.
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: ExN04HadronPhysics.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 ExN04HadronPhysics_h
00038 #define ExN04HadronPhysics_h 1
00039 
00040 #include "globals.hh"
00041 #include "G4ios.hh"
00042 
00043 #include "G4VPhysicsConstructor.hh"
00044 
00045 #include "G4MultipleScattering.hh"
00046 #include "G4hIonisation.hh"
00047 
00048 #include "G4HadronElasticProcess.hh"
00049 #include "G4HadronFissionProcess.hh"
00050 #include "G4HadronCaptureProcess.hh"
00051 
00052 #include "G4PionPlusInelasticProcess.hh"
00053 #include "G4PionMinusInelasticProcess.hh"
00054 #include "G4KaonPlusInelasticProcess.hh"
00055 #include "G4KaonZeroSInelasticProcess.hh"
00056 #include "G4KaonZeroLInelasticProcess.hh"
00057 #include "G4KaonMinusInelasticProcess.hh"
00058 #include "G4ProtonInelasticProcess.hh"
00059 #include "G4AntiProtonInelasticProcess.hh"
00060 #include "G4NeutronInelasticProcess.hh"
00061 #include "G4AntiNeutronInelasticProcess.hh"
00062 #include "G4LambdaInelasticProcess.hh"
00063 #include "G4AntiLambdaInelasticProcess.hh"
00064 #include "G4SigmaPlusInelasticProcess.hh"
00065 #include "G4SigmaMinusInelasticProcess.hh"
00066 #include "G4AntiSigmaPlusInelasticProcess.hh"
00067 #include "G4AntiSigmaMinusInelasticProcess.hh"
00068 #include "G4XiZeroInelasticProcess.hh"
00069 #include "G4XiMinusInelasticProcess.hh"
00070 #include "G4AntiXiZeroInelasticProcess.hh"
00071 #include "G4AntiXiMinusInelasticProcess.hh"
00072 #include "G4DeuteronInelasticProcess.hh"
00073 #include "G4TritonInelasticProcess.hh"
00074 #include "G4AlphaInelasticProcess.hh"
00075 #include "G4OmegaMinusInelasticProcess.hh"
00076 #include "G4AntiOmegaMinusInelasticProcess.hh"
00077 
00078 // Low-energy Models
00079 #include "G4LElastic.hh"   
00080 #include "G4LFission.hh"
00081 #include "G4LCapture.hh"
00082 
00083 #include "G4LEPionPlusInelastic.hh"
00084 #include "G4LEPionMinusInelastic.hh"
00085 #include "G4LEKaonPlusInelastic.hh"
00086 #include "G4LEKaonZeroSInelastic.hh"
00087 #include "G4LEKaonZeroLInelastic.hh"
00088 #include "G4LEKaonMinusInelastic.hh"
00089 #include "G4LEProtonInelastic.hh"
00090 #include "G4LEAntiProtonInelastic.hh"
00091 #include "G4LENeutronInelastic.hh"
00092 #include "G4LEAntiNeutronInelastic.hh"
00093 #include "G4LELambdaInelastic.hh"
00094 #include "G4LEAntiLambdaInelastic.hh"
00095 #include "G4LESigmaPlusInelastic.hh"
00096 #include "G4LESigmaMinusInelastic.hh"
00097 #include "G4LEAntiSigmaPlusInelastic.hh"
00098 #include "G4LEAntiSigmaMinusInelastic.hh"
00099 #include "G4LEXiZeroInelastic.hh"
00100 #include "G4LEXiMinusInelastic.hh"
00101 #include "G4LEAntiXiZeroInelastic.hh"
00102 #include "G4LEAntiXiMinusInelastic.hh"
00103 #include "G4LEDeuteronInelastic.hh"
00104 #include "G4LETritonInelastic.hh"
00105 #include "G4LEAlphaInelastic.hh"
00106 #include "G4LEOmegaMinusInelastic.hh"
00107 #include "G4LEAntiOmegaMinusInelastic.hh"
00108 
00109 // High-energy Models
00110 
00111 #include "G4HEPionPlusInelastic.hh"
00112 #include "G4HEPionMinusInelastic.hh"
00113 #include "G4HEKaonPlusInelastic.hh"
00114 #include "G4HEKaonZeroInelastic.hh"
00115 #include "G4HEKaonZeroInelastic.hh"
00116 #include "G4HEKaonMinusInelastic.hh"
00117 #include "G4HEProtonInelastic.hh"
00118 #include "G4HEAntiProtonInelastic.hh"
00119 #include "G4HENeutronInelastic.hh"
00120 #include "G4HEAntiNeutronInelastic.hh"
00121 #include "G4HELambdaInelastic.hh"
00122 #include "G4HEAntiLambdaInelastic.hh"
00123 #include "G4HESigmaPlusInelastic.hh"
00124 #include "G4HESigmaMinusInelastic.hh"
00125 #include "G4HEAntiSigmaPlusInelastic.hh"
00126 #include "G4HEAntiSigmaMinusInelastic.hh"
00127 #include "G4HEXiZeroInelastic.hh"
00128 #include "G4HEXiMinusInelastic.hh"
00129 #include "G4HEAntiXiZeroInelastic.hh"
00130 #include "G4HEAntiXiMinusInelastic.hh"
00131 #include "G4HEOmegaMinusInelastic.hh"
00132 #include "G4HEAntiOmegaMinusInelastic.hh"
00133 
00134 // Stopping processes
00135 #include "G4AntiProtonAnnihilationAtRest.hh"
00136 #include "G4AntiNeutronAnnihilationAtRest.hh"
00137 
00138 #ifdef TRIUMF_STOP_PIMINUS
00139 #include "G4PionMinusAbsorptionAtRest.hh"
00140 #else
00141 #include "G4PiMinusAbsorptionAtRest.hh"
00142 #endif
00143 #ifdef TRIUMF_STOP_KMINUS
00144 #include "G4KaonMinusAbsorption.hh"
00145 #else
00146 #include "G4KaonMinusAbsorptionAtRest.hh"
00147 #endif
00148 
00149 class ExN04HadronPhysics : public G4VPhysicsConstructor
00150 {
00151   public: 
00152     ExN04HadronPhysics(const G4String& name ="hadron");
00153     virtual ~ExN04HadronPhysics();
00154 
00155   public: 
00156     // This method will be invoked in the Construct() method. 
00157     // each particle type will be instantiated
00158     virtual void ConstructParticle();
00159  
00160     // This method will be invoked in the Construct() method.
00161     // each physics process will be instantiated and
00162     // registered to the process manager of each particle type 
00163     virtual void ConstructProcess();
00164 
00165   protected:
00166    // Elastic Process
00167    G4HadronElasticProcess theElasticProcess;
00168    G4LElastic*            theElasticModel;
00169   
00170    // Pi + 
00171    G4PionPlusInelasticProcess thePionPlusInelastic;
00172    G4LEPionPlusInelastic* theLEPionPlusModel;
00173    G4HEPionPlusInelastic* theHEPionPlusModel;
00174    G4MultipleScattering thePionPlusMult;
00175    G4hIonisation thePionPlusIonisation;
00176 
00177    // Pi -
00178    G4PionMinusInelasticProcess thePionMinusInelastic;
00179    G4LEPionMinusInelastic* theLEPionMinusModel;
00180    G4HEPionMinusInelastic* theHEPionMinusModel;
00181    G4MultipleScattering thePionMinusMult;
00182    G4hIonisation thePionMinusIonisation;
00183 #ifdef TRIUMF_STOP_PIMINUS
00184    G4PionMinusAbsorptionAtRest thePionMinusAbsorption;
00185 #else
00186    G4PiMinusAbsorptionAtRest thePionMinusAbsorption;
00187 #endif
00188 
00189    // K + 
00190    G4KaonPlusInelasticProcess theKaonPlusInelastic;
00191    G4LEKaonPlusInelastic* theLEKaonPlusModel;
00192    G4HEKaonPlusInelastic* theHEKaonPlusModel;
00193    G4MultipleScattering theKaonPlusMult;
00194    G4hIonisation theKaonPlusIonisation;
00195 
00196    // K -
00197    G4KaonMinusInelasticProcess theKaonMinusInelastic;
00198    G4LEKaonMinusInelastic* theLEKaonMinusModel;
00199    G4HEKaonMinusInelastic* theHEKaonMinusModel;
00200    G4MultipleScattering theKaonMinusMult;
00201    G4hIonisation theKaonMinusIonisation;
00202 #ifdef TRIUMF_STOP_KMINUS
00203    G4KaonMinusAbsorption theKaonMinusAbsorption;
00204 #else
00205    G4PiMinusAbsorptionAtRest theKaonMinusAbsorption;
00206 #endif
00207 
00208    // K0L
00209    G4KaonZeroLInelasticProcess theKaonZeroLInelastic;
00210    G4LEKaonZeroLInelastic* theLEKaonZeroLModel;
00211    G4HEKaonZeroInelastic* theHEKaonZeroLModel;
00212 
00213    // K0S
00214    G4KaonZeroSInelasticProcess theKaonZeroSInelastic;
00215    G4LEKaonZeroSInelastic* theLEKaonZeroSModel;
00216    G4HEKaonZeroInelastic* theHEKaonZeroSModel;
00217 
00218    // Proton
00219    G4ProtonInelasticProcess theProtonInelastic;
00220    G4LEProtonInelastic* theLEProtonModel;
00221    G4HEProtonInelastic* theHEProtonModel;
00222    G4MultipleScattering theProtonMult;
00223    G4hIonisation theProtonIonisation;
00224  
00225    // anti-proton
00226    G4AntiProtonInelasticProcess theAntiProtonInelastic;
00227    G4LEAntiProtonInelastic* theLEAntiProtonModel;
00228    G4HEAntiProtonInelastic* theHEAntiProtonModel;
00229    G4MultipleScattering theAntiProtonMult;
00230    G4hIonisation theAntiProtonIonisation;
00231    G4AntiProtonAnnihilationAtRest  theAntiProtonAnnihilation;
00232     
00233    // neutron
00234    G4NeutronInelasticProcess  theNeutronInelastic;
00235    G4LENeutronInelastic* theLENeutronModel;
00236    G4HENeutronInelastic* theHENeutronModel;
00237    G4HadronFissionProcess theNeutronFission;
00238    G4LFission* theNeutronFissionModel;
00239    G4HadronCaptureProcess  theNeutronCapture;
00240    G4LCapture* theNeutronCaptureModel;
00241 
00242 
00243    // anti-neutron
00244    G4AntiNeutronInelasticProcess  theAntiNeutronInelastic;
00245    G4LEAntiNeutronInelastic* theLEAntiNeutronModel;
00246    G4HEAntiNeutronInelastic* theHEAntiNeutronModel;
00247    G4AntiNeutronAnnihilationAtRest  theAntiNeutronAnnihilation;
00248    
00249    // Lambda
00250    G4LambdaInelasticProcess  theLambdaInelastic;
00251    G4LELambdaInelastic*  theLELambdaModel;
00252    G4HELambdaInelastic*  theHELambdaModel;
00253   
00254    // AntiLambda
00255    G4AntiLambdaInelasticProcess  theAntiLambdaInelastic;
00256    G4LEAntiLambdaInelastic*  theLEAntiLambdaModel;
00257    G4HEAntiLambdaInelastic*  theHEAntiLambdaModel;
00258   
00259    // SigmaMinus
00260    G4SigmaMinusInelasticProcess  theSigmaMinusInelastic;
00261    G4LESigmaMinusInelastic*  theLESigmaMinusModel;
00262    G4HESigmaMinusInelastic*  theHESigmaMinusModel;
00263    G4MultipleScattering theSigmaMinusMult;
00264    G4hIonisation theSigmaMinusIonisation;
00265   
00266    // AntiSigmaMinus
00267    G4AntiSigmaMinusInelasticProcess  theAntiSigmaMinusInelastic;
00268    G4LEAntiSigmaMinusInelastic*  theLEAntiSigmaMinusModel;
00269    G4HEAntiSigmaMinusInelastic*  theHEAntiSigmaMinusModel;
00270    G4MultipleScattering theAntiSigmaMinusMult;
00271    G4hIonisation theAntiSigmaMinusIonisation;
00272    
00273    // SigmaPlus
00274    G4SigmaPlusInelasticProcess  theSigmaPlusInelastic;
00275    G4LESigmaPlusInelastic*  theLESigmaPlusModel;
00276    G4HESigmaPlusInelastic*  theHESigmaPlusModel;
00277    G4MultipleScattering theSigmaPlusMult;
00278    G4hIonisation theSigmaPlusIonisation;
00279   
00280    // AntiSigmaPlus
00281    G4AntiSigmaPlusInelasticProcess  theAntiSigmaPlusInelastic;
00282    G4LEAntiSigmaPlusInelastic*  theLEAntiSigmaPlusModel;
00283    G4HEAntiSigmaPlusInelastic*  theHEAntiSigmaPlusModel;
00284    G4MultipleScattering theAntiSigmaPlusMult;
00285    G4hIonisation theAntiSigmaPlusIonisation;
00286   
00287    // XiZero
00288    G4XiZeroInelasticProcess  theXiZeroInelastic;
00289    G4LEXiZeroInelastic*  theLEXiZeroModel;
00290    G4HEXiZeroInelastic*  theHEXiZeroModel;
00291   
00292    // AntiXiZero
00293    G4AntiXiZeroInelasticProcess  theAntiXiZeroInelastic;
00294    G4LEAntiXiZeroInelastic*  theLEAntiXiZeroModel;
00295    G4HEAntiXiZeroInelastic*  theHEAntiXiZeroModel;
00296   
00297    // XiMinus
00298    G4XiMinusInelasticProcess  theXiMinusInelastic;
00299    G4LEXiMinusInelastic*  theLEXiMinusModel;
00300    G4HEXiMinusInelastic*  theHEXiMinusModel;
00301    G4MultipleScattering theXiMinusMult;
00302    G4hIonisation theXiMinusIonisation;
00303 
00304    // AntiXiMinus
00305    G4AntiXiMinusInelasticProcess  theAntiXiMinusInelastic;
00306    G4LEAntiXiMinusInelastic*  theLEAntiXiMinusModel;
00307    G4HEAntiXiMinusInelastic*  theHEAntiXiMinusModel;
00308    G4MultipleScattering theAntiXiMinusMult;
00309    G4hIonisation theAntiXiMinusIonisation;
00310   
00311    // OmegaMinus
00312    G4OmegaMinusInelasticProcess  theOmegaMinusInelastic;
00313    G4LEOmegaMinusInelastic*  theLEOmegaMinusModel;
00314    G4HEOmegaMinusInelastic*  theHEOmegaMinusModel;
00315    G4MultipleScattering theOmegaMinusMult;
00316    G4hIonisation theOmegaMinusIonisation;
00317    
00318    // AntiOmegaMinus
00319    G4AntiOmegaMinusInelasticProcess  theAntiOmegaMinusInelastic;
00320    G4LEAntiOmegaMinusInelastic*  theLEAntiOmegaMinusModel;
00321    G4HEAntiOmegaMinusInelastic*  theHEAntiOmegaMinusModel;
00322    G4MultipleScattering theAntiOmegaMinusMult;
00323    G4hIonisation theAntiOmegaMinusIonisation;
00324 
00325    
00326 };
00327 
00328 
00329 #endif
00330 

Generated on Tue Nov 29 23:14:33 2016 for BOSS_7.0.2 by  doxygen 1.4.7