![]() |
![]() |
00001 #ifndef SimG4Core_PhysicsLists_HadronPhysicsQGSPCMS_FTFP_BERT_h 00002 #define SimG4Core_PhysicsLists_HadronPhysicsQGSPCMS_FTFP_BERT_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 "SimG4Core/PhysicsLists/interface/CMSFTFPPiKBuilder.hh" 00012 #include "G4QGSPPiKBuilder.hh" 00013 #include "G4BertiniPiKBuilder.hh" 00014 00015 #include "G4ProtonBuilder.hh" 00016 #include "SimG4Core/PhysicsLists/interface/CMSFTFPProtonBuilder.hh" 00017 #include "G4QGSPProtonBuilder.hh" 00018 #include "G4BertiniProtonBuilder.hh" 00019 00020 #include "G4NeutronBuilder.hh" 00021 #include "SimG4Core/PhysicsLists/interface/CMSFTFPNeutronBuilder.hh" 00022 #include "G4QGSPNeutronBuilder.hh" 00023 #include "G4BertiniNeutronBuilder.hh" 00024 #include "G4LEPNeutronBuilder.hh" 00025 00026 class HadronPhysicsQGSPCMS_FTFP_BERT : public G4VPhysicsConstructor 00027 { 00028 public: 00029 HadronPhysicsQGSPCMS_FTFP_BERT(const G4String& name ="hadron",G4bool quasiElastic=true); 00030 virtual ~HadronPhysicsQGSPCMS_FTFP_BERT(); 00031 00032 public: 00033 virtual void ConstructParticle(); 00034 virtual void ConstructProcess(); 00035 00036 void SetQuasiElastic(G4bool value) {QuasiElastic = value;}; 00037 void SetProjectileDiffraction(G4bool value) {ProjectileDiffraction = value;}; 00038 00039 private: 00040 void CreateModels(); 00041 G4NeutronBuilder * theNeutrons; 00042 CMSFTFPNeutronBuilder * theFTFPNeutron; 00043 G4QGSPNeutronBuilder * theQGSPNeutron; 00044 G4BertiniNeutronBuilder * theBertiniNeutron; 00045 G4LEPNeutronBuilder * theLEPNeutron; 00046 00047 G4PiKBuilder * thePiK; 00048 CMSFTFPPiKBuilder * theFTFPPiK; 00049 G4QGSPPiKBuilder * theQGSPPiK; 00050 G4BertiniPiKBuilder * theBertiniPiK; 00051 00052 G4ProtonBuilder * thePro; 00053 CMSFTFPProtonBuilder * theFTFPPro; 00054 G4QGSPProtonBuilder * theQGSPPro; 00055 G4BertiniProtonBuilder * theBertiniPro; 00056 00057 G4MiscLHEPBuilder * theMiscLHEP; 00058 00059 G4bool QuasiElastic; 00060 G4bool ProjectileDiffraction; 00061 }; 00062 00063 #endif 00064