Import Geant4 8.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 14:55:03 +02:00
parent 216a75eeb1
commit fe73f43734
6714 changed files with 118229 additions and 68144 deletions
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4LossTableManager.hh,v 1.41 2006/06/29 19:54:39 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: G4LossTableManager.hh,v 1.43 2006/10/23 19:05:47 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//
// -------------------------------------------------------------------
@@ -210,6 +210,8 @@ public:
G4double BremsstrahlungTh() const;
G4VEnergyLossProcess* GetEnergyLossProcess(const G4ParticleDefinition *aParticle);
const std::vector<G4VEnergyLossProcess*>& GetEnergyLossProcessVector();
const std::vector<G4VEmProcess*>& GetEmProcessVector();
@@ -300,16 +302,7 @@ inline G4double G4LossTableManager::GetDEDX(
G4double kineticEnergy,
const G4MaterialCutsCouple *couple)
{
if(aParticle != currentParticle) {
currentParticle = aParticle;
std::map<PD, G4VEnergyLossProcess*,std::less<PD> >::const_iterator pos;
if ((pos = loss_map.find(aParticle)) != loss_map.end()) {
currentLoss = (*pos).second;
} else {
currentLoss = 0;
// ParticleHaveNoLoss(aParticle);
}
}
if(aParticle != currentParticle) GetEnergyLossProcess(aParticle);
G4double x;
if(currentLoss) x = currentLoss->GetDEDX(kineticEnergy, couple);
else x = G4EnergyLossTables::GetDEDX(
@@ -324,16 +317,7 @@ inline G4double G4LossTableManager::GetSubDEDX(
G4double kineticEnergy,
const G4MaterialCutsCouple *couple)
{
if(aParticle != currentParticle) {
currentParticle = aParticle;
std::map<PD, G4VEnergyLossProcess*,std::less<PD> >::const_iterator pos;
if ((pos = loss_map.find(aParticle)) != loss_map.end()) {
currentLoss = (*pos).second;
} else {
currentLoss = 0;
// ParticleHaveNoLoss(aParticle);
}
}
if(aParticle != currentParticle) GetEnergyLossProcess(aParticle);
G4double x = 0.0;
if(currentLoss) x = currentLoss->GetDEDXForSubsec(kineticEnergy, couple);
return x;
@@ -346,15 +330,7 @@ inline G4double G4LossTableManager::GetCSDARange(
G4double kineticEnergy,
const G4MaterialCutsCouple *couple)
{
if(aParticle != currentParticle) {
currentParticle = aParticle;
std::map<PD, G4VEnergyLossProcess*, std::less<PD> >::const_iterator pos;
if ((pos = loss_map.find(currentParticle)) != loss_map.end()) {
currentLoss = (*pos).second;
} else {
currentLoss = 0;
}
}
if(aParticle != currentParticle) GetEnergyLossProcess(aParticle);
G4double x = DBL_MAX;
if(currentLoss) x = currentLoss->GetCSDARange(kineticEnergy, couple);
return x;
@@ -367,22 +343,11 @@ inline G4double G4LossTableManager::GetRangeFromRestricteDEDX(
G4double kineticEnergy,
const G4MaterialCutsCouple *couple)
{
if(aParticle != currentParticle) {
currentParticle = aParticle;
std::map<PD, G4VEnergyLossProcess*, std::less<PD> >::const_iterator pos;
if ((pos = loss_map.find(currentParticle)) != loss_map.end()) {
currentLoss = (*pos).second;
} else {
currentLoss = 0;
// ParticleHaveNoLoss(aParticle);
}
}
if(aParticle != currentParticle) GetEnergyLossProcess(aParticle);
G4double x;
if(currentLoss) {
x = currentLoss->GetRangeForLoss(kineticEnergy, couple);
} else {
if(currentLoss) x = currentLoss->GetRangeForLoss(kineticEnergy, couple);
else
x = G4EnergyLossTables::GetRange(currentParticle,kineticEnergy,couple,false);
}
return x;
}
@@ -393,22 +358,11 @@ inline G4double G4LossTableManager::GetRange(
G4double kineticEnergy,
const G4MaterialCutsCouple *couple)
{
if(aParticle != currentParticle) {
currentParticle = aParticle;
std::map<PD, G4VEnergyLossProcess*, std::less<PD> >::const_iterator pos;
if ((pos = loss_map.find(currentParticle)) != loss_map.end()) {
currentLoss = (*pos).second;
} else {
currentLoss = 0;
// ParticleHaveNoLoss(aParticle);
}
}
if(aParticle != currentParticle) GetEnergyLossProcess(aParticle);
G4double x;
if(currentLoss) {
x = currentLoss->GetRange(kineticEnergy, couple);
} else {
if(currentLoss) x = currentLoss->GetRange(kineticEnergy, couple);
else
x = G4EnergyLossTables::GetRange(currentParticle,kineticEnergy,couple,false);
}
return x;
}
@@ -419,16 +373,7 @@ inline G4double G4LossTableManager::GetEnergy(
G4double range,
const G4MaterialCutsCouple *couple)
{
if(aParticle != currentParticle) {
currentParticle = aParticle;
std::map<PD,G4VEnergyLossProcess*,std::less<PD> >::const_iterator pos;
if ((pos = loss_map.find(aParticle)) != loss_map.end()) {
currentLoss = (*pos).second;
} else {
currentLoss = 0;
// ParticleHaveNoLoss(aParticle);
}
}
if(aParticle != currentParticle) GetEnergyLossProcess(aParticle);
G4double x;
if(currentLoss) x = currentLoss->GetKineticEnergy(range, couple);
else x = G4EnergyLossTables::GetPreciseEnergyFromRange(
@@ -458,5 +403,23 @@ inline G4double G4LossTableManager::GetDEDXDispersion(
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline G4VEnergyLossProcess* G4LossTableManager::GetEnergyLossProcess(
const G4ParticleDefinition *aParticle)
{
if(aParticle != currentParticle) {
currentParticle = aParticle;
std::map<PD,G4VEnergyLossProcess*,std::less<PD> >::const_iterator pos;
if ((pos = loss_map.find(aParticle)) != loss_map.end()) {
currentLoss = (*pos).second;
} else {
currentLoss = 0;
// ParticleHaveNoLoss(aParticle);
}
}
return currentLoss;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif