/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Simulation/BOOST/PhySim/PhySim-00-00-10/PhySim/BesHadronPhysics.hh

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

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