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