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