Import Geant4 8.2.0 source tree
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user