29#ifndef G4ParticleHPThermalScattering_h
30#define G4ParticleHPThermalScattering_h 1
67 std::vector < G4double >
prob;
109 std::map < G4int , std::map < G4double , std::vector < std::pair< G4double , G4double >* >* >* >*
coherentFSs;
114 std::map < G4int , std::map < G4double , std::vector < E_isoAng* >* >* >*
incoherentFSs;
120 std::map < G4int , std::map < G4double , std::vector < E_P_E_isoAng* >* >* >*
inelasticFSs;
131 std::pair< G4double , G4double >
find_LH (
G4double , std::vector<G4double>* );
143 std::map < std::pair < const G4Material* , const G4Element* > ,
G4int >
dic;
std::map< G4double, std::vector< std::pair< G4double, G4double > * > * > * readACoherentFSDATA(G4String)
std::pair< G4double, G4double > find_LH(G4double, std::vector< G4double > *)
G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &aTargetNucleus)
E_isoAng * readAnE_isoAng(std::istream *)
G4int getTS_ID(const G4Material *, const G4Element *)
G4ParticleHPElastic * theHPElastic
E_isoAng create_E_isoAng_from_energy(G4double, std::vector< E_isoAng * > *)
void AddUserThermalScatteringFile(G4String, G4String)
std::map< G4double, std::vector< E_isoAng * > * > * readAnIncoherentFSDATA(G4String)
std::pair< G4double, E_isoAng > create_sE_and_EPM_from_pE_and_vE_P_E_isoAng(G4double, G4double, std::vector< E_P_E_isoAng * > *)
E_P_E_isoAng * readAnE_P_E_isoAng(std::istream *)
G4ParticleHPThermalScatteringNames names
G4ParticleHPThermalScattering()
std::map< G4int, std::map< G4double, std::vector< std::pair< G4double, G4double > * > * > * > * coherentFSs
void clearCurrentFSData()
virtual void ModelDescription(std::ostream &outFile) const
G4bool check_E_isoAng(E_isoAng *)
G4double get_linear_interpolated(G4double, std::pair< G4double, G4double >, std::pair< G4double, G4double >)
std::pair< G4double, G4double > sample_inelastic_E_mu(G4double pE, std::vector< E_P_E_isoAng * > *vNEP_EPM)
G4double getMu(E_isoAng *)
std::pair< G4double, G4int > sample_inelastic_E(G4double rndm1, G4double rndm2, E_P_E_isoAng *anE_P_E_isoAng)
std::map< G4int, std::map< G4double, std::vector< E_P_E_isoAng * > * > * > * inelasticFSs
virtual const std::pair< G4double, G4double > GetFatalEnergyCheckLevels() const
~G4ParticleHPThermalScattering()
std::map< G4int, std::map< G4double, std::vector< E_isoAng * > * > * > * incoherentFSs
std::map< G4double, std::vector< E_P_E_isoAng * > * > * readAnInelasticFSDATA(G4String)
G4double get_secondary_energy_from_E_P_E_isoAng(G4double random, E_P_E_isoAng *anE_P_E_isoAng)
void BuildPhysicsTable(const G4ParticleDefinition &)
std::map< std::pair< const G4Material *, const G4Element * >, G4int > dic
G4ParticleHPThermalScatteringData * theXSection
std::vector< G4double > prob
std::vector< E_isoAng * > vE_isoAngle
std::vector< G4double > secondary_energy_pdf
G4int secondary_energy_cdf_size
std::vector< G4double > secondary_energy_cdf
std::vector< G4double > secondary_energy_value
std::vector< G4double > isoAngle