3 #include "G4ParticleDefinition.hh" 4 #include "G4ProcessManager.hh" 5 #include "G4HadronicProcess.hh" 7 #include "G4ParticleHPThermalScattering.hh" 8 #include "G4ParticleHPThermalScatteringData.hh" 10 #include "G4BuilderType.hh" 12 #include "G4SystemOfUnits.hh" 15 G4VHadronPhysics(
"CMSThermalNeutrons"),
verbose(ver) {
23 G4cout <<
"### " << GetPhysicsName() <<
" Construct Processes " << G4endl;
25 G4Neutron*
part = G4Neutron::Neutron();
26 G4HadronicProcess* hpel = FindElasticProcess(part);
28 G4cout <<
"### " << GetPhysicsName()
29 <<
" WARNING: Fail to add thermal neutron scattering" << G4endl;
33 G4int ni = (hpel->GetHadronicInteractionList()).
size();
35 G4cout <<
"### " << GetPhysicsName()
36 <<
" WARNING: Fail to add thermal neutron scattering - Nint= " 40 (hpel->GetHadronicInteractionList())[ni-1]->SetMinEnergy(4*CLHEP::eV);
42 hpel->RegisterMe(
new G4ParticleHPThermalScattering());
43 hpel->AddDataSet(
new G4ParticleHPThermalScatteringData());
CMSThermalNeutrons(G4int ver)
void ConstructProcess() override
~CMSThermalNeutrons() override