CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/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 "G4FTFCPiKBuilder.hh"
00014 #include "G4FTFPPiKBuilder.hh"
00015 #include "G4LEPPiKBuilder.hh"
00016 #include "G4LHEPPiKBuilder.hh"
00017 #include "G4QGSCEflowPiKBuilder.hh"
00018 #include "G4QGSCPiKBuilder.hh"
00019 #include "G4QGSPPiKBuilder.hh"
00020 
00021 #include "G4ProtonBuilder.hh"
00022 #include "G4BertiniProtonBuilder.hh"
00023 #include "G4BinaryProtonBuilder.hh"
00024 #include "G4FTFCProtonBuilder.hh"
00025 #include "G4FTFPProtonBuilder.hh"
00026 #include "G4LEPProtonBuilder.hh"
00027 #include "G4LHEPProtonBuilder.hh"
00028 #include "G4PrecoProtonBuilder.hh"
00029 #include "G4QGSCEflowProtonBuilder.hh"
00030 #include "G4QGSCProtonBuilder.hh"
00031 #include "G4QGSPProtonBuilder.hh"
00032 
00033 #include "G4NeutronBuilder.hh"
00034 #include "G4BertiniNeutronBuilder.hh"
00035 #include "G4BinaryNeutronBuilder.hh"
00036 #include "G4FTFCNeutronBuilder.hh"
00037 #include "G4FTFPNeutronBuilder.hh"
00038 #include "G4LEPNeutronBuilder.hh"
00039 #include "G4LHEPNeutronBuilder.hh"
00040 #include "G4PrecoNeutronBuilder.hh"
00041 #include "G4QGSCEflowNeutronBuilder.hh"
00042 #include "G4QGSCNeutronBuilder.hh"
00043 #include "G4QGSPNeutronBuilder.hh"
00044 
00045 #include "G4FTFBinaryNeutronBuilder.hh"  
00046 #include "G4FTFBinaryPiKBuilder.hh"
00047 #include "G4FTFBinaryProtonBuilder.hh"
00048 
00049 #include "SimG4Core/PhysicsLists/interface/G4RPGNeutronBuilder.hh"
00050 #include "SimG4Core/PhysicsLists/interface/G4RPGPiKBuilder.hh"
00051 #include "SimG4Core/PhysicsLists/interface/G4RPGProtonBuilder.hh"
00052 
00053 class HadronPhysicsCMS : public G4VPhysicsConstructor {
00054 
00055 public: 
00056 
00057   HadronPhysicsCMS(const G4String& name ="QGSP", G4bool quasiElastic=true);
00058   virtual ~HadronPhysicsCMS();
00059 
00060 public: 
00061 
00062   virtual void ConstructParticle();
00063   virtual void ConstructProcess();
00064 
00065 private:
00066 
00067   void CreateModels();
00068 
00069   G4NeutronBuilder          * theNeutrons;
00070   G4BertiniNeutronBuilder   * theBertiniNeutron;
00071   G4BinaryNeutronBuilder    * theBinaryNeutron;
00072   G4FTFCNeutronBuilder      * theFTFCNeutron;
00073   G4FTFPNeutronBuilder      * theFTFPNeutron;
00074   G4LEPNeutronBuilder       * theLEPNeutron;
00075   G4LHEPNeutronBuilder      * theLHEPNeutron;
00076   G4PrecoNeutronBuilder     * thePrecoNeutron;
00077   G4QGSCEflowNeutronBuilder * theQGSCEflowNeutron;
00078   G4QGSCNeutronBuilder      * theQGSCNeutron;
00079   G4QGSPNeutronBuilder      * theQGSPNeutron;
00080     
00081   G4PiKBuilder              * thePiK;
00082   G4BertiniPiKBuilder       * theBertiniPiK;
00083   G4BinaryPiKBuilder        * theBinaryPiK;
00084   G4FTFCPiKBuilder          * theFTFCPiK;
00085   G4FTFPPiKBuilder          * theFTFPPiK;
00086   G4LEPPiKBuilder           * theLEPPiK;
00087   G4LHEPPiKBuilder          * theLHEPPiK;
00088   G4QGSCEflowPiKBuilder     * theQGSCEflowPiK;
00089   G4QGSCPiKBuilder          * theQGSCPiK;
00090   G4QGSPPiKBuilder          * theQGSPPiK;
00091     
00092   G4ProtonBuilder           * thePro;
00093   G4BertiniProtonBuilder    * theBertiniPro;
00094   G4BinaryProtonBuilder     * theBinaryPro;
00095   G4FTFCProtonBuilder       * theFTFCPro;
00096   G4FTFPProtonBuilder       * theFTFPPro;
00097   G4LEPProtonBuilder        * theLEPPro;
00098   G4LHEPProtonBuilder       * theLHEPPro;
00099   G4PrecoProtonBuilder      * thePrecoPro;
00100   G4QGSCEflowProtonBuilder  * theQGSCEflowPro;    
00101   G4QGSCProtonBuilder       * theQGSCPro;    
00102   G4QGSPProtonBuilder       * theQGSPPro;    
00103     
00104   G4MiscLHEPBuilder         * theMiscLHEP;
00105 
00106   G4FTFBinaryNeutronBuilder * theFTFNeutron;
00107   G4FTFBinaryPiKBuilder     * theFTFPiK;
00108   G4FTFBinaryProtonBuilder  * theFTFPro;
00109 
00110   G4RPGNeutronBuilder       * theRPGNeutron;
00111   G4RPGPiKBuilder           * theRPGPiK;
00112   G4RPGProtonBuilder        * theRPGPro;
00113 
00114   G4String                    modelName;
00115   G4bool                      QuasiElastic;
00116 };
00117 
00118 #endif
00119