HadronPhysicsQGSC_CHIPS.hh

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 // $Id$
00027 //
00028 //---------------------------------------------------------------------------
00029 //
00030 // ClassName:   HadronPhysicsQGSC_CHIPS
00031 //
00032 // Author: 2009  M. Kosov
00033 //
00034 // Modified:
00035 //
00036 //----------------------------------------------------------------------------
00037 // Short description: In fact this is the definition of the Hadronic Inelastic
00038 // physics. The definition of the Hadronic Elastic physics one can find in the
00039 // G4HadronQElasticPhysics, which is stable (the same for all physics lists).
00040 // The only "unstable" part of the physics is the Hadronic Inelastic physics,
00041 // which is usually composed of the wixing of the High Energy Inelastic Model
00042 // (HEIM) and the Low Energy Inelastic Model (LEIM), which are applied only for
00043 // some hadrons (mostly nucleons and pi-mesons), above the LHEP model, which
00044 // usually covers all particles (but for Sigma_0 ?) and sometimes covers the
00045 // "hole" between the LEIM and HIME at intermediate energies. The name of the
00046 // Physics list is usually have a form HEIM_LEIM and the inelastic interactions
00047 // are defined in the HadronicPhysicsHEIM_LEIM class. So in this particular
00048 // physics list the low energy model is CHIPS (G4QCollision process) and the
00049 // high energy model is QGSC (QGS with the Energy Flow interface to CHIPS),
00050 // which are in terms of the energy boundary are mixed not on the model level,
00051 // but on the process level (G4DiscProcessMixer class). The LHEP is completely
00052 // excluded from this physics list, because the MiscLHEP is substituted by the
00053 // MiscQGSC class (QGS with the Energy Flow interface to CHIPS), covering all
00054 // particles, which are not N, pi, or K, defined by the separate builders. 
00055 //---------------------------------------------------------------------------
00056 
00057 #ifndef HadronPhysicsQGSC_CHIPS_h
00058 #define HadronPhysicsQGSC_CHIPS_h 1
00059 
00060 #include "globals.hh"
00061 #include "G4ios.hh"
00062 
00063 #include "G4VPhysicsConstructor.hh"
00064 #include "G4MiscQGSCBuilder.hh"
00065 
00066 #include "G4PiKBuilder.hh"
00067 #include "G4QGSC_CHIPSPiKBuilder.hh"
00068 
00069 #include "G4QProtonBuilder.hh"
00070 #include "G4QGSC_CHIPSProtonBuilder.hh"
00071 
00072 #include "G4QNeutronBuilder.hh"
00073 #include "G4QGSC_CHIPSNeutronBuilder.hh"
00074 
00075 class HadronPhysicsQGSC_CHIPS : public G4VPhysicsConstructor
00076 {
00077 public: 
00078   HadronPhysicsQGSC_CHIPS(G4int verbose =1);
00079   HadronPhysicsQGSC_CHIPS(const G4String& name, G4bool quasiElastic=true);
00080   virtual ~HadronPhysicsQGSC_CHIPS();
00081 
00082 public: 
00083   virtual void ConstructParticle();
00084   virtual void ConstructProcess();
00085 
00086 private:
00087   void CreateModels();
00088 
00089   G4QNeutronBuilder* theNeut;
00090   G4QGSC_CHIPSNeutronBuilder* theQGSCNeut;
00091     
00092   G4PiKBuilder* thePiK;
00093   G4QGSC_CHIPSPiKBuilder* theQGSCPiK;
00094     
00095   G4QProtonBuilder* theProt;
00096   G4QGSC_CHIPSProtonBuilder * theQGSCProt;    
00097     
00098   G4MiscQGSCBuilder* theMiscQGSC;
00099     
00100   G4bool QuasiElastic;
00101 };
00102 
00103 #endif
00104 

Generated on Mon May 27 17:50:30 2013 for Geant4 by  doxygen 1.4.7