CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
HadronPhysicsQGSPCMS_FTFP_BERT_WP Class Reference

#include <HadronPhysicsQGSPCMS_FTFP_BERT_WP.h>

Inheritance diagram for HadronPhysicsQGSPCMS_FTFP_BERT_WP:

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_WPtheMiscLHEP
 
G4NeutronBuilder * theNeutrons
 
G4PiKBuilder_WPthePiK
 
G4ProtonBuilder_WPthePro
 
G4QGSPNeutronBuilder * theQGSPNeutron
 
G4QGSPPiKBuilder * theQGSPPiK
 
G4QGSPProtonBuilder * theQGSPPro
 

Detailed Description

Definition at line 30 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.

Constructor & Destructor Documentation

HadronPhysicsQGSPCMS_FTFP_BERT_WP::HadronPhysicsQGSPCMS_FTFP_BERT_WP ( const G4String &  name = "hadron",
G4bool  quasiElastic = true 
)
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.

84 {
85  delete theMiscLHEP;
86  delete theQGSPNeutron;
87  delete theFTFPNeutron;
88  delete theBertiniNeutron;
89  delete theQGSPPro;
90  delete theFTFPPro;
91  delete thePro;
92  delete theBertiniPro;
93  delete theQGSPPiK;
94  delete theFTFPPiK;
95  delete theBertiniPiK;
96  delete thePiK;
97 }

Member Function Documentation

void HadronPhysicsQGSPCMS_FTFP_BERT_WP::ConstructParticle ( )
virtual

Definition at line 99 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.cc.

100 {
101  G4MesonConstructor pMesonConstructor;
102  pMesonConstructor.ConstructParticle();
103 
104  G4BaryonConstructor pBaryonConstructor;
105  pBaryonConstructor.ConstructParticle();
106 
107  G4ShortLivedConstructor pShortLivedConstructor;
108  pShortLivedConstructor.ConstructParticle();
109 }
void HadronPhysicsQGSPCMS_FTFP_BERT_WP::ConstructProcess ( )
virtual
void HadronPhysicsQGSPCMS_FTFP_BERT_WP::CreateModels ( )
private

Definition at line 22 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.cc.

References ProjectileDiffraction, QuasiElastic, G4ProtonBuilder_WP::RegisterMe(), G4PiKBuilder_WP::RegisterMe(), theBertiniNeutron, theBertiniPiK, theBertiniPro, theFTFPNeutron, theFTFPPiK, theFTFPPro, theLEPNeutron, theMiscLHEP, theNeutrons, thePiK, thePro, theQGSPNeutron, theQGSPPiK, and theQGSPPro.

Referenced by ConstructProcess().

23 {
24  // First transition, between BERT and FTF/P
25  G4double minFTFP= 6.0 * GeV; // Was 9.5 for LEP (in FTFP_BERT 6.0 * GeV);
26  G4double maxBERT= 8.0 * GeV; // Was 9.9 for LEP (in FTFP_BERT 8.0 * GeV);
27  // Second transition, between FTF/P and QGS/P
28  G4double minQGSP= 12.0 * GeV;
29  G4double maxFTFP= 25.0 * GeV;
30 
31  G4bool quasiElasFTF= false; // Use built-in quasi-elastic (not add-on)
32  G4bool quasiElasQGS= true; // For QGS, it must use it.
33 
34  G4cout << " New QGSPCMS_FTFP_BERT physics list, replaces LEP with FTF/P for p/n/pi (/K?)";
35  G4cout << " Thresholds: " << G4endl;
36  G4cout << " 1) between BERT and FTF/P over the interval "
37  << minFTFP/GeV << " to " << maxBERT/GeV << " GeV. " << G4endl;
38  G4cout << " 2) between FTF/P and QGS/P over the interval "
39  << minQGSP/GeV << " to " << maxFTFP/GeV << " GeV. " << G4endl;
40  G4cout << " -- quasiElastic was asked to be " << QuasiElastic << G4endl
41  << " Changed to " << quasiElasQGS << " for QGS "
42  << " and to " << quasiElasFTF << " (must be false) for FTF" << G4endl;
43 
44  theNeutrons=new G4NeutronBuilder;
45  theNeutrons->RegisterMe(theQGSPNeutron=new G4QGSPNeutronBuilder(quasiElasQGS, ProjectileDiffraction));
46  theQGSPNeutron->SetMinEnergy(minQGSP);
47  theNeutrons->RegisterMe(theFTFPNeutron=new CMSFTFPNeutronBuilder(quasiElasFTF));
48  theFTFPNeutron->SetMinEnergy(minFTFP); // was (9.5*GeV);
49  theFTFPNeutron->SetMaxEnergy(maxFTFP); // was (25*GeV);
50  // Exclude LEP only from Inelastic
51  // -- Register it for other processes: Capture, Elastic
52  theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder);
53  theLEPNeutron->SetMinInelasticEnergy(0.0*GeV);
54  theLEPNeutron->SetMaxInelasticEnergy(0.0*GeV);
55 
56  theNeutrons->RegisterMe(theBertiniNeutron=new G4BertiniNeutronBuilder);
57  theBertiniNeutron->SetMinEnergy(0.0*GeV);
58  theBertiniNeutron->SetMaxEnergy(maxBERT); // was (9.9*GeV);
59 
61  thePro->RegisterMe(theQGSPPro=new G4QGSPProtonBuilder(quasiElasQGS, ProjectileDiffraction));
62  theQGSPPro->SetMinEnergy(minQGSP);
63  thePro->RegisterMe(theFTFPPro=new CMSFTFPProtonBuilder(quasiElasFTF));
64  theFTFPPro->SetMinEnergy(minFTFP); // was (9.5*GeV);
65  theFTFPPro->SetMaxEnergy(maxFTFP); // was (25*GeV);
66 
67  thePro->RegisterMe(theBertiniPro=new G4BertiniProtonBuilder);
68  theBertiniPro->SetMaxEnergy(maxBERT); // was (9.9*GeV);
69 
71  thePiK->RegisterMe(theQGSPPiK=new G4QGSPPiKBuilder(quasiElasQGS));
72  theQGSPPiK->SetMinEnergy(minQGSP);
73  thePiK->RegisterMe(theFTFPPiK=new CMSFTFPPiKBuilder(quasiElasFTF));
74  theFTFPPiK->SetMaxEnergy(maxFTFP); // was (25*GeV);
75  theFTFPPiK->SetMinEnergy(minFTFP); // was (9.5*GeV);
76 
77  thePiK->RegisterMe(theBertiniPiK=new G4BertiniPiKBuilder);
78  theBertiniPiK->SetMaxEnergy(maxBERT); // was (9.9*GeV);
79 
81 }
void RegisterMe(G4VPiKBuilder *aB)
void RegisterMe(G4VProtonBuilder *aB)
void HadronPhysicsQGSPCMS_FTFP_BERT_WP::SetProjectileDiffraction ( G4bool  value)
inline
void HadronPhysicsQGSPCMS_FTFP_BERT_WP::SetQuasiElastic ( G4bool  value)
inline

Member Data Documentation

G4bool HadronPhysicsQGSPCMS_FTFP_BERT_WP::ProjectileDiffraction
private
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
G4BertiniPiKBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theBertiniPiK
private
G4BertiniProtonBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theBertiniPro
private
CMSFTFPNeutronBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theFTFPNeutron
private
CMSFTFPPiKBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theFTFPPiK
private
CMSFTFPProtonBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theFTFPPro
private
G4LEPNeutronBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theLEPNeutron
private

Definition at line 49 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.

Referenced by CreateModels().

G4MiscLHEPBuilder_WP* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theMiscLHEP
private
G4NeutronBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theNeutrons
private

Definition at line 45 of file HadronPhysicsQGSPCMS_FTFP_BERT_WP.h.

Referenced by ConstructProcess(), and CreateModels().

G4PiKBuilder_WP* HadronPhysicsQGSPCMS_FTFP_BERT_WP::thePiK
private
G4ProtonBuilder_WP* HadronPhysicsQGSPCMS_FTFP_BERT_WP::thePro
private
G4QGSPNeutronBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theQGSPNeutron
private
G4QGSPPiKBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theQGSPPiK
private
G4QGSPProtonBuilder* HadronPhysicsQGSPCMS_FTFP_BERT_WP::theQGSPPro
private