CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/SimG4Core/PhysicsLists/interface/HadronPhysicsCMS.h

Go to the documentation of this file.
00001 #ifndef SimG4Core_PhysicsLists_HadronPhysicsCMS_h
00002 #define SimG4Core_PhysicsLists_HadronPhysicsCMS_h 1
00003 
00004 #include "globals.hh"
00005 #include "G4ios.hh"
00006 
00007 #include "G4VPhysicsConstructor.hh"
00008 #include "G4MiscLHEPBuilder.hh"
00009 
00010 #include "G4PiKBuilder.hh"
00011 #include "G4BertiniPiKBuilder.hh"
00012 #include "G4BinaryPiKBuilder.hh"
00013 #include "G4FTFPPiKBuilder.hh"
00014 #include "G4LHEPPiKBuilder.hh"
00015 #include "G4QGSPPiKBuilder.hh"
00016 
00017 #include "G4ProtonBuilder.hh"
00018 #include "G4BertiniProtonBuilder.hh"
00019 #include "G4BinaryProtonBuilder.hh"
00020 #include "G4FTFPProtonBuilder.hh"
00021 #include "G4LHEPProtonBuilder.hh"
00022 #include "G4QGSPProtonBuilder.hh"
00023 
00024 #include "G4NeutronBuilder.hh"
00025 #include "G4BertiniNeutronBuilder.hh"
00026 #include "G4BinaryNeutronBuilder.hh"
00027 #include "G4FTFPNeutronBuilder.hh"
00028 #include "G4LHEPNeutronBuilder.hh"
00029 #include "G4QGSPNeutronBuilder.hh"
00030 
00031 #include "G4FTFBinaryNeutronBuilder.hh"  
00032 #include "G4FTFBinaryPiKBuilder.hh"
00033 #include "G4FTFBinaryProtonBuilder.hh"
00034 
00035 class HadronPhysicsCMS : public G4VPhysicsConstructor {
00036 
00037 public: 
00038 
00039   HadronPhysicsCMS(const G4String& name ="QGSP", G4bool quasiElastic=true);
00040   virtual ~HadronPhysicsCMS();
00041 
00042 public: 
00043 
00044   virtual void ConstructParticle();
00045   virtual void ConstructProcess();
00046 
00047 private:
00048 
00049   void CreateModels();
00050 
00051   G4NeutronBuilder          * theNeutrons;
00052   G4BertiniNeutronBuilder   * theBertiniNeutron;
00053   G4BinaryNeutronBuilder    * theBinaryNeutron;
00054   G4FTFPNeutronBuilder      * theFTFPNeutron;
00055   G4LHEPNeutronBuilder      * theLHEPNeutron;
00056   G4QGSPNeutronBuilder      * theQGSPNeutron;
00057     
00058   G4PiKBuilder              * thePiK;
00059   G4BertiniPiKBuilder       * theBertiniPiK;
00060   G4BinaryPiKBuilder        * theBinaryPiK;
00061   G4FTFPPiKBuilder          * theFTFPPiK;
00062   G4LHEPPiKBuilder          * theLHEPPiK;
00063   G4QGSPPiKBuilder          * theQGSPPiK;
00064     
00065   G4ProtonBuilder           * thePro;
00066   G4BertiniProtonBuilder    * theBertiniPro;
00067   G4BinaryProtonBuilder     * theBinaryPro;
00068   G4FTFPProtonBuilder       * theFTFPPro;
00069   G4LHEPProtonBuilder       * theLHEPPro;
00070   G4QGSPProtonBuilder       * theQGSPPro;    
00071     
00072   G4MiscLHEPBuilder         * theMiscLHEP;
00073 
00074   G4FTFBinaryNeutronBuilder * theFTFNeutron;
00075   G4FTFBinaryPiKBuilder     * theFTFPiK;
00076   G4FTFBinaryProtonBuilder  * theFTFPro;
00077 
00078   G4String                    modelName;
00079   G4bool                      QuasiElastic;
00080 };
00081 
00082 #endif
00083