Geant4  10.00.p03
G4NeutronHPThermalScattering Class Reference

#include <G4NeutronHPThermalScattering.hh>

+ Inheritance diagram for G4NeutronHPThermalScattering:
+ Collaboration diagram for G4NeutronHPThermalScattering:

Public Member Functions

 G4NeutronHPThermalScattering ()
 
 ~G4NeutronHPThermalScattering ()
 
G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &aTargetNucleus)
 
virtual const std::pair
< G4double, G4double
GetFatalEnergyCheckLevels () const
 
void AddUserThermalScatteringFile (G4String, G4String)
 
- Public Member Functions inherited from G4HadronicInteraction
 G4HadronicInteraction (const G4String &modelName="HadronicModel")
 
virtual ~G4HadronicInteraction ()
 
virtual G4double SampleInvariantT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
virtual G4bool IsApplicable (const G4HadProjectile &, G4Nucleus &)
 
G4double GetMinEnergy () const
 
G4double GetMinEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMinEnergy (G4double anEnergy)
 
void SetMinEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMinEnergy (G4double anEnergy, const G4Material *aMaterial)
 
G4double GetMaxEnergy () const
 
G4double GetMaxEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMaxEnergy (const G4double anEnergy)
 
void SetMaxEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMaxEnergy (G4double anEnergy, const G4Material *aMaterial)
 
const G4HadronicInteractionGetMyPointer () const
 
virtual G4int GetVerboseLevel () const
 
virtual void SetVerboseLevel (G4int value)
 
const G4StringGetModelName () const
 
void DeActivateFor (const G4Material *aMaterial)
 
void ActivateFor (const G4Material *aMaterial)
 
void DeActivateFor (const G4Element *anElement)
 
void ActivateFor (const G4Element *anElement)
 
G4bool IsBlocked (const G4Material *aMaterial) const
 
G4bool IsBlocked (const G4Element *anElement) const
 
void SetRecoilEnergyThreshold (G4double val)
 
G4double GetRecoilEnergyThreshold () const
 
G4bool operator== (const G4HadronicInteraction &right) const
 
G4bool operator!= (const G4HadronicInteraction &right) const
 
virtual std::pair< G4double,
G4double
GetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel)
 
virtual void ModelDescription (std::ostream &outFile) const
 

Private Member Functions

std::map< G4double,
std::vector< std::pair
< G4double, G4double > * > * > * 
readACoherentFSDATA (G4String)
 
std::map< G4double,
std::vector< E_isoAng * > * > * 
readAnIncoherentFSDATA (G4String)
 
E_isoAngreadAnE_isoAng (std::istream *)
 
std::map< G4double,
std::vector< E_P_E_isoAng * > * > * 
readAnInelasticFSDATA (G4String)
 
E_P_E_isoAngreadAnE_P_E_isoAng (std::istream *)
 
G4double getMu (E_isoAng *)
 
std::pair< G4double, G4doublefind_LH (G4double, std::vector< G4double > *)
 
G4double get_linear_interpolated (G4double, std::pair< G4double, G4double >, std::pair< G4double, G4double >)
 
E_isoAng create_E_isoAng_from_energy (G4double, std::vector< E_isoAng * > *)
 
G4double get_secondary_energy_from_E_P_E_isoAng (G4double, E_P_E_isoAng *)
 
std::pair< G4double, E_isoAngcreate_sE_and_EPM_from_pE_and_vE_P_E_isoAng (G4double, G4double, std::vector< E_P_E_isoAng * > *)
 
void buildPhysicsTable ()
 
G4int getTS_ID (const G4Material *, const G4Element *)
 

Private Attributes

G4NeutronHPThermalScatteringNames names
 
std::map< G4int, std::map
< G4double, std::vector
< std::pair< G4double,
G4double > * > * > * > 
coherentFSs
 
std::map< G4int, std::map
< G4double, std::vector
< E_isoAng * > * > * > 
incoherentFSs
 
std::map< G4int, std::map
< G4double, std::vector
< E_P_E_isoAng * > * > * > 
inelasticFSs
 
G4NeutronHPThermalScatteringDatatheXSection
 
G4NeutronHPElastictheHPElastic
 
std::map< std::pair< const
G4Material *, const G4Element * >
, G4int
dic
 
size_t sizeOfMaterialTable
 

