G4NeutronHPorLElasticModel Class Reference

#include <G4NeutronHPorLElasticModel.hh>

Inheritance diagram for G4NeutronHPorLElasticModel:

G4HadronicInteraction

Public Member Functions

 G4NeutronHPorLElasticModel ()
 ~G4NeutronHPorLElasticModel ()
G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &aTargetNucleus)
G4VCrossSectionDataSetGiveHPXSectionDataSet ()

Detailed Description

Definition at line 42 of file G4NeutronHPorLElasticModel.hh.


Constructor & Destructor Documentation

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 (  ) 

Definition at line 45 of file G4NeutronHPorLElasticModel.cc.

00046 {
00047    delete theHPElastic;
00048    delete theLElastic;
00049    delete theHPNames;
00050 }


Member Function Documentation

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(); } 


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:41 2013 for Geant4 by  doxygen 1.4.7