CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/SimG4Core/PhysicsLists/interface/HadronPhysicsQGSPCMS_FTFP_BERT.h

Go to the documentation of this file.
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