Additional Inherited Members

- Protected Member Functions inherited from G4HadronicInteraction
void SetModelName (const G4String &nam)
 
G4bool IsBlocked () const
 
void Block ()
 
- Protected Attributes inherited from G4HadronicInteraction
G4HadFinalState theParticleChange
 
G4int verboseLevel
 
G4double theMinEnergy
 
G4double theMaxEnergy
 
G4bool isBlocked
 

Detailed Description

Definition at line 73 of file G4NeutronHPThermalScattering.hh.

Constructor & Destructor Documentation

G4NeutronHPThermalScattering::G4NeutronHPThermalScattering ( )

Definition at line 51 of file G4NeutronHPThermalScattering.cc.

References G4NeutronHPThermalScatteringData::BuildPhysicsTable(), buildPhysicsTable(), eV, G4Material::GetMaterialTable(), G4Neutron::Neutron(), G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), sizeOfMaterialTable, theHPElastic, and theXSection.

+ Here is the call graph for this function:

G4NeutronHPThermalScattering::~G4NeutronHPThermalScattering ( )

Member Function Documentation

void G4NeutronHPThermalScattering::AddUserThermalScatteringFile ( G4String  nameG4Element,
G4String  filename 
)

Definition at line 1051 of file G4NeutronHPThermalScattering.cc.

References G4NeutronHPThermalScatteringNames::AddThermalElement(), G4NeutronHPThermalScatteringData::AddUserThermalScatteringFile(), buildPhysicsTable(), names, and theXSection.

+ Here is the call graph for this function:

void G4NeutronHPThermalScattering::buildPhysicsTable ( )
private
E_isoAng G4NeutronHPThermalScattering::create_E_isoAng_from_energy ( G4double  energy,
std::vector< E_isoAng * > *  vEPM 
)
private

Definition at line 724 of file G4NeutronHPThermalScattering.cc.

References E_isoAng::energy, G4INCL::KinematicsUtils::energy(), find_LH(), G4cout, G4endl, get_linear_interpolated(), E_isoAng::isoAngle, and E_isoAng::n.

Referenced by ApplyYourself(), and create_sE_and_EPM_from_pE_and_vE_P_E_isoAng().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::pair< G4double, E_isoAng > G4NeutronHPThermalScattering::create_sE_and_EPM_from_pE_and_vE_P_E_isoAng ( G4double  rand_for_sE,
G4double  pE,
std::vector< E_P_E_isoAng * > *  vNEP_EPM 
)
private

Definition at line 835 of file G4NeutronHPThermalScattering.cc.

References create_E_isoAng_from_energy(), E_isoAng::energy, find_LH(), get_linear_interpolated(), get_secondary_energy_from_E_P_E_isoAng(), E_isoAng::isoAngle, E_isoAng::n, and E_P_E_isoAng::vE_isoAngle.

Referenced by ApplyYourself().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::pair< G4double, G4double > G4NeutronHPThermalScattering::find_LH ( G4double  x,
std::vector< G4double > *  aVector 
)
private

Definition at line 669 of file G4NeutronHPThermalScattering.cc.

References L.

Referenced by ApplyYourself(), create_E_isoAng_from_energy(), and create_sE_and_EPM_from_pE_and_vE_P_E_isoAng().

+ Here is the caller graph for this function:

G4double G4NeutronHPThermalScattering::get_linear_interpolated ( G4double  x,
std::pair< G4double, G4double Low,
std::pair< G4double, G4double High 
)
private

Definition at line 706 of file G4NeutronHPThermalScattering.cc.

References G4cout, and G4endl.

Referenced by ApplyYourself(), create_E_isoAng_from_energy(), create_sE_and_EPM_from_pE_and_vE_P_E_isoAng(), and get_secondary_energy_from_E_P_E_isoAng().

+ Here is the caller graph for this function:

G4double G4NeutronHPThermalScattering::get_secondary_energy_from_E_P_E_isoAng ( G4double  random,
E_P_E_isoAng anE_P_E_isoAng 
)
private

Definition at line 789 of file G4NeutronHPThermalScattering.cc.

References dE, eV, get_linear_interpolated(), E_P_E_isoAng::n, n, E_P_E_isoAng::prob, E_P_E_isoAng::sum_of_probXdEs, G4INCL::CrossSections::total(), and E_P_E_isoAng::vE_isoAngle.

Referenced by create_sE_and_EPM_from_pE_and_vE_P_E_isoAng().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const std::pair< G4double, G4double > G4NeutronHPThermalScattering::GetFatalEnergyCheckLevels ( ) const
virtual

Reimplemented from G4HadronicInteraction.

Definition at line 1045 of file G4NeutronHPThermalScattering.cc.

References DBL_MAX, and perCent.

G4double G4NeutronHPThermalScattering::getMu ( E_isoAng anEPM)
private

Definition at line 632 of file G4NeutronHPThermalScattering.cc.

References G4UniformRand.

Referenced by ApplyYourself().

+ Here is the caller graph for this function:

G4int G4NeutronHPThermalScattering::getTS_ID ( const G4Material material,
const G4Element element 
)
private

Definition at line 1037 of file G4NeutronHPThermalScattering.cc.

References dic.

Referenced by ApplyYourself().

+ Here is the caller graph for this function:

std::map< G4double, std::vector< std::pair< G4double, G4double > * > * > * G4NeutronHPThermalScattering::readACoherentFSDATA ( G4String  name)
private

Definition at line 128 of file G4NeutronHPThermalScattering.cc.

References G4NeutronHPManager::GetDataStream(), G4NeutronHPManager::GetInstance(), and n.

Referenced by buildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

E_isoAng * G4NeutronHPThermalScattering::readAnE_isoAng ( std::istream *  file)
private

Definition at line 284 of file G4NeutronHPThermalScattering.cc.

References E_isoAng::energy, G4INCL::KinematicsUtils::energy(), eV, E_isoAng::isoAngle, E_isoAng::n, and n.

Referenced by readAnIncoherentFSDATA().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

E_P_E_isoAng * G4NeutronHPThermalScattering::readAnE_P_E_isoAng ( std::istream *  file)
private

Definition at line 204 of file G4NeutronHPThermalScattering.cc.

References dE, E_isoAng::energy, E_P_E_isoAng::energy, G4INCL::KinematicsUtils::energy(), eV, E_isoAng::isoAngle, E_isoAng::n, E_P_E_isoAng::n, E_P_E_isoAng::prob, E_P_E_isoAng::sum_of_probXdEs, G4INCL::CrossSections::total(), and E_P_E_isoAng::vE_isoAngle.

Referenced by readAnInelasticFSDATA().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::map< G4double, std::vector< E_isoAng * > * > * G4NeutronHPThermalScattering::readAnIncoherentFSDATA ( G4String  name)
private

Definition at line 256 of file G4NeutronHPThermalScattering.cc.

References G4NeutronHPManager::GetDataStream(), G4NeutronHPManager::GetInstance(), n, and readAnE_isoAng().

Referenced by buildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::map< G4double, std::vector< E_P_E_isoAng * > * > * G4NeutronHPThermalScattering::readAnInelasticFSDATA ( G4String  name)
private

Definition at line 174 of file G4NeutronHPThermalScattering.cc.

References G4NeutronHPManager::GetDataStream(), G4NeutronHPManager::GetInstance(), n, and readAnE_P_E_isoAng().

Referenced by buildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

std::map< G4int , std::map < G4double , std::vector < std::pair< G4double , G4double >* >* >* > G4NeutronHPThermalScattering::coherentFSs
private
std::map< std::pair < const G4Material* , const G4Element* > , G4int > G4NeutronHPThermalScattering::dic
private

Definition at line 125 of file G4NeutronHPThermalScattering.hh.

Referenced by buildPhysicsTable(), and getTS_ID().

std::map< G4int , std::map < G4double , std::vector < E_isoAng* >* >* > G4NeutronHPThermalScattering::incoherentFSs
private
std::map< G4int , std::map < G4double , std::vector < E_P_E_isoAng* >* >* > G4NeutronHPThermalScattering::inelasticFSs
private
G4NeutronHPThermalScatteringNames G4NeutronHPThermalScattering::names
private
size_t G4NeutronHPThermalScattering::sizeOfMaterialTable
private

Definition at line 129 of file G4NeutronHPThermalScattering.hh.

Referenced by ApplyYourself(), and G4NeutronHPThermalScattering().

G4NeutronHPElastic* G4NeutronHPThermalScattering::theHPElastic
private

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