#include <G4NeutronHPorLElasticModel.hh>
Inheritance diagram for G4NeutronHPorLElasticModel:
Public Member Functions | |
G4NeutronHPorLElasticModel () | |
~G4NeutronHPorLElasticModel () | |
G4HadFinalState * | ApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &aTargetNucleus) |
G4VCrossSectionDataSet * | GiveHPXSectionDataSet () |
Definition at line 42 of file G4NeutronHPorLElasticModel.hh.
G4NeutronHPorLElasticModel::G4NeutronHPorLElasticModel | ( | ) |
Definition at line 38 of file G4NeutronHPorLElasticModel.cc.
00039 { 00040 //theHPElastic = new G4NeutronHPElastic(); 00041 theHPElastic = new G4NeutronHPorLElastic(); 00042 theLElastic = new G4LElastic(); 00043 theHPNames = new G4NeutronHPNames(); 00044 }
G4NeutronHPorLElasticModel::~G4NeutronHPorLElasticModel | ( | ) |
G4HadFinalState * G4NeutronHPorLElasticModel::ApplyYourself | ( | const G4HadProjectile & | aTrack, | |
G4Nucleus & | aTargetNucleus | |||
) | [virtual] |
Implements G4HadronicInteraction.
Definition at line 52 of file G4NeutronHPorLElasticModel.cc.
References G4NeutronHPorLElastic::ApplyYourself(), G4LElastic::ApplyYourself(), G4HadProjectile::GetKineticEnergy(), G4NeutronHPNames::GetName(), G4Nucleus::GetZ_asInt(), and G4NeutronHPorLElastic::IsThisElementOK().
00053 { 00054 if ( aTrack.GetKineticEnergy() > 20*MeV ) 00055 { 00056 //G4cout << "Select LE model " << G4endl; 00057 return theLElastic->ApplyYourself( aTrack , aTargetNucleus ); 00058 } 00059 00060 //G4int Z = (G4int)(aTargetNucleus.GetZ()+0.5); 00061 //migrate to integer A and Z 00062 G4int Z = aTargetNucleus.GetZ_asInt(); 00063 G4String theNameOfElement = theHPNames->GetName( Z-1 ); // GetName(0) reply "Hydrogen" 00064 00065 if ( theHPElastic->IsThisElementOK( theNameOfElement ) ) 00066 { 00067 //G4cout << "Select HP model " << G4endl; 00068 return theHPElastic->ApplyYourself( aTrack , aTargetNucleus ); 00069 } 00070 else 00071 { 00072 //G4cout << "Select LE model " << G4endl; 00073 return theLElastic->ApplyYourself( aTrack , aTargetNucleus ); 00074 } 00075 }
G4VCrossSectionDataSet* G4NeutronHPorLElasticModel::GiveHPXSectionDataSet | ( | ) | [inline] |
Definition at line 49 of file G4NeutronHPorLElasticModel.hh.
References G4NeutronHPorLElastic::GiveXSectionDataSet().
00049 { return theHPElastic->GiveXSectionDataSet(); }