LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
MyG4HadronPhysicsQGSP_BERT_ArHP Class Reference

#include "MyG4HadronPhysicsQGSP_BERT_ArHP.hh"

Inheritance diagram for MyG4HadronPhysicsQGSP_BERT_ArHP:

Public Member Functions

 MyG4HadronPhysicsQGSP_BERT_ArHP (G4int verbose=1)
 
 MyG4HadronPhysicsQGSP_BERT_ArHP (const G4String &name, G4bool quasiElastic=true)
 
virtual ~MyG4HadronPhysicsQGSP_BERT_ArHP ()
 

Protected Member Functions

void Neutron () override
 
void ExtraConfiguration () override
 

Detailed Description

Definition at line 76 of file MyG4HadronPhysicsQGSP_BERT_ArHP.hh.

Constructor & Destructor Documentation

MyG4HadronPhysicsQGSP_BERT_ArHP::MyG4HadronPhysicsQGSP_BERT_ArHP ( G4int  verbose = 1)

Definition at line 85 of file MyG4HadronPhysicsQGSP_BERT_ArHP.cc.

86  : MyG4HadronPhysicsQGSP_BERT_ArHP("hInelastic MyQGSP_BERT_ArHP")
87 {}
MyG4HadronPhysicsQGSP_BERT_ArHP::MyG4HadronPhysicsQGSP_BERT_ArHP ( const G4String name,
G4bool  quasiElastic = true 
)

Definition at line 89 of file MyG4HadronPhysicsQGSP_BERT_ArHP.cc.

91  : G4HadronPhysicsQGSP_BERT(name)
92 {
93  minBERT_neutron = 19.9 * MeV;
94 }
virtual MyG4HadronPhysicsQGSP_BERT_ArHP::~MyG4HadronPhysicsQGSP_BERT_ArHP ( )
inlinevirtual

Definition at line 80 of file MyG4HadronPhysicsQGSP_BERT_ArHP.hh.

References ExtraConfiguration(), and Neutron().

80 {}

Member Function Documentation

void MyG4HadronPhysicsQGSP_BERT_ArHP::ExtraConfiguration ( )
overrideprotected

Definition at line 122 of file MyG4HadronPhysicsQGSP_BERT_ArHP.cc.

Referenced by ~MyG4HadronPhysicsQGSP_BERT_ArHP().

123 {
124  // --- Neutrons ---
125  const G4ParticleDefinition* neutron = G4Neutron::Neutron();
126  G4HadronicProcess* capture = G4PhysListUtil::FindCaptureProcess(neutron);
127  if (capture) {
128  G4NeutronRadCapture* theNeutronRadCapture = new G4NeutronRadCapture();
129  theNeutronRadCapture->SetMinEnergy(minBERT_neutron);
130  capture->RegisterMe(theNeutronRadCapture);
131  }
132  G4HadronicProcess* fission = G4PhysListUtil::FindFissionProcess(neutron);
133  if (fission) {
134  G4LFission* theNeutronLEPFission = new G4LFission();
135  theNeutronLEPFission->SetMinEnergy(minBERT_neutron);
136  theNeutronLEPFission->SetMaxEnergy(G4HadronicParameters::Instance()->GetMaxEnergy());
137  fission->RegisterMe(theNeutronLEPFission);
138  }
139 }
void MyG4HadronPhysicsQGSP_BERT_ArHP::Neutron ( )
overrideprotected

Definition at line 97 of file MyG4HadronPhysicsQGSP_BERT_ArHP.cc.

Referenced by ~MyG4HadronPhysicsQGSP_BERT_ArHP().

98 {
99  auto neu = new G4NeutronBuilder(true); // Fission on
100  AddBuilder(neu);
101  auto qgs = new G4QGSPNeutronBuilder(QuasiElasticQGS);
102  AddBuilder(qgs);
103  qgs->SetMinEnergy(minQGSP_neutron);
104  neu->RegisterMe(qgs);
105  auto ftf = new G4FTFPNeutronBuilder(QuasiElasticFTF);
106  AddBuilder(ftf);
107  ftf->SetMinEnergy(minFTFP_neutron);
108  ftf->SetMaxEnergy(maxFTFP_neutron);
109  neu->RegisterMe(ftf);
110  auto bert = new G4BertiniNeutronBuilder;
111  AddBuilder(bert);
112  bert->SetMinEnergy(minBERT_neutron);
113  bert->SetMaxEnergy(maxBERT_neutron);
114  neu->RegisterMe(bert);
115  auto hp = new MyG4NeutronPHPBuilder;
116  AddBuilder(hp);
117  neu->RegisterMe(hp);
118  neu->Build();
119 }

The documentation for this class was generated from the following files: