Import Geant4 10.7.0 source tree
This commit is contained in:
@@ -13,11 +13,17 @@ code and to keep track of all tags.
|
||||
---------------------------------------------------------------
|
||||
* Please list in reverse chronological order (last date on top)
|
||||
---------------------------------------------------------------
|
||||
|
||||
22 July 2020 - V.Ivanchenko (hadr-cohe-V10-06-03)
|
||||
---------------------------------------------------------------
|
||||
- G4HadronElastic - added numerical protection against precision lost
|
||||
addressing problem #2253
|
||||
|
||||
30 April 2020 - B. Morgan (hadr-cohe-V10-06-02)
|
||||
---------------------------------------------------------------
|
||||
- Remove obsolete GRANULAR_DEPENDENCIES entries
|
||||
|
||||
18 January 2019 - V.Ivanchenko (hadr-cohe-V10-06-01)
|
||||
18 January 2020 - V.Ivanchenko (hadr-cohe-V10-06-01)
|
||||
---------------------------------------------------------------
|
||||
- G4ElasticHadrNucleusHE - for pi- and Z>1 reuse data structure
|
||||
computed for pi+ in order to reduce memory and CPU at
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# Package: Geant4.src.G4processes.G4hadronic.G4hadronic_models.G4hadronic_coherent_elastic
|
||||
#
|
||||
# Sources description for a library.
|
||||
# Lists the sources and headers of the code explicitely.
|
||||
# Lists the sources and headers of the code explicitly.
|
||||
# Lists include paths needed.
|
||||
# Lists the internal granular and global dependencies of the library.
|
||||
# Source specific properties should be added at the end.
|
||||
@@ -14,35 +14,9 @@
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# 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/HEPNumerics/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/cuts/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/cross_sections/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/management/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/models/management/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/processes/hadronic/util/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_coherent_elastic
|
||||
HEADERS
|
||||
G4AntiNuclElastic.hh
|
||||
|
||||
@@ -208,6 +208,7 @@ G4HadronElastic::SampleInvariantT(const G4ParticleDefinition* part,
|
||||
const G4double plabLowLimit = 400.0*CLHEP::MeV;
|
||||
const G4double GeV2 = GeV*GeV;
|
||||
const G4double z07in13 = std::pow(0.7, 0.3333333333);
|
||||
const G4double numLimit = 18.;
|
||||
|
||||
G4int pdg = std::abs(part->GetPDGEncoding());
|
||||
G4double tmax = pLocalTmax/GeV2;
|
||||
@@ -255,8 +256,8 @@ G4HadronElastic::SampleInvariantT(const G4ParticleDefinition* part,
|
||||
cc = 0.2*g4pow->powZ(A,0.4)/dd;//1:0.4 --- 2: 0.4
|
||||
}
|
||||
}
|
||||
G4double q1 = 1.0 - G4Exp(-bb*tmax);
|
||||
G4double q2 = 1.0 - G4Exp(-dd*tmax);
|
||||
G4double q1 = 1.0 - G4Exp(-std::min(bb*tmax, numLimit));
|
||||
G4double q2 = 1.0 - G4Exp(-std::min(dd*tmax, numLimit));
|
||||
G4double s1 = q1*aa;
|
||||
G4double s2 = q2*cc;
|
||||
if((s1 + s2)*G4UniformRand() < s2) {
|
||||
|
||||
Reference in New Issue
Block a user