Import Geant4 11.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2021-12-10 14:46:44 +01:00
committed by Ben Morgan
parent 6399a014b6
commit 80e2389dd8
3932 changed files with 202519 additions and 246221 deletions
@@ -16,6 +16,11 @@ committal in the SVN repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
4 August 2021 Alberto Ribon channeling-V10-07-01
-----------------------------------------------------
- G4Channeling, G4ChannelingOptrChangeCrossSection : migrated to the
new version of G4PhysicsModelCatalog
16 April 2021 Ben Morgan channeling-V10-07-00
-----------------------------------------------------
- Migrate build to modular CMake API
@@ -32,20 +32,17 @@
#include "G4TouchableHistory.hh"
#include "G4SystemOfUnits.hh"
#include "G4LambdacPlus.hh"
#include "G4PhysicsModelCatalog.hh"
G4Channeling::G4Channeling():
G4VDiscreteProcess("channeling"),
fChannelingID(-1),
fChannelingID(G4PhysicsModelCatalog::GetModelID("model_channeling")),
fTimeStepMin(0.),
fTimeStepMax(0.),
fTransverseVariationMax(2.E-2 * CLHEP::angstrom),
k010(G4ThreeVector(0.,1.,0.)){
fChannelingID = G4PhysicsModelCatalog::GetIndex("channeling");
if(fChannelingID == -1){
fChannelingID = G4PhysicsModelCatalog::Register("channeling");
}
fSpin = G4ThreeVector(0.,0.,0.);
}
k010(G4ThreeVector(0.,1.,0.)),
fSpin(G4ThreeVector(0.,0.,0.))
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -37,13 +37,14 @@
#include "G4ChannelingTrackData.hh"
#include "G4EmProcessSubType.hh"
#include "G4PhysicsModelCatalog.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4ChannelingOptrChangeCrossSection::G4ChannelingOptrChangeCrossSection(G4String particleName,
G4String name)
:G4VBiasingOperator(name),
fChannelingID(-1),
fChannelingID(G4PhysicsModelCatalog::GetModelID("model_channeling")),
fSetup(true){
fParticleToBias = G4ParticleTable::GetParticleTable()->FindParticle(particleName);
@@ -181,9 +182,6 @@ G4ChannelingOptrChangeCrossSection::ProposeOccurenceBiasingOperation(const G4Tra
G4double analogXS = 1./analogInteractionLength;
if(fChannelingID==-1){
fChannelingID = G4PhysicsModelCatalog::GetIndex("channeling");
}
G4ChannelingTrackData* trackdata =
(G4ChannelingTrackData*)(track->GetAuxiliaryTrackInformation(fChannelingID));
if(trackdata==nullptr) return 0;
-38
View File
@@ -1,38 +0,0 @@
Contains processes for phonon propagation and interaction in materials.
G4LatticeManager: Singleton (TLS) for logical and physical lattices
associated with materials and volumes.
G4LatticeReader: Driver to create logical lattices by reading in
configuration files and velocity map tables. NOTE: This class will
be moved to source/materials/ once Release 10.0 is deployed.
The lattice data files should be stored under $G4LATTICEDATA (set to
"./CrystalMaps" by default, to support the extended example). The
configuration and velocity map files for a given material should be stored
in a subdirectory with that material's name (e.g., "Ge").
Documentation for the lattice configuration files will be expanded in the
future.
G4VPhononProcess: Virtual base class for all processes below, providing
some utility functions.
G4PhononDownconversion: Process to convert single longitudinal phonons
either into pairs of two transverse phonons, or to emit a transverse
phonon.
G4PhononReflection: Placeholder process to reflect phonons off of crystal
surfaces. Currently phonons are absorbed, or converted to hits.
G4PhononScattering: Process to scatter phonons off the surrounding
lattice. Currently handles "transportation" as well, but each
scatter destroys the phonon and creates a new one.
G4PhononPolarization: Enum with conversion functions to map the three
phonon particle definitions onto internal codes (L=0, TS=1, TF=2).
G4PhononTrackMap: Singleton (TLS) map file to connect tracks with
wavevectors. for temporary use until wavevector is added to G4Track
as a data member, after Release 10.0.
@@ -113,9 +113,9 @@ G4bool G4LatticeReader::OpenFile(const G4String& filename) {
}
// Extract path from filename to use in finding .ssv map files
size_t lastdir = filepath.last('/');
size_t lastdir = filepath.rfind('/');
if (lastdir == std::string::npos) fMapPath = "."; // No path at all
else fMapPath = filepath(0,lastdir);
else fMapPath = filepath.substr(0,lastdir);
return true;
}
@@ -138,8 +138,8 @@ G4bool G4LatticeReader::ProcessToken() {
if (verboseLevel>1) G4cout << " ProcessToken " << fToken << G4endl;
fToken.toLower();
if (fToken.contains('#')) return SkipComments(); // Ignore rest of line
G4StrUtil::to_lower(fToken);
if (G4StrUtil::contains(fToken, '#')) return SkipComments(); // Ignore rest of line
if (fToken == "vdir") return ProcessNMap(); // Direction vector map
if (fToken == "vg") return ProcessMap(); // Velocity magnitudes
if (fToken == "dyn") return ProcessConstants(); // Dynamical parameters
@@ -214,7 +214,7 @@ G4bool G4LatticeReader::ReadMapInfo() {
fMap = fMapPath + "/" + fMap;
// Convert string code (L,ST,LT) to polarization index
fsPol.toLower();
G4StrUtil::to_lower(fsPol);
fPol = ( (fsPol=="l") ? 0 : // Longitudinal
(fsPol=="st") ? 1 : // Slow-transverse
(fsPol=="ft") ? 2 : // Fast-transverse