Import Geant4 11.0.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2021-06-25 16:12:29 +02:00
parent c968e26a39
commit 6399a014b6
4200 changed files with 207479 additions and 237366 deletions
@@ -1,17 +0,0 @@
#------------------------------------------------------------------------------
# CMakeLists.txt
# Module : G4emdna
# Package: Geant4.src.G4processes.G4electromagnetic.G4emdna
#
# CMakeLists.txt for building a single granular library.
#
# Generated on : 24/9/2010
#
#
#------------------------------------------------------------------------------
if(GEANT4_BUILD_GRANULAR_LIBS)
include(Geant4MacroLibraryTargets)
GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake)
endif()
@@ -33,7 +33,7 @@ CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/processes/electromagnetic/dna/molecules/management/include \
-I$(G4BASE)/processes/electromagnetic/dna/molecules/types/include \
-I$(G4BASE)/processes/electromagnetic/dna/management/include \
-I$(G4BASE)/analysis/g4tools/include \
-I$(G4BASE)/externals/g4tools/include \
-I$(G4BASE)/analysis/management/include
include $(G4INSTALL)/config/common.gmk
@@ -0,0 +1,55 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
#ifndef G4IRTUtils_hh
#define G4IRTUtils_hh
#include "globals.hh"
#include <memory>
class G4ErrorFunction;
class G4IRTUtils {
public:
G4IRTUtils() = default;
~G4IRTUtils() = default;
static G4double EffectiveDistance(const G4double& rc,
const G4double& r0);
static G4double GetKact(const G4double& obs,
const G4double& dif)
{
return (obs == 0 || dif == 0) ? 0 : dif * obs/(dif - obs);
}
static G4double GetRCutOff();
static G4double GetRCutOff(G4double tCutOff);
static G4double GetDNADistanceCutOff();
};
#endif
@@ -1,106 +1,75 @@
#------------------------------------------------------------------------------
# sources.cmake
# Module : G4emlowenergy
# Package: Geant4.src.G4processes.G4electromagnetic.G4emlowenergy
#
# Sources description for a library.
# 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.
#
# Generated on : 24/9/2010
#
#
#------------------------------------------------------------------------------
# - G4emdna-utils module build definition
#
# Define the Geant4 Module.
#
GEANT4_DEFINE_MODULE(NAME G4emdna-utils
HEADERS
G4DNAChemistryManager.hh
G4DNACPA100LogLogInterpolation.hh
G4DNACPA100WaterExcitationStructure.hh
G4DNACPA100WaterIonisationStructure.hh
G4DNACrossSectionDataSet.hh
G4DNADamage.hh
G4DNAGenericIonsManager.hh
G4DNAIons.hh
G4DNAMolecularMaterial.hh
G4DNAMolecularReactionTable.hh
G4DNAEmfietzoglouWaterExcitationStructure.hh
G4DNAEmfietzoglouWaterIonisationStructure.hh
G4DNAPTBIonisationStructure.hh
G4DNARevertProbability.hh
G4DNAWaterExcitationStructure.hh
G4DNAWaterIonisationStructure.hh
G4ErrorFunction.hh
G4MoleculeGun.hh
G4MoleculeGunMessenger.hh
G4ReactionTableMessenger.hh
G4VDNAReactionModel.hh
G4VUserChemistryList.hh
# physchemIO
G4VPhysChemIO.hh
G4PhysChemIO.hh
SOURCES
G4DNAChemistryManager.cc
G4DNACPA100LogLogInterpolation.cc
G4DNACPA100WaterExcitationStructure.cc
G4DNACPA100WaterIonisationStructure.cc
G4DNACrossSectionDataSet.cc
G4DNADamage.cc
G4DNAGenericIonsManager.cc
G4DNAIons.cc
G4DNAMolecularMaterial.cc
G4DNAMolecularReactionTable.cc
G4DNAEmfietzoglouWaterExcitationStructure.cc
G4DNAEmfietzoglouWaterIonisationStructure.cc
G4DNAPTBIonisationStructure.cc
G4DNAWaterExcitationStructure.cc
G4DNAWaterIonisationStructure.cc
G4ErrorFunction.cc
G4MoleculeGun.cc
G4MoleculeGunMessenger.cc
G4ReactionTableMessenger.cc
G4VDNAReactionModel.cc
G4VUserChemistryList.cc
# physchemIO
G4VPhysChemIO.cc
G4PhysChemIO.cc
GRANULAR_DEPENDENCIES
G4analysismng
G4baryons
G4bosons
G4cuts
G4emlowenergy
G4emstandard
G4emutils
G4geometrymng
G4globman
G4hepnumerics
G4intercoms
G4ions
G4leptons
G4materials
G4mesons
G4partman
G4procman
G4track
# G4emdna-man
# G4emdna-molman
# G4emdna-moltypes
GLOBAL_DEPENDENCIES
G4analysis
G4geometry
G4global
G4intercoms
G4materials
G4particles
G4track
LINK_LIBRARIES
)
# List any source specific properties here
geant4_add_module(G4emdna-utils
PUBLIC_HEADERS
G4DNAChemistryManager.hh
G4DNACPA100LogLogInterpolation.hh
G4DNACPA100WaterExcitationStructure.hh
G4DNACPA100WaterIonisationStructure.hh
G4DNACrossSectionDataSet.hh
G4DNADamage.hh
G4DNAGenericIonsManager.hh
G4DNAIons.hh
G4DNAMolecularMaterial.hh
G4DNAMolecularReactionTable.hh
G4DNAEmfietzoglouWaterExcitationStructure.hh
G4DNAEmfietzoglouWaterIonisationStructure.hh
G4DNAPTBIonisationStructure.hh
G4DNARevertProbability.hh
G4DNAWaterExcitationStructure.hh
G4DNAWaterIonisationStructure.hh
G4ErrorFunction.hh
G4MoleculeGun.hh
G4MoleculeGunMessenger.hh
G4ReactionTableMessenger.hh
G4VDNAReactionModel.hh
G4VUserChemistryList.hh
# physchemIO
G4VPhysChemIO.hh
G4PhysChemIO.hh
G4IRTUtils.hh
SOURCES
G4DNAChemistryManager.cc
G4DNACPA100LogLogInterpolation.cc
G4DNACPA100WaterExcitationStructure.cc
G4DNACPA100WaterIonisationStructure.cc
G4DNACrossSectionDataSet.cc
G4DNADamage.cc
G4DNAGenericIonsManager.cc
G4DNAIons.cc
G4DNAMolecularMaterial.cc
G4DNAMolecularReactionTable.cc
G4DNAEmfietzoglouWaterExcitationStructure.cc
G4DNAEmfietzoglouWaterIonisationStructure.cc
G4DNAPTBIonisationStructure.cc
G4DNAWaterExcitationStructure.cc
G4DNAWaterIonisationStructure.cc
G4ErrorFunction.cc
G4MoleculeGun.cc
G4MoleculeGunMessenger.cc
G4ReactionTableMessenger.cc
G4VDNAReactionModel.cc
G4VUserChemistryList.cc
# physchemIO
G4VPhysChemIO.cc
G4PhysChemIO.cc
G4IRTUtils.cc)
geant4_module_link_libraries(G4emdna-utils
PUBLIC
G4emdna-man
G4emdna-molman
G4emlowenergy
G4globman
G4partman
PRIVATE
G4analysismng
G4emdna-moltypes
G4geometrymng
G4heprandom
G4intercoms
G4ions
G4materials
G4procman
G4track)
@@ -0,0 +1,72 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
#include "G4IRTUtils.hh"
#include "globals.hh"
#include "G4SystemOfUnits.hh"
#include "G4ErrorFunction.hh"
G4double G4IRTUtils::EffectiveDistance(const G4double& rc,
const G4double& r0)
{
return r0 == 0 ? 0 : - rc / (1 - std::exp( rc / r0 ) );
}
G4double G4IRTUtils::GetRCutOff()
{
G4double tCutOff = 1000 * ns;
G4double probabilityOfReaction = 0.01;
G4double maximumReactionRadius = 1.45*CLHEP::nm;//??
G4double maximumRelativeDiffusionCoefficient = 2.0*9.46e9 *CLHEP::nm*CLHEP::nm/CLHEP::s;//??
G4double erfcInv = G4ErrorFunction::erfcInv(probabilityOfReaction);
return maximumReactionRadius + 2.0 *
std::sqrt(maximumRelativeDiffusionCoefficient * tCutOff) * erfcInv;
}
G4double G4IRTUtils::GetRCutOff(G4double tCutOff)
{
G4double probabilityOfReaction = 0.01;
G4double maximumReactionRadius = 1.45*CLHEP::nm;//??
G4double maximumRelativeDiffusionCoefficient = 2.0*9.46e9 *CLHEP::nm*CLHEP::nm/CLHEP::s;//??
G4double erfcInv = G4ErrorFunction::erfcInv(probabilityOfReaction);
return maximumReactionRadius + 2.0 *
std::sqrt(maximumRelativeDiffusionCoefficient * tCutOff) * erfcInv;
}
G4double G4IRTUtils::GetDNADistanceCutOff()
{
G4double tCutOff = 100 * ps;
G4double probabilityOfReaction = 0.01;
G4double maximumReactionRadius = 1.45*CLHEP::nm;//??
G4double maximumRelativeDiffusionCoefficient = 2.0*9.46e9 *CLHEP::nm*CLHEP::nm/CLHEP::s;//??
G4double erfcInv = G4ErrorFunction::erfcInv(probabilityOfReaction);
return maximumReactionRadius + 2.0 *
std::sqrt(maximumRelativeDiffusionCoefficient * tCutOff) * erfcInv;
}