Import Geant4 8.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:07:44 +02:00
parent fe73f43734
commit 75c7fd177d
764 changed files with 45230 additions and 95238 deletions
@@ -77,6 +77,7 @@
theEnergy = -1;
theStat = isAlive;
theW = 1.;
theEDep = 0.;
if(!hasStaleSecondaries)
{
for(size_t i=0; i<theSecs.size(); i++) delete theSecs[i];
@@ -32,50 +32,74 @@ G4HadronicWhiteBoard & G4HadronicWhiteBoard::Instance()
return theInstance;
}
const G4HadProjectile * G4HadronicWhiteBoard::GetProjectile() {return theProjectile;}
const G4Nucleus & G4HadronicWhiteBoard::GetTargetNucleus() { return theTarget; }
G4ParticleDefinition * G4HadronicWhiteBoard::GetPDef() {return theDef;}
G4String G4HadronicWhiteBoard::GetParticleName() {return theName;}
G4double G4HadronicWhiteBoard::GetEnergy() {return theE;}
G4double G4HadronicWhiteBoard::GetPx(){return thePx;}
G4double G4HadronicWhiteBoard::GetPy(){return thePy;}
G4double G4HadronicWhiteBoard::GetPz(){return thePz;}
G4double G4HadronicWhiteBoard::GetA(){return theA;}
G4double G4HadronicWhiteBoard::GetZ(){return theZ;}
const G4HadProjectile * G4HadronicWhiteBoard::GetProjectile()
{
return theProjectile;
}
const G4Nucleus & G4HadronicWhiteBoard::GetTargetNucleus()
{
return theTarget;
}
G4ParticleDefinition * G4HadronicWhiteBoard::GetPDef() {return theDef;}
G4String G4HadronicWhiteBoard::GetParticleName() {return theName;}
G4double G4HadronicWhiteBoard::GetEnergy() {return theE;}
G4double G4HadronicWhiteBoard::GetPx(){return thePx;}
G4double G4HadronicWhiteBoard::GetPy(){return thePy;}
G4double G4HadronicWhiteBoard::GetPz(){return thePz;}
G4double G4HadronicWhiteBoard::GetA(){return theA;}
G4double G4HadronicWhiteBoard::GetZ(){return theZ;}
void G4HadronicWhiteBoard::SetProjectile(const G4HadProjectile & aProjectile)
{
theProjectile = const_cast<G4HadProjectile*>(& aProjectile);
theDef = const_cast<G4ParticleDefinition*>(theProjectile->GetDefinition());
theName = const_cast<char *>(theDef->GetParticleName().c_str() );
theE = theProjectile->Get4Momentum().t();
thePx = theProjectile->Get4Momentum().vect().x();
thePy = theProjectile->Get4Momentum().vect().y();
thePz = theProjectile->Get4Momentum().vect().z();
}
void G4HadronicWhiteBoard::SetProjectile(const G4HadProjectile & aProjectile)
{
theProjectile = const_cast<G4HadProjectile*>(& aProjectile);
theDef = const_cast<G4ParticleDefinition*>(theProjectile->GetDefinition());
theName = const_cast<char *>(theDef->GetParticleName().c_str() );
theE = theProjectile->Get4Momentum().t();
thePx = theProjectile->Get4Momentum().vect().x();
thePy = theProjectile->Get4Momentum().vect().y();
thePz = theProjectile->Get4Momentum().vect().z();
}
void G4HadronicWhiteBoard::SetTargetNucleus(const G4Nucleus & aTarget)
{
theTarget = aTarget;
theA = theTarget.GetN();
theZ = theTarget.GetZ();
}
void G4HadronicWhiteBoard::SetTargetNucleus(const G4Nucleus & aTarget)
{
theTarget = aTarget;
theA = theTarget.GetN();
theZ = theTarget.GetZ();
}
void G4HadronicWhiteBoard::Dump()
{
std::cerr << std::endl;
std::cerr << "*** Geant4 Hadronic Reaction Information ***"
<< std::endl;
std::cerr << " Nucleus A, Z = " << theA << " " << theZ
<< std::endl;
std::cerr << " Projectile was a " << theName
<< std::endl;
std::cerr << " projectile momentum (px, py, pz) = (" << thePx << ", "
<< thePy << ", " << thePz << ")" << std::endl;
std::cerr << " Projectile energy = "<< theE
<< std::endl;
std::cerr << "*** End of Geant4 Hadronic Reaction Information ***"
<< std::endl;
G4Exception("G4HadronicProcess", "001", FatalException, "segmentation fault");
}
void G4HadronicWhiteBoard::SetProcessName(const G4String& aProcessName)
{
theProcessName = aProcessName;
}
void G4HadronicWhiteBoard::SetModelName(const G4String& aModelName)
{
theModelName = aModelName;
}
void G4HadronicWhiteBoard::Dump()
{
std::cerr << std::endl;
std::cerr << "*** Geant4 Hadronic Reaction Information ***"
<< std::endl;
std::cerr << " Process: " << theProcessName << " , Model: "
<< theModelName << std::endl;
std::cerr << " Nucleus A, Z = " << theA << " " << theZ
<< std::endl;
std::cerr << " Projectile was a " << theName
<< std::endl;
std::cerr << " projectile momentum (px, py, pz) = (" << thePx << ", "
<< thePy << ", " << thePz << ")" << std::endl;
std::cerr << " Projectile energy = "<< theE
<< std::endl;
std::cerr << "*** End of Geant4 Hadronic Reaction Information ***"
<< std::endl;
G4Exception(theModelName, "001", FatalException, "segmentation fault");
}
@@ -1369,6 +1369,7 @@
G4ParticleDefinition *aPiMinus = G4PionMinus::PionMinus();
G4ParticleDefinition *aPiPlus = G4PionPlus::PionPlus();
G4ParticleDefinition* aPiZero = G4PionZero::PionZero();
G4ParticleDefinition *aProton = G4Proton::Proton();
G4ParticleDefinition *aNeutron = G4Neutron::Neutron();
G4double piMass = aPiPlus->GetPDGMass()/GeV;
@@ -1386,6 +1387,7 @@
if( antiTest && (
currentParticle.GetDefinition() == aPiPlus ||
currentParticle.GetDefinition() == aPiZero ||
currentParticle.GetDefinition() == aPiMinus ) &&
( G4UniformRand() <= (10.0-pOriginal)/6.0 ) &&
( G4UniformRand() <= atomicWeight/300.0 ) )
@@ -1400,6 +1402,7 @@
}
if( antiTest && (
targetParticle.GetDefinition() == aPiPlus ||
targetParticle.GetDefinition() == aPiZero ||
targetParticle.GetDefinition() == aPiMinus ) &&
( G4UniformRand() <= (10.0-pOriginal)/6.0 ) &&
( G4UniformRand() <= atomicWeight/300.0 ) )
@@ -1417,6 +1420,7 @@
{
if( antiTest && (
vec[i]->GetDefinition() == aPiPlus ||
vec[i]->GetDefinition() == aPiZero ||
vec[i]->GetDefinition() == aPiMinus ) &&
( G4UniformRand() <= (10.0-pOriginal)/6.0 ) &&
( G4UniformRand() <= atomicWeight/300.0 ) )