CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/SimG4Core/GFlash/interface/G4MiscLHEPBuilder_WP.h

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 // GEANT4 tag $Name: CMSSW_5_3_11_patch3 $
00027 //
00028 //---------------------------------------------------------------------------
00029 //
00030 // ClassName:   G4MiscLHEPBuilder_WP
00031 //
00032 // Author: 2002 J.P. Wellisch
00033 //
00034 // Modified:
00035 // 16.11.2005 G.Folger: don't  keep processes as data members, but new these
00036 // 13.06.2006 G.Folger: (re)move elastic scatterring 
00037 //
00038 //----------------------------------------------------------------------------
00039 //
00040 #ifndef G4MiscLHEPBuilder_WP_h
00041 #define G4MiscLHEPBuilder_WP_h 1
00042 
00043 #include "globals.hh"
00044 
00045 #include "G4AntiProtonInelasticProcess.hh"
00046 #include "G4AntiNeutronInelasticProcess.hh"
00047 #include "G4LambdaInelasticProcess.hh"
00048 #include "G4AntiLambdaInelasticProcess.hh"
00049 #include "G4SigmaPlusInelasticProcess.hh"
00050 #include "G4SigmaMinusInelasticProcess.hh"
00051 #include "G4AntiSigmaPlusInelasticProcess.hh"
00052 #include "G4AntiSigmaMinusInelasticProcess.hh"
00053 #include "G4XiZeroInelasticProcess.hh"
00054 #include "G4XiMinusInelasticProcess.hh"
00055 #include "G4AntiXiZeroInelasticProcess.hh"
00056 #include "G4AntiXiMinusInelasticProcess.hh"
00057 #include "G4OmegaMinusInelasticProcess.hh"
00058 #include "G4AntiOmegaMinusInelasticProcess.hh"
00059 
00060 #include "G4LEAntiProtonInelastic.hh"
00061 #include "G4LEAntiNeutronInelastic.hh"
00062 #include "G4LELambdaInelastic.hh"
00063 #include "G4LEAntiLambdaInelastic.hh"
00064 #include "G4LESigmaPlusInelastic.hh"
00065 #include "G4LESigmaMinusInelastic.hh"
00066 #include "G4LEAntiSigmaPlusInelastic.hh"
00067 #include "G4LEAntiSigmaMinusInelastic.hh"
00068 #include "G4LEXiZeroInelastic.hh"
00069 #include "G4LEXiMinusInelastic.hh"
00070 #include "G4LEAntiXiZeroInelastic.hh"
00071 #include "G4LEAntiXiMinusInelastic.hh"
00072 #include "G4LEOmegaMinusInelastic.hh"
00073 #include "G4LEAntiOmegaMinusInelastic.hh"
00074 
00075 // High-energy Models
00076 
00077 #include "G4HEAntiProtonInelastic.hh"
00078 #include "G4HEAntiNeutronInelastic.hh"
00079 #include "G4HELambdaInelastic.hh"
00080 #include "G4HEAntiLambdaInelastic.hh"
00081 #include "G4HESigmaPlusInelastic.hh"
00082 #include "G4HESigmaMinusInelastic.hh"
00083 #include "G4HEAntiSigmaPlusInelastic.hh"
00084 #include "G4HEAntiSigmaMinusInelastic.hh"
00085 #include "G4HEXiZeroInelastic.hh"
00086 #include "G4HEXiMinusInelastic.hh"
00087 #include "G4HEAntiXiZeroInelastic.hh"
00088 #include "G4HEAntiXiMinusInelastic.hh"
00089 #include "G4HEOmegaMinusInelastic.hh"
00090 #include "G4HEAntiOmegaMinusInelastic.hh"
00091 
00092 class GflashHadronWrapperProcess;
00093 
00094 class G4MiscLHEPBuilder_WP 
00095 {
00096   public: 
00097     G4MiscLHEPBuilder_WP();
00098     virtual ~G4MiscLHEPBuilder_WP();
00099 
00100   public: 
00101     void Build();
00102 
00103   private:
00104  
00105     // anti-proton
00106     G4AntiProtonInelasticProcess theAntiProtonInelastic;
00107     G4LEAntiProtonInelastic* theLEAntiProtonModel;
00108     G4HEAntiProtonInelastic* theHEAntiProtonModel;
00109 
00110     // anti-proton wrapper process for Gflash 
00111     GflashHadronWrapperProcess*  theWrappedAntiProtonInelastic;
00112 
00113     // anti-neutron
00114     G4AntiNeutronInelasticProcess  theAntiNeutronInelastic;
00115     G4LEAntiNeutronInelastic* theLEAntiNeutronModel;
00116     G4HEAntiNeutronInelastic* theHEAntiNeutronModel;
00117 
00118     // Lambda
00119     G4LambdaInelasticProcess  theLambdaInelastic;
00120     G4LELambdaInelastic*  theLELambdaModel;
00121     G4HELambdaInelastic*  theHELambdaModel;
00122 
00123     // AntiLambda
00124     G4AntiLambdaInelasticProcess  theAntiLambdaInelastic;
00125     G4LEAntiLambdaInelastic*  theLEAntiLambdaModel;
00126     G4HEAntiLambdaInelastic*  theHEAntiLambdaModel;
00127 
00128     // SigmaMinus
00129     G4SigmaMinusInelasticProcess  theSigmaMinusInelastic;
00130     G4LESigmaMinusInelastic*  theLESigmaMinusModel;
00131     G4HESigmaMinusInelastic*  theHESigmaMinusModel;
00132 
00133     // AntiSigmaMinus
00134     G4AntiSigmaMinusInelasticProcess  theAntiSigmaMinusInelastic;
00135     G4LEAntiSigmaMinusInelastic*  theLEAntiSigmaMinusModel;
00136     G4HEAntiSigmaMinusInelastic*  theHEAntiSigmaMinusModel;
00137 
00138     // SigmaPlus
00139     G4SigmaPlusInelasticProcess  theSigmaPlusInelastic;
00140     G4LESigmaPlusInelastic*  theLESigmaPlusModel;
00141     G4HESigmaPlusInelastic*  theHESigmaPlusModel;
00142 
00143     // AntiSigmaPlus
00144     G4AntiSigmaPlusInelasticProcess  theAntiSigmaPlusInelastic;
00145     G4LEAntiSigmaPlusInelastic*  theLEAntiSigmaPlusModel;
00146     G4HEAntiSigmaPlusInelastic*  theHEAntiSigmaPlusModel;
00147 
00148     // XiZero
00149     G4XiZeroInelasticProcess  theXiZeroInelastic;
00150     G4LEXiZeroInelastic*  theLEXiZeroModel;
00151     G4HEXiZeroInelastic*  theHEXiZeroModel;
00152 
00153     // AntiXiZero
00154     G4AntiXiZeroInelasticProcess  theAntiXiZeroInelastic;
00155     G4LEAntiXiZeroInelastic*  theLEAntiXiZeroModel;
00156     G4HEAntiXiZeroInelastic*  theHEAntiXiZeroModel;
00157 
00158     // XiMinus
00159     G4XiMinusInelasticProcess  theXiMinusInelastic;
00160     G4LEXiMinusInelastic*  theLEXiMinusModel;
00161     G4HEXiMinusInelastic*  theHEXiMinusModel;
00162 
00163     // AntiXiMinus
00164     G4AntiXiMinusInelasticProcess  theAntiXiMinusInelastic;
00165     G4LEAntiXiMinusInelastic*  theLEAntiXiMinusModel;
00166     G4HEAntiXiMinusInelastic*  theHEAntiXiMinusModel;
00167 
00168     // OmegaMinus
00169     G4OmegaMinusInelasticProcess  theOmegaMinusInelastic;
00170     G4LEOmegaMinusInelastic*  theLEOmegaMinusModel;
00171     G4HEOmegaMinusInelastic*  theHEOmegaMinusModel;
00172 
00173     // AntiOmegaMinus
00174     G4AntiOmegaMinusInelasticProcess  theAntiOmegaMinusInelastic;
00175     G4LEAntiOmegaMinusInelastic*  theLEAntiOmegaMinusModel;
00176     G4HEAntiOmegaMinusInelastic*  theHEAntiOmegaMinusModel;
00177 
00178     G4bool wasActivated;
00179 };
00180 // 2002 by J.P. Wellisch
00181 
00182 #endif