Import Geant4 9.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 16:25:56 +02:00
parent 74cad5e589
commit 89a9605df1
4440 changed files with 379508 additions and 189225 deletions
@@ -0,0 +1,18 @@
#------------------------------------------------------------------------------
# CMakeLists.txt
# Module : G4hadronic_util
# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_util
#
# CMakeLists.txt for building a single granular library.
#
# Generated on : 24/9/2010
#
# $Id: CMakeLists.txt,v 1.1 2010/09/29 19:08:31 bmorgan Exp $
#
#------------------------------------------------------------------------------
if(GEANT4_BUILD_GRANULAR_LIBS)
include(Geant4MacroLibraryTargets)
GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake)
endif()
+13
View File
@@ -14,6 +14,19 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
11 Nov 2010 Dennis Wright (hadr-util-V09-03-01)
-------------------------------------------------------------
- G4HadronicWhiteBoard: fix uninitialized ptrs (theProjectile, theDef,
theName)
- G4Nucleus: add dtaBlackTrackEnergyfromAnnihilation and
pnBlackTrackEnergyfromAnnihilation to copy ctor
initialize theA, theZ. aEff, zEff to 0 in ctor
08 Mar 2010 G.Folger (hadr-util-V09-03-00)
-------------------------------------------------------------
- add interface for integer A&Z to G4Nucleus, and modify G4HadronicWhiteBoard
G4LightMedia, and G4ReactionDynamics to use the new interface.
06 Mar 2009 D.H. Wright for Tatsumi Koi (hadr-util-V09-02-00)
-------------------------------------------------------------
- G4StableIsotopes.cc - fill in missing isotope names
@@ -34,45 +34,45 @@
class G4HadronicWhiteBoard
{
public:
G4HadronicWhiteBoard(){}
G4HadronicWhiteBoard();
static G4HadronicWhiteBoard & Instance();
static G4HadronicWhiteBoard& Instance();
void SetProjectile(const G4HadProjectile & aProjectile);
void SetProjectile(const G4HadProjectile& aProjectile);
void SetTargetNucleus(const G4Nucleus & aTarget);
void SetTargetNucleus(const G4Nucleus& aTarget);
void SetProcessName(const G4String& aProcessName);
void SetModelName(const G4String& aModelName);
const G4HadProjectile * GetProjectile();
const G4Nucleus & GetTargetNucleus();
G4ParticleDefinition * GetPDef();
const G4HadProjectile* GetProjectile();
const G4Nucleus& GetTargetNucleus();
G4ParticleDefinition* GetPDef();
G4String GetParticleName();
G4double GetEnergy();
G4double GetPx();
G4double GetPy();
G4double GetPz();
G4double GetA();
G4double GetZ();
G4int GetA();
G4int GetZ();
void Dump();
private:
G4HadProjectile * theProjectile;
G4ParticleDefinition * theDef;
char * theName;
G4HadProjectile* theProjectile;
G4ParticleDefinition* theDef;
char* theName;
G4double theE;
G4double thePx;
G4double thePy;
G4double thePz;
G4Nucleus theTarget;
G4double theA;
G4double theZ;
G4int theA;
G4int theZ;
G4String theProcessName;
G4String theModelName;
@@ -29,8 +29,9 @@
// modified by J.L. Chuma, TRIUMF, 19-Nov-1996
// last modified: 27-Mar-1997
// Chr. Volcker, 10-Nov-1997: new methods and class variables.
// M.G. Pia, 2 Oct 1998: modified GetFermiMomentum (original design was
// the source of memory leaks)
// M.G. Pia, 2 Oct 1998: modified GetFermiMomentum (original design was
// the source of memory leaks)
// G.Folger, spring 2010: add integer A/Z interface
#ifndef G4Nucleus_h
#define G4Nucleus_h 1
@@ -56,6 +57,8 @@
G4Nucleus( const G4double A, const G4double Z );
G4Nucleus( const G4int A, const G4int Z );
G4Nucleus( const G4Material *aMaterial );
~G4Nucleus();
@@ -67,10 +70,16 @@
{
if( this != &right )
{
theA=right.theA;
theZ=right.theZ;
aEff=right.aEff;
zEff=right.zEff;
pnBlackTrackEnergy=right.pnBlackTrackEnergy;
dtaBlackTrackEnergy=right.dtaBlackTrackEnergy;
dtaBlackTrackEnergy=right.dtaBlackTrackEnergy;
pnBlackTrackEnergyfromAnnihilation =
right.pnBlackTrackEnergyfromAnnihilation;
dtaBlackTrackEnergyfromAnnihilation =
right.dtaBlackTrackEnergyfromAnnihilation;
theTemp = right.theTemp;
excitationEnergy = right.excitationEnergy;
momentum = right.momentum;
@@ -88,16 +97,30 @@
void ChooseParameters( const G4Material *aMaterial );
void SetParameters( const G4double A, const G4double Z );
void SetParameters( const G4int A, const G4int Z );
//deprecated Jan 2010, GF
inline G4double GetN() const
{ return aEff; }
inline G4double GetZ() const
{ return zEff; }
//to be replaced by new
inline G4int GetA_asInt() const
{ return theA; }
inline G4int GetN_asInt() const
{ return theA-theZ; }
inline G4int GetZ_asInt() const
{ return theZ; }
//... \GF
G4DynamicParticle *ReturnTargetParticle() const;
G4double AtomicMass( const G4double A, const G4double Z ) const;
G4double AtomicMass( const G4int A, const G4int Z ) const;
G4double GetThermalPz( const G4double mass, const G4double temp ) const;
@@ -154,6 +177,8 @@
private:
G4int theA;
G4int theZ;
G4double aEff; // effective atomic weight
G4double zEff; // effective atomic number
@@ -0,0 +1,106 @@
#------------------------------------------------------------------------------
# sources.cmake
# Module : G4hadronic_util
# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_util
#
# Sources description for a library.
# Lists the sources and headers of the code explicitely.
# Lists include paths needed.
# Lists the internal granular and global dependencies of the library.
# Source specific properties should be added at the end.
#
# Generated on : 24/9/2010
#
# $Id: sources.cmake,v 1.2 2010/11/29 17:58:56 bmorgan Exp $
# GEANT4 Tag $Name: geant4-09-04 $
#
#------------------------------------------------------------------------------
# List external includes needed.
include_directories(${CLHEP_INCLUDE_DIRS})
# List internal includes needed.
include_directories(${CMAKE_SOURCE_DIR}/source/geometry/management/include)
include_directories(${CMAKE_SOURCE_DIR}/source/geometry/volumes/include)
include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include)
include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPRandom/include)
include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include)
include_directories(${CMAKE_SOURCE_DIR}/source/materials/include)
include_directories(${CMAKE_SOURCE_DIR}/source/particles/bosons/include)
include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/barions/include)
include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/ions/include)
include_directories(${CMAKE_SOURCE_DIR}/source/particles/hadrons/mesons/include)
include_directories(${CMAKE_SOURCE_DIR}/source/particles/leptons/include)
include_directories(${CMAKE_SOURCE_DIR}/source/particles/management/include)
include_directories(${CMAKE_SOURCE_DIR}/source/processes/management/include)
include_directories(${CMAKE_SOURCE_DIR}/source/track/include)
#
# Define the Geant4 Module.
#
include(Geant4MacroDefineModule)
GEANT4_DEFINE_MODULE(NAME G4hadronic_util
HEADERS
DumpFrame.hh
G4Bessel.hh
G4Delete.hh
G4DynamicParticleVector.hh
G4GHEKinematicsVector.hh
G4HadFinalState.hh
G4HadParticleCodes.hh
G4HadProjectile.hh
G4HadReentrentException.hh
G4HadSecondary.hh
G4HadSignalHandler.hh
G4HadTmpUtil.hh
G4HadronicException.hh
G4HadronicWhiteBoard.hh
G4IsoResult.hh
G4LightMedia.hh
G4Nucleus.hh
G4Pair.hh
G4ReactionDynamics.hh
G4ReactionKinematics.hh
G4ReactionProduct.hh
G4ReactionProductVector.hh
G4StableIsotopes.hh
G4ping.hh
SOURCES
G4Bessel.cc
G4HadFinalState.cc
G4HadProjectile.cc
G4HadSecondary.cc
G4HadSignalHandler.cc
G4HadTmpUtil.cc
G4HadronicWhiteBoard.cc
G4IsoResult.cc
G4LightMedia.cc
G4Nucleus.cc
G4ReactionDynamics.cc
G4ReactionKinematics.cc
G4ReactionProduct.cc
G4StableIsotopes.cc
GRANULAR_DEPENDENCIES
G4baryons
G4bosons
G4geometrymng
G4globman
G4ions
G4leptons
G4materials
G4mesons
G4partman
G4procman
G4track
G4volumes
GLOBAL_DEPENDENCIES
G4geometry
G4global
G4materials
G4particles
G4track
LINK_LIBRARIES
)
# List any source specific properties here
@@ -26,6 +26,11 @@
#include "G4HadronicWhiteBoard.hh"
G4HadronicWhiteBoard::G4HadronicWhiteBoard()
: theProjectile(0), theDef(0), theName(0)
{}
G4HadronicWhiteBoard & G4HadronicWhiteBoard::Instance()
{
static G4HadronicWhiteBoard theInstance;
@@ -48,8 +53,8 @@ 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;}
G4int G4HadronicWhiteBoard::GetA(){return theA;}
G4int G4HadronicWhiteBoard::GetZ(){return theZ;}
void G4HadronicWhiteBoard::SetProjectile(const G4HadProjectile & aProjectile)
@@ -67,8 +72,8 @@ void G4HadronicWhiteBoard::SetProjectile(const G4HadProjectile & aProjectile)
void G4HadronicWhiteBoard::SetTargetNucleus(const G4Nucleus & aTarget)
{
theTarget = aTarget;
theA = theTarget.GetN();
theZ = theTarget.GetZ();
theA = theTarget.GetA_asInt();
theZ = theTarget.GetZ_asInt();
}
@@ -43,7 +43,7 @@
G4ParticleDefinition* aNeutron = G4Neutron::Neutron();
G4ParticleDefinition* aPiZero = G4PionZero::PionZero();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -82,7 +82,7 @@
G4ParticleDefinition* aKaonZS = G4KaonZeroShort::KaonZeroShort();
G4ParticleDefinition* aKaonZL = G4KaonZeroLong::KaonZeroLong();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -116,7 +116,7 @@
G4ParticleDefinition* aKaonPlus = G4KaonPlus::KaonPlus();
G4ParticleDefinition* aKaonZL = G4KaonZeroLong::KaonZeroLong();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -175,7 +175,7 @@
{
G4ParticleDefinition* aNeutron = G4Neutron::Neutron();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -202,7 +202,7 @@
G4ParticleDefinition* aProton = G4Proton::Proton();
G4ParticleDefinition* anAntiNeutron = G4AntiNeutron::AntiNeutron();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -228,7 +228,7 @@
{
G4ParticleDefinition* aProton = G4Proton::Proton();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -255,7 +255,7 @@
G4ParticleDefinition* aNeutron = G4Neutron::Neutron();
G4ParticleDefinition* anAntiProton = G4AntiProton::AntiProton();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -285,7 +285,7 @@
G4ParticleDefinition* aSigmaMinus = G4SigmaMinus::SigmaMinus();
G4ParticleDefinition* aSigmaZero = G4SigmaZero::SigmaZero();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -363,7 +363,7 @@
G4ParticleDefinition* anAntiSigmaMinus = G4AntiSigmaMinus::AntiSigmaMinus();
G4ParticleDefinition* anAntiSigmaZero = G4AntiSigmaZero::AntiSigmaZero();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -442,7 +442,7 @@
G4ParticleDefinition* aLambda = G4Lambda::Lambda();
G4ParticleDefinition* aSigmaZero = G4SigmaZero::SigmaZero();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -504,7 +504,7 @@
G4ParticleDefinition* aLambda = G4Lambda::Lambda();
G4ParticleDefinition* aSigmaZero = G4SigmaZero::SigmaZero();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -566,7 +566,7 @@
G4ParticleDefinition* anAntiLambda = G4AntiLambda::AntiLambda();
G4ParticleDefinition* anAntiSigmaZero = G4AntiSigmaZero::AntiSigmaZero();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -625,7 +625,7 @@
G4ParticleDefinition* anAntiLambda = G4AntiLambda::AntiLambda();
G4ParticleDefinition* anAntiSigmaZero = G4AntiSigmaZero::AntiSigmaZero();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -688,7 +688,7 @@
G4ParticleDefinition* aSigmaPlus = G4SigmaPlus::SigmaPlus();
G4ParticleDefinition* aXiMinus = G4XiMinus::XiMinus();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -772,7 +772,7 @@
G4ParticleDefinition* aSigmaMinus = G4SigmaMinus::SigmaMinus();
G4ParticleDefinition* aXiZero = G4XiZero::XiZero();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -861,7 +861,7 @@
G4ParticleDefinition* aSigmaPlus = G4SigmaPlus::SigmaPlus();
G4ParticleDefinition* aXiMinus = G4XiMinus::XiMinus();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -949,7 +949,7 @@
G4ParticleDefinition* aSigmaMinus = G4SigmaMinus::SigmaMinus();
G4ParticleDefinition* aXiZero = G4XiZero::XiZero();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -1035,7 +1035,7 @@
G4ParticleDefinition* aXiMinus = G4XiMinus::XiMinus();
G4ParticleDefinition* aXiZero = G4XiZero::XiZero();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
@@ -1136,7 +1136,7 @@
G4ParticleDefinition* aXiMinus = G4XiMinus::XiMinus();
G4ParticleDefinition* aXiZero = G4XiZero::XiZero();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
G4DynamicParticle* targetParticle = targetNucleus.ReturnTargetParticle();
+65 -15
View File
@@ -37,6 +37,7 @@
// Chr. Volcker, 10-Nov-1997: new methods and class variables.
// HPW added utilities for low energy neutron transport. (12.04.1998)
// M.G. Pia, 2 Oct 1998: modified GetFermiMomentum to avoid memory leaks
// G.Folger, spring 2010: add integer A/Z interface
#include "G4Nucleus.hh"
#include "G4NucleiProperties.hh"
@@ -44,6 +45,7 @@
#include "G4HadronicException.hh"
G4Nucleus::G4Nucleus()
: theA(0), theZ(0), aEff(0.0), zEff(0)
{
pnBlackTrackEnergy = 0.0;
dtaBlackTrackEnergy = 0.0;
@@ -68,6 +70,19 @@ G4Nucleus::G4Nucleus( const G4double A, const G4double Z )
theTemp = 293.16*kelvin;
}
G4Nucleus::G4Nucleus( const G4int A, const G4int Z )
{
SetParameters( A, Z );
pnBlackTrackEnergy = 0.0;
dtaBlackTrackEnergy = 0.0;
pnBlackTrackEnergyfromAnnihilation = 0.0;
dtaBlackTrackEnergyfromAnnihilation = 0.0;
excitationEnergy = 0.0;
momentum = G4ThreeVector(0.,0.,0.);
fermiMomentum = 1.52*hbarc/fermi;
theTemp = 293.16*kelvin;
}
G4Nucleus::G4Nucleus( const G4Material *aMaterial )
{
ChooseParameters( aMaterial );
@@ -135,31 +150,59 @@ G4ReactionProduct G4Nucleus::GetThermalNucleus(G4double targetMass, G4double tem
G4Nucleus::ChooseParameters( const G4Material *aMaterial )
{
G4double random = G4UniformRand();
G4double sum = 0;
G4double sum = aMaterial->GetTotNbOfAtomsPerVolume();
const G4ElementVector *theElementVector = aMaterial->GetElementVector();
unsigned int i;
for(i=0; i<aMaterial->GetNumberOfElements(); ++i )
G4double running(0);
G4Element* element(0);
for(unsigned int i=0; i<aMaterial->GetNumberOfElements(); ++i )
{
sum += aMaterial->GetAtomicNumDensityVector()[i];
}
G4double running = 0;
for(i=0; i<aMaterial->GetNumberOfElements(); ++i )
{
running += aMaterial->GetAtomicNumDensityVector()[i];
if( running/sum > random ) {
aEff = (*theElementVector)[i]->GetA()*mole/g;
zEff = (*theElementVector)[i]->GetZ();
running += aMaterial->GetVecNbOfAtomsPerVolume()[i];
if( running > random*sum ) {
element=(*theElementVector)[i];
break;
}
}
if ( element->GetNumberOfIsotopes() > 0 ) {
G4double randomAbundance = G4UniformRand();
G4double sumAbundance = element->GetRelativeAbundanceVector()[0];
unsigned int iso=0;
while ( iso < element->GetNumberOfIsotopes() &&
sumAbundance < randomAbundance ) {
++iso;
sumAbundance += element->GetRelativeAbundanceVector()[iso];
}
theA=element->GetIsotope(iso)->GetN();
theZ=element->GetIsotope(iso)->GetZ();
aEff=theA;
zEff=theZ;
} else {
aEff = element->GetN();
zEff = element->GetZ();
theZ = G4int(zEff + 0.5);
theA = G4int(aEff + 0.5);
}
}
void
G4Nucleus::SetParameters( const G4double A, const G4double Z )
{
G4int myZ = G4int(Z + 0.5);
G4int myA = G4int(A + 0.5);
if( myA<1 || myZ<0 || myZ>myA )
theZ = G4int(Z + 0.5);
theA = G4int(A + 0.5);
if( theA<1 || theZ<0 || theZ>theA )
{
throw G4HadronicException(__FILE__, __LINE__,
"G4Nucleus::SetParameters called with non-physical parameters");
}
aEff = A; // atomic weight
zEff = Z; // atomic number
}
void
G4Nucleus::SetParameters( const G4int A, const G4int Z )
{
theZ = Z;
theA = A;
if( theA<1 || theZ<0 || theZ>theA )
{
throw G4HadronicException(__FILE__, __LINE__,
"G4Nucleus::SetParameters called with non-physical parameters");
@@ -188,6 +231,13 @@ G4ReactionProduct G4Nucleus::GetThermalNucleus(G4double targetMass, G4double tem
return G4NucleiProperties::GetNuclearMass(A, Z);
}
G4double
G4Nucleus::AtomicMass( const G4int A, const G4int Z ) const
{
// Now returns (atomic mass - electron masses)
return G4NucleiProperties::GetNuclearMass(A, Z);
}
G4double
G4Nucleus::GetThermalPz( const G4double mass, const G4double temp ) const
{
@@ -183,8 +183,8 @@
currentParticle.SetMomentum( m );
veryForward = true;
}
const G4double atomicWeight = targetNucleus.GetN();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicWeight = G4double(targetNucleus.GetA_asInt());
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
const G4double protonMass = aProton->GetPDGMass()/MeV;
if (originalIncident->GetDefinition()->GetParticleSubType() == "kaon"
@@ -1123,9 +1123,9 @@
numberofFinalStateNucleons = std::max(1, numberofFinalStateNucleons);
G4int PinNucleus = std::max(0,
G4int(targetNucleus.GetZ()) - protonsInFinalState);
targetNucleus.GetZ_asInt() - protonsInFinalState);
G4int NinNucleus = std::max(0,
G4int(targetNucleus.GetN()-targetNucleus.GetZ()) - neutronsInFinalState);
targetNucleus.GetN_asInt() - neutronsInFinalState);
pseudoParticle[3].SetMomentum( 0.0, 0.0, pOriginal*GeV );
pseudoParticle[3].SetMass( mOriginal*GeV );
@@ -1355,8 +1355,8 @@
G4double eAvailable = cmEnergy - mOriginal - targetMass;
for (G4int i = 0; i < vecLen; i++) eAvailable -= vec[i]->GetMass()/GeV;
const G4double atomicWeight = targetNucleus.GetN();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicWeight = G4double(targetNucleus.GetA_asInt());
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
const G4double pOriginal = modifiedOriginal.GetTotalMomentum()/GeV;
G4ParticleDefinition *aPiMinus = G4PionMinus::PionMinus();
@@ -1501,8 +1501,8 @@
veryForward = true;
}
const G4double atomicWeight = targetNucleus.GetN();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicWeight = G4double(targetNucleus.GetA_asInt());
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
//
// particles have been distributed in forward and backward hemispheres
// in center of mass system of the hadron nucleon interaction
@@ -2032,9 +2032,9 @@
numberofFinalStateNucleons = std::max(1, numberofFinalStateNucleons);
G4int PinNucleus = std::max(0,
G4int(targetNucleus.GetZ()) - protonsInFinalState);
targetNucleus.GetZ_asInt() - protonsInFinalState);
G4int NinNucleus = std::max(0,
G4int(targetNucleus.GetN()-targetNucleus.GetZ()) - neutronsInFinalState);
targetNucleus.GetN_asInt() - neutronsInFinalState);
//
// for various reasons, the energy balance is not sufficient,
// check that, energy balance, angle of final system, etc.
@@ -2269,7 +2269,7 @@
G4double targetMass = targetParticle.GetDefinition()->GetPDGMass()/GeV;
targetMass = targetParticle.GetMass()/GeV;
const G4double atomicWeight = targetNucleus.GetN();
const G4double atomicWeight = G4double(targetNucleus.GetA_asInt());
G4double etCurrent = currentParticle.GetTotalEnergy()/GeV;
G4double pCurrent = currentParticle.GetTotalMomentum()/GeV;
@@ -2429,9 +2429,9 @@
G4int neutronsInFinalState = finalStateNucleons.second;
G4int PinNucleus = std::max(0,
G4int(targetNucleus.GetZ()) - protonsInFinalState);
targetNucleus.GetZ_asInt() - protonsInFinalState);
G4int NinNucleus = std::max(0,
G4int(targetNucleus.GetN()-targetNucleus.GetZ()) - neutronsInFinalState);
targetNucleus.GetN_asInt() - neutronsInFinalState);
// DEBUGGING --> DumpFrames::DumpFrame(vec, vecLen);
if( atomicWeight >= 1.5 )
@@ -2819,7 +2819,7 @@
// Rotate in direction of z-axis, this does disturb in some way our
// inclusive distributions, but it is necessary for momentum conservation
//
const G4double atomicWeight = targetNucleus.GetN();
const G4double atomicWeight = G4double(targetNucleus.GetA_asInt());
const G4double logWeight = std::log(atomicWeight);
G4ParticleDefinition *aPiMinus = G4PionMinus::PionMinus();
@@ -3095,8 +3095,8 @@
G4ParticleDefinition *anAlpha = G4Alpha::Alpha();
const G4double ekOriginal = modifiedOriginal.GetKineticEnergy()/MeV;
const G4double atomicWeight = targetNucleus.GetN();
const G4double atomicNumber = targetNucleus.GetZ();
const G4double atomicWeight = G4double(targetNucleus.GetA_asInt());
const G4double atomicNumber = G4double(targetNucleus.GetZ_asInt());
const G4double ika1 = 3.6;
const G4double ika2 = 35.56;
@@ -3835,7 +3835,7 @@
if( currentParticle.GetDefinition() == aNeutron )
{
const G4double A = targetNucleus.GetN(); // atomic weight
const G4double A = G4double(targetNucleus.GetA_asInt()); // atomic weight
if( G4UniformRand() > ((A-1.0)/230.0)*((A-1.0)/230.0) )
qval[0] = 0.0;
if( G4UniformRand() >= currentKinetic/7.9254*A )