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