#include <HadronPhysicsCMS.h>
Public Member Functions | |
virtual void | ConstructParticle () |
virtual void | ConstructProcess () |
HadronPhysicsCMS (const G4String &name="QGSP", G4bool quasiElastic=true) | |
virtual | ~HadronPhysicsCMS () |
Private Member Functions | |
void | CreateModels () |
Private Attributes | |
G4String | modelName |
G4bool | QuasiElastic |
G4BertiniNeutronBuilder * | theBertiniNeutron |
G4BertiniPiKBuilder * | theBertiniPiK |
G4BertiniProtonBuilder * | theBertiniPro |
G4BinaryNeutronBuilder * | theBinaryNeutron |
G4BinaryPiKBuilder * | theBinaryPiK |
G4BinaryProtonBuilder * | theBinaryPro |
G4FTFBinaryNeutronBuilder * | theFTFNeutron |
G4FTFBinaryPiKBuilder * | theFTFPiK |
G4FTFPNeutronBuilder * | theFTFPNeutron |
G4FTFPPiKBuilder * | theFTFPPiK |
G4FTFPProtonBuilder * | theFTFPPro |
G4FTFBinaryProtonBuilder * | theFTFPro |
G4LHEPNeutronBuilder * | theLHEPNeutron |
G4LHEPPiKBuilder * | theLHEPPiK |
G4LHEPProtonBuilder * | theLHEPPro |
G4MiscLHEPBuilder * | theMiscLHEP |
G4NeutronBuilder * | theNeutrons |
G4PiKBuilder * | thePiK |
G4ProtonBuilder * | thePro |
G4QGSPNeutronBuilder * | theQGSPNeutron |
G4QGSPPiKBuilder * | theQGSPPiK |
G4QGSPProtonBuilder * | theQGSPPro |
Definition at line 35 of file HadronPhysicsCMS.h.
HadronPhysicsCMS::HadronPhysicsCMS | ( | const G4String & | name = "QGSP" , |
G4bool | quasiElastic = true |
||
) |
Definition at line 13 of file HadronPhysicsCMS.cc.
: G4VPhysicsConstructor("hadron"), theNeutrons(0), theBertiniNeutron(0), theBinaryNeutron(0), theFTFPNeutron(0), theLHEPNeutron(0), theQGSPNeutron(0), thePiK(0), theBertiniPiK(0), theBinaryPiK(0), theFTFPPiK(0), theLHEPPiK(0), theQGSPPiK(0), thePro(0),theBertiniPro(0), theBinaryPro(0), theFTFPPro(0), theLHEPPro(0), theQGSPPro(0), theMiscLHEP(), theFTFNeutron(0), theFTFPiK(0), theFTFPro(0), modelName(name), QuasiElastic(quasiElastic) {}
HadronPhysicsCMS::~HadronPhysicsCMS | ( | ) | [virtual] |
Definition at line 90 of file HadronPhysicsCMS.cc.
References theBertiniNeutron, theBertiniPiK, theBertiniPro, theBinaryNeutron, theBinaryPiK, theBinaryPro, theFTFNeutron, theFTFPiK, theFTFPNeutron, theFTFPPiK, theFTFPPro, theFTFPro, theLHEPNeutron, theLHEPPiK, theLHEPPro, theMiscLHEP, theNeutrons, thePiK, thePro, theQGSPNeutron, theQGSPPiK, and theQGSPPro.
{ delete theMiscLHEP; if (theBertiniNeutron) delete theBertiniNeutron; if (theBinaryNeutron) delete theBinaryNeutron; if (theFTFPNeutron) delete theFTFPNeutron; if (theLHEPNeutron) delete theLHEPNeutron; if (theQGSPNeutron) delete theQGSPNeutron; if (theFTFNeutron) delete theFTFNeutron; delete theNeutrons; if (theBertiniPro) delete theBertiniPro; if (theBinaryPro) delete theBinaryPro; if (theFTFPPro) delete theFTFPPro; if (theLHEPPro) delete theLHEPPro; if (theQGSPPro) delete theQGSPPro; if (theFTFPro) delete theFTFPro; delete thePro; if (theBertiniPiK) delete theBertiniPiK; if (theBinaryPiK) delete theBinaryPiK; if (theFTFPPiK) delete theFTFPPiK; if (theLHEPPiK) delete theLHEPPiK; if (theQGSPPiK) delete theQGSPPiK; if (theFTFPiK) delete theFTFPiK; delete thePiK; }
void HadronPhysicsCMS::ConstructParticle | ( | ) | [virtual] |
Definition at line 116 of file HadronPhysicsCMS.cc.
{ G4MesonConstructor pMesonConstructor; pMesonConstructor.ConstructParticle(); G4BaryonConstructor pBaryonConstructor; pBaryonConstructor.ConstructParticle(); G4ShortLivedConstructor pShortLivedConstructor; pShortLivedConstructor.ConstructParticle(); }
void HadronPhysicsCMS::ConstructProcess | ( | ) | [virtual] |
Definition at line 129 of file HadronPhysicsCMS.cc.
References CreateModels(), theMiscLHEP, theNeutrons, thePiK, and thePro.
{ CreateModels(); theNeutrons->Build(); thePro->Build(); thePiK->Build(); theMiscLHEP->Build(); }
void HadronPhysicsCMS::CreateModels | ( | ) | [private] |
Definition at line 25 of file HadronPhysicsCMS.cc.
References modelName, QuasiElastic, theBertiniNeutron, theBertiniPiK, theBertiniPro, theBinaryNeutron, theBinaryPiK, theBinaryPro, theFTFNeutron, theFTFPiK, theFTFPNeutron, theFTFPPiK, theFTFPPro, theFTFPro, theLHEPNeutron, theLHEPPiK, theLHEPPro, theMiscLHEP, theNeutrons, thePiK, thePro, theQGSPNeutron, theQGSPPiK, and theQGSPPro.
Referenced by ConstructProcess().
{ theNeutrons = new G4NeutronBuilder; thePro = new G4ProtonBuilder; thePiK = new G4PiKBuilder; if (modelName == "Bertini") { theBertiniNeutron = new G4BertiniNeutronBuilder(); theBertiniNeutron->SetMaxEnergy(30.0*GeV); theNeutrons->RegisterMe(theBertiniNeutron); theBertiniPro = new G4BertiniProtonBuilder(); theBertiniPro->SetMaxEnergy(30.0*GeV); thePro->RegisterMe(theBertiniPro); theBertiniPiK = new G4BertiniPiKBuilder(); theBertiniPiK->SetMaxEnergy(30.0*GeV); thePiK->RegisterMe(theBertiniPiK); } else if (modelName == "Binary") { theBinaryNeutron = new G4BinaryNeutronBuilder(); theBinaryNeutron->SetMaxEnergy(30.0*GeV); theNeutrons->RegisterMe(theBinaryNeutron); theBinaryPro = new G4BinaryProtonBuilder(); theBinaryPro->SetMaxEnergy(30.0*GeV); thePro->RegisterMe(theBinaryPro); theBinaryPiK = new G4BinaryPiKBuilder(); theBinaryPiK->SetMaxEnergy(30.0*GeV); thePiK->RegisterMe(theBinaryPiK); } else if (modelName == "FTFP") { theFTFPNeutron = new G4FTFPNeutronBuilder(); theFTFPNeutron->SetMinEnergy(0.1*GeV); theNeutrons->RegisterMe(theFTFPNeutron); theFTFPPro = new G4FTFPProtonBuilder(); theFTFPPro->SetMinEnergy(0.1*GeV); thePro->RegisterMe(theFTFPPro); theFTFPPiK = new G4FTFPPiKBuilder(); theFTFPPiK->SetMinEnergy(0.1*GeV); thePiK->RegisterMe(theFTFPPiK); } else if (modelName == "LHEP") { theLHEPNeutron = new G4LHEPNeutronBuilder(); theNeutrons->RegisterMe(theLHEPNeutron); theLHEPPro = new G4LHEPProtonBuilder(); thePro->RegisterMe(theLHEPPro); theLHEPPiK = new G4LHEPPiKBuilder(); thePiK->RegisterMe(theLHEPPiK); } else if (modelName == "FTF") { theFTFNeutron = new G4FTFBinaryNeutronBuilder(); theNeutrons->RegisterMe(theFTFNeutron); theFTFPro = new G4FTFBinaryProtonBuilder(); thePro->RegisterMe(theFTFPro); theFTFPiK = new G4FTFBinaryPiKBuilder(); thePiK->RegisterMe(theFTFPiK); } else { theQGSPNeutron = new G4QGSPNeutronBuilder(QuasiElastic); theQGSPNeutron->SetMinEnergy(0.1*GeV); theNeutrons->RegisterMe(theQGSPNeutron); theQGSPPro = new G4QGSPProtonBuilder(QuasiElastic); theQGSPPro->SetMinEnergy(0.1*GeV); thePro->RegisterMe(theQGSPPro); theQGSPPiK = new G4QGSPPiKBuilder(QuasiElastic); theQGSPPiK->SetMinEnergy(0.1*GeV); thePiK->RegisterMe(theQGSPPiK); } theMiscLHEP=new G4MiscLHEPBuilder; }
G4String HadronPhysicsCMS::modelName [private] |
Definition at line 78 of file HadronPhysicsCMS.h.
Referenced by CreateModels().
G4bool HadronPhysicsCMS::QuasiElastic [private] |
Definition at line 79 of file HadronPhysicsCMS.h.
Referenced by CreateModels().
G4BertiniNeutronBuilder* HadronPhysicsCMS::theBertiniNeutron [private] |
Definition at line 52 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4BertiniPiKBuilder* HadronPhysicsCMS::theBertiniPiK [private] |
Definition at line 59 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4BertiniProtonBuilder* HadronPhysicsCMS::theBertiniPro [private] |
Definition at line 66 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4BinaryNeutronBuilder* HadronPhysicsCMS::theBinaryNeutron [private] |
Definition at line 53 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4BinaryPiKBuilder* HadronPhysicsCMS::theBinaryPiK [private] |
Definition at line 60 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4BinaryProtonBuilder* HadronPhysicsCMS::theBinaryPro [private] |
Definition at line 67 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4FTFBinaryNeutronBuilder* HadronPhysicsCMS::theFTFNeutron [private] |
Definition at line 74 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4FTFBinaryPiKBuilder* HadronPhysicsCMS::theFTFPiK [private] |
Definition at line 75 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4FTFPNeutronBuilder* HadronPhysicsCMS::theFTFPNeutron [private] |
Definition at line 54 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4FTFPPiKBuilder* HadronPhysicsCMS::theFTFPPiK [private] |
Definition at line 61 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4FTFPProtonBuilder* HadronPhysicsCMS::theFTFPPro [private] |
Definition at line 68 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4FTFBinaryProtonBuilder* HadronPhysicsCMS::theFTFPro [private] |
Definition at line 76 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4LHEPNeutronBuilder* HadronPhysicsCMS::theLHEPNeutron [private] |
Definition at line 55 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4LHEPPiKBuilder* HadronPhysicsCMS::theLHEPPiK [private] |
Definition at line 62 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4LHEPProtonBuilder* HadronPhysicsCMS::theLHEPPro [private] |
Definition at line 69 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4MiscLHEPBuilder* HadronPhysicsCMS::theMiscLHEP [private] |
Definition at line 72 of file HadronPhysicsCMS.h.
Referenced by ConstructProcess(), CreateModels(), and ~HadronPhysicsCMS().
G4NeutronBuilder* HadronPhysicsCMS::theNeutrons [private] |
Definition at line 51 of file HadronPhysicsCMS.h.
Referenced by ConstructProcess(), CreateModels(), and ~HadronPhysicsCMS().
G4PiKBuilder* HadronPhysicsCMS::thePiK [private] |
Definition at line 58 of file HadronPhysicsCMS.h.
Referenced by ConstructProcess(), CreateModels(), and ~HadronPhysicsCMS().
G4ProtonBuilder* HadronPhysicsCMS::thePro [private] |
Definition at line 65 of file HadronPhysicsCMS.h.
Referenced by ConstructProcess(), CreateModels(), and ~HadronPhysicsCMS().
G4QGSPNeutronBuilder* HadronPhysicsCMS::theQGSPNeutron [private] |
Definition at line 56 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4QGSPPiKBuilder* HadronPhysicsCMS::theQGSPPiK [private] |
Definition at line 63 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().
G4QGSPProtonBuilder* HadronPhysicsCMS::theQGSPPro [private] |
Definition at line 70 of file HadronPhysicsCMS.h.
Referenced by CreateModels(), and ~HadronPhysicsCMS().