86 default_evaluation =
"endl99";
100 for ( std::map< G4int , G4LENDUsedTarget* >::iterator
101 it = usedTarget_map.begin() ; it != usedTarget_map.end() ; it ++ )
117 throw G4HadronicException(__FILE__, __LINE__,
"Attempt to use LEND data for particles other than neutrons!!!");
121 G4cout <<
"(Pointwise cross-section at 300 Kelvin.)" <<
G4endl;
126 for ( std::map< G4int , G4LENDUsedTarget* >::iterator
127 it = usedTarget_map.begin() ; it != usedTarget_map.end() ; it ++ )
130 <<
"Wanted " << it->second->GetWantedEvaluation()
131 <<
", Z= " << it->second->GetWantedZ()
132 <<
", A= " << it->second->GetWantedA()
133 <<
"; Actual " << it->second->GetActualEvaluation()
134 <<
", Z= " << it->second->GetActualZ()
135 <<
", A= " << it->second->GetActualA()
136 <<
", " << it->second->GetTarget()
143 for ( ie = 0 ; ie < 130 ; ie++ )
145 G4double ke = 1.0e-5 * std::pow ( 10.0 , ie/10.0 ) *eV;
256void G4LENDCrossSection::recreate_used_target_map()
258 for ( std::map< G4int , G4LENDUsedTarget* >::iterator
259 it = usedTarget_map.begin() ; it != usedTarget_map.end() ; it ++ )
263 usedTarget_map.clear();
278 for (
size_t i = 0 ; i < numberOfElements ; ++i )
281 const G4Element* anElement = (*theElementTable)[i];
284 if ( numberOfIsotope > 0 )
287 for (
G4int i_iso = 0 ; i_iso < numberOfIsotope ; i_iso++ )
294 if ( allow_nat ==
true ) aTarget->
AllowNat();
295 if ( allow_any ==
true ) aTarget->
AllowAny();
296 usedTarget_map.insert( std::pair< G4int , G4LENDUsedTarget* > ( lend_manager->
GetNucleusEncoding( iZ , iA ) , aTarget ) );
307 for (
G4int ii = 0 ; ii < numberOfNistIso ; ii++ )
316 if ( allow_nat ==
true ) aTarget->
AllowNat();
317 if ( allow_any ==
true ) aTarget->
AllowAny();
318 usedTarget_map.insert( std::pair< G4int , G4LENDUsedTarget* > ( lend_manager->
GetNucleusEncoding( iZ , iMass ) , aTarget ) );
327 G4cout <<
"Requested Evaluation, Z , A -> Actual Evaluation, Z , A(0=Nat) , Pointer of Target" <<
G4endl;
328 for ( std::map< G4int , G4LENDUsedTarget* >::iterator
329 it = usedTarget_map.begin() ; it != usedTarget_map.end() ; it ++ )
332 <<
" " << it->second->GetWantedEvaluation()
333 <<
", " << it->second->GetWantedZ()
334 <<
", " << it->second->GetWantedA()
335 <<
" -> " << it->second->GetActualEvaluation()
336 <<
", " << it->second->GetActualZ()
337 <<
", " << it->second->GetActualA()
338 <<
", " << it->second->GetTarget()
349 G4double a = ( y2 - y1 ) / ( 1/std::sqrt(x2) - 1/std::sqrt(x1) );
350 G4double b = y1 - a * 1/std::sqrt(x1);
351 G4double result = a * 1/std::sqrt(ke) + b;
std::vector< G4Element * > G4ElementTable
G4DLLIMPORT std::ostream G4cout
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
static size_t GetNumberOfElements()
const G4Isotope * GetIsotope(G4int iso) const
size_t GetNumberOfIsotopes() const
static const G4ElementTable * GetElementTable()
G4LENDCrossSection(const G4String name="")
G4double GetIsoCrossSection(const G4DynamicParticle *, G4int, G4int, const G4Isotope *, const G4Element *, const G4Material *)
G4ParticleDefinition * proj
G4double GetUltraLowEnergyExtrapolatedXS(G4double, G4double, G4double, G4double, G4double)
void create_used_target_map()
virtual G4double getLENDCrossSection(G4GIDI_target *, G4double, G4double)
void DumpPhysicsTable(const G4ParticleDefinition &)
void BuildPhysicsTable(const G4ParticleDefinition &)
G4bool IsIsoApplicable(const G4DynamicParticle *, G4int, G4int, const G4Element *, const G4Material *)
G4int GetNucleusEncoding(G4int iZ, G4int iA)
G4bool RequestChangeOfVerboseLevel(G4int)
G4NistElementBuilder * GetNistElementBuilder()
static G4LENDManager * GetInstance()
G4double GetTemperature() const
G4int GetNumberOfNistIsotopes(G4int Z)
G4double GetIsotopeAbundance(G4int Z, G4int N)
G4int GetNistFirstIsotopeN(G4int Z)
G4double GetMaxKinEnergy() const
void SetMaxKinEnergy(G4double value)
void SetMinKinEnergy(G4double value)
G4double GetMinKinEnergy() const
const G4String & GetName() const