#include <HadronPhysicsQGSPCMS_FTFP_BERT_WP.h>
Public Member Functions | |
virtual void | ConstructParticle () |
virtual void | ConstructProcess () |
HadronPhysicsQGSPCMS_FTFP_BERT_WP (const G4String &name="hadron", G4bool quasiElastic=true) | |
void | SetProjectileDiffraction (G4bool value) |
void | SetQuasiElastic (G4bool value) |
virtual | ~HadronPhysicsQGSPCMS_FTFP_BERT_WP () |
Private Member Functions | |
void | CreateModels () |
Private Attributes | |
G4bool | ProjectileDiffraction |
G4bool | QuasiElastic |
G4BertiniNeutronBuilder * | theBertiniNeutron |
G4BertiniPiKBuilder * | theBertiniPiK |
G4BertiniProtonBuilder * | theBertiniPro |
CMSFTFPNeutronBuilder * | theFTFPNeutron |
CMSFTFPPiKBuilder * | theFTFPPiK |
CMSFTFPProtonBuilder * | theFTFPPro |
G4LEPNeutronBuilder * | theLEPNeutron |
G4MiscLHEPBuilder_WP * | theMiscLHEP |
G4NeutronBuilder * | theNeutrons |
G4PiKBuilder_WP * | thePiK |
G4ProtonBuilder_WP * | thePro |
G4QGSPNeutronBuilder * | theQGSPNeutron |
G4QGSPPiKBuilder * | theQGSPPiK |
G4QGSPProtonBuilder * | theQGSPPro |
Definition at line 30 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
HadronPhysicsQGSPCMS_FTFP_BERT_WP::HadronPhysicsQGSPCMS_FTFP_BERT_WP | ( | const G4String & | name = "hadron" , |
G4bool | quasiElastic = true |
||
) |
Definition at line 16 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.cc.
References ProjectileDiffraction.
: G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) { ProjectileDiffraction=false; }
HadronPhysicsQGSPCMS_FTFP_BERT_WP::~HadronPhysicsQGSPCMS_FTFP_BERT_WP | ( | ) | [virtual] |
Definition at line 83 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.cc.
References theBertiniNeutron, theBertiniPiK, theBertiniPro, theFTFPNeutron, theFTFPPiK, theFTFPPro, theMiscLHEP, thePiK, thePro, theQGSPNeutron, theQGSPPiK, and theQGSPPro.
{ delete theMiscLHEP; delete theQGSPNeutron; delete theFTFPNeutron; delete theBertiniNeutron; delete theQGSPPro; delete theFTFPPro; delete thePro; delete theBertiniPro; delete theQGSPPiK; delete theFTFPPiK; delete theBertiniPiK; delete thePiK; }
void HadronPhysicsQGSPCMS_FTFP_BERT_WP::ConstructParticle | ( | ) | [virtual] |
Definition at line 99 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.cc.
{ G4MesonConstructor pMesonConstructor; pMesonConstructor.ConstructParticle(); G4BaryonConstructor pBaryonConstructor; pBaryonConstructor.ConstructParticle(); G4ShortLivedConstructor pShortLivedConstructor; pShortLivedConstructor.ConstructParticle(); }
void HadronPhysicsQGSPCMS_FTFP_BERT_WP::ConstructProcess | ( | ) | [virtual] |
Definition at line 112 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.cc.
References G4MiscLHEPBuilder_WP::Build(), G4PiKBuilder_WP::Build(), G4ProtonBuilder_WP::Build(), CreateModels(), theMiscLHEP, theNeutrons, thePiK, and thePro.
{ CreateModels(); theNeutrons->Build(); thePro->Build(); thePiK->Build(); theMiscLHEP->Build(); }
void HadronPhysicsQGSPCMS_FTFP_BERT_WP::CreateModels | ( | ) | [private] |
Definition at line 22 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.cc.
References ProjectileDiffraction, QuasiElastic, G4PiKBuilder_WP::RegisterMe(), G4ProtonBuilder_WP::RegisterMe(), theBertiniNeutron, theBertiniPiK, theBertiniPro, theFTFPNeutron, theFTFPPiK, theFTFPPro, theLEPNeutron, theMiscLHEP, theNeutrons, thePiK, thePro, theQGSPNeutron, theQGSPPiK, and theQGSPPro.
Referenced by ConstructProcess().
{ // First transition, between BERT and FTF/P G4double minFTFP= 6.0 * GeV; // Was 9.5 for LEP (in FTFP_BERT 6.0 * GeV); G4double maxBERT= 8.0 * GeV; // Was 9.9 for LEP (in FTFP_BERT 8.0 * GeV); // Second transition, between FTF/P and QGS/P G4double minQGSP= 12.0 * GeV; G4double maxFTFP= 25.0 * GeV; G4bool quasiElasFTF= false; // Use built-in quasi-elastic (not add-on) G4bool quasiElasQGS= true; // For QGS, it must use it. G4cout << " New QGSPCMS_FTFP_BERT physics list, replaces LEP with FTF/P for p/n/pi (/K?)"; G4cout << " Thresholds: " << G4endl; G4cout << " 1) between BERT and FTF/P over the interval " << minFTFP/GeV << " to " << maxBERT/GeV << " GeV. " << G4endl; G4cout << " 2) between FTF/P and QGS/P over the interval " << minQGSP/GeV << " to " << maxFTFP/GeV << " GeV. " << G4endl; G4cout << " -- quasiElastic was asked to be " << QuasiElastic << G4endl << " Changed to " << quasiElasQGS << " for QGS " << " and to " << quasiElasFTF << " (must be false) for FTF" << G4endl; theNeutrons=new G4NeutronBuilder; theNeutrons->RegisterMe(theQGSPNeutron=new G4QGSPNeutronBuilder(quasiElasQGS, ProjectileDiffraction)); theQGSPNeutron->SetMinEnergy(minQGSP); theNeutrons->RegisterMe(theFTFPNeutron=new CMSFTFPNeutronBuilder(quasiElasFTF)); theFTFPNeutron->SetMinEnergy(minFTFP); // was (9.5*GeV); theFTFPNeutron->SetMaxEnergy(maxFTFP); // was (25*GeV); // Exclude LEP only from Inelastic // -- Register it for other processes: Capture, Elastic theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); theLEPNeutron->SetMinInelasticEnergy(0.0*GeV); theLEPNeutron->SetMaxInelasticEnergy(0.0*GeV); theNeutrons->RegisterMe(theBertiniNeutron=new G4BertiniNeutronBuilder); theBertiniNeutron->SetMinEnergy(0.0*GeV); theBertiniNeutron->SetMaxEnergy(maxBERT); // was (9.9*GeV); thePro=new G4ProtonBuilder_WP; thePro->RegisterMe(theQGSPPro=new G4QGSPProtonBuilder(quasiElasQGS, ProjectileDiffraction)); theQGSPPro->SetMinEnergy(minQGSP); thePro->RegisterMe(theFTFPPro=new CMSFTFPProtonBuilder(quasiElasFTF)); theFTFPPro->SetMinEnergy(minFTFP); // was (9.5*GeV); theFTFPPro->SetMaxEnergy(maxFTFP); // was (25*GeV); thePro->RegisterMe(theBertiniPro=new G4BertiniProtonBuilder); theBertiniPro->SetMaxEnergy(maxBERT); // was (9.9*GeV); thePiK=new G4PiKBuilder_WP; thePiK->RegisterMe(theQGSPPiK=new G4QGSPPiKBuilder(quasiElasQGS)); theQGSPPiK->SetMinEnergy(minQGSP); thePiK->RegisterMe(theFTFPPiK=new CMSFTFPPiKBuilder(quasiElasFTF)); theFTFPPiK->SetMaxEnergy(maxFTFP); // was (25*GeV); theFTFPPiK->SetMinEnergy(minFTFP); // was (9.5*GeV); thePiK->RegisterMe(theBertiniPiK=new G4BertiniPiKBuilder); theBertiniPiK->SetMaxEnergy(maxBERT); // was (9.9*GeV); theMiscLHEP=new G4MiscLHEPBuilder_WP; }
void HadronPhysicsQGSPCMS_FTFP_BERT_WP::SetProjectileDiffraction | ( | G4bool | value | ) | [inline] |
Definition at line 41 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
References ProjectileDiffraction, and relativeConstraints::value.
{ProjectileDiffraction = value;};
void HadronPhysicsQGSPCMS_FTFP_BERT_WP::SetQuasiElastic | ( | G4bool | value | ) | [inline] |
Definition at line 40 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
References QuasiElastic, and relativeConstraints::value.
{QuasiElastic = value;};
G4bool HadronPhysicsQGSPCMS_FTFP_BERT_WP::ProjectileDiffraction [private] |
Definition at line 64 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by CreateModels(), HadronPhysicsQGSPCMS_FTFP_BERT_WP(), and SetProjectileDiffraction().
G4bool HadronPhysicsQGSPCMS_FTFP_BERT_WP::QuasiElastic [private] |
Definition at line 63 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by CreateModels(), and SetQuasiElastic().
G4BertiniNeutronBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theBertiniNeutron [private] |
Definition at line 48 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by CreateModels(), and ~HadronPhysicsQGSPCMS_FTFP_BERT_WP().
G4BertiniPiKBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theBertiniPiK [private] |
Definition at line 54 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by CreateModels(), and ~HadronPhysicsQGSPCMS_FTFP_BERT_WP().
G4BertiniProtonBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theBertiniPro [private] |
Definition at line 59 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by CreateModels(), and ~HadronPhysicsQGSPCMS_FTFP_BERT_WP().
CMSFTFPNeutronBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theFTFPNeutron [private] |
Definition at line 46 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by CreateModels(), and ~HadronPhysicsQGSPCMS_FTFP_BERT_WP().
CMSFTFPPiKBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theFTFPPiK [private] |
Definition at line 52 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by CreateModels(), and ~HadronPhysicsQGSPCMS_FTFP_BERT_WP().
CMSFTFPProtonBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theFTFPPro [private] |
Definition at line 57 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by CreateModels(), and ~HadronPhysicsQGSPCMS_FTFP_BERT_WP().
G4LEPNeutronBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theLEPNeutron [private] |
Definition at line 49 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by CreateModels().
Definition at line 61 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by ConstructProcess(), CreateModels(), and ~HadronPhysicsQGSPCMS_FTFP_BERT_WP().
G4NeutronBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theNeutrons [private] |
Definition at line 45 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by ConstructProcess(), and CreateModels().
Definition at line 51 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by ConstructProcess(), CreateModels(), and ~HadronPhysicsQGSPCMS_FTFP_BERT_WP().
Definition at line 56 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by ConstructProcess(), CreateModels(), and ~HadronPhysicsQGSPCMS_FTFP_BERT_WP().
G4QGSPNeutronBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theQGSPNeutron [private] |
Definition at line 47 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by CreateModels(), and ~HadronPhysicsQGSPCMS_FTFP_BERT_WP().
G4QGSPPiKBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theQGSPPiK [private] |
Definition at line 53 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by CreateModels(), and ~HadronPhysicsQGSPCMS_FTFP_BERT_WP().
G4QGSPProtonBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theQGSPPro [private] |
Definition at line 58 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.
Referenced by CreateModels(), and ~HadronPhysicsQGSPCMS_FTFP_BERT_WP().