Import Geant4 10.5.0 source tree

This commit is contained in:
Gabriele Cosmo
2018-12-07 15:15:39 +01:00
parent 6aa23be517
commit db49709b53
11370 changed files with 187480 additions and 160142 deletions
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4EnergyLossForExtrapolator.cc 97392 2016-06-02 10:10:32Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -62,6 +61,10 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifdef G4MULTITHREADED
G4Mutex G4EnergyLossForExtrapolator::extrapolatorMutex = G4MUTEX_INITIALIZER;
#endif
G4TablesForExtrapolator* G4EnergyLossForExtrapolator::tables = nullptr;
G4EnergyLossForExtrapolator::G4EnergyLossForExtrapolator(G4int verb)
@@ -91,6 +94,24 @@ G4EnergyLossForExtrapolator::G4EnergyLossForExtrapolator(G4int verb)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G4EnergyLossForExtrapolator::~G4EnergyLossForExtrapolator()
{
if(tables) {
#ifdef G4MULTITHREADED
G4MUTEXLOCK(&extrapolatorMutex);
if (tables) {
#endif
delete tables;
tables = nullptr;
#ifdef G4MULTITHREADED
}
G4MUTEXUNLOCK(&extrapolatorMutex);
#endif
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G4double
G4EnergyLossForExtrapolator::EnergyAfterStep(G4double kinEnergy,
G4double stepLength,
@@ -324,31 +345,25 @@ void G4EnergyLossForExtrapolator::Initialisation()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#include "G4AutoLock.hh"
namespace { G4Mutex G4EnergyLossForExtrapolatorMutex = G4MUTEX_INITIALIZER; }
void G4EnergyLossForExtrapolator::BuildTables()
{
G4AutoLock l(&G4EnergyLossForExtrapolatorMutex);
if(!tables) {
if(verbose > 0) {
G4cout << "### G4EnergyLossForExtrapolator::BuildTables for "
<< nmat << " materials Nbins= " << nbins
<< " Emin(MeV)= " << emin << " Emax(MeV)= " << emax << G4endl;
#ifdef G4MULTITHREADED
G4MUTEXLOCK(&extrapolatorMutex);
if (!tables) {
#endif
if(verbose > 0) {
G4cout << "### G4EnergyLossForExtrapolator::BuildTables for "
<< nmat << " materials Nbins= " << nbins
<< " Emin(MeV)= " << emin << " Emax(MeV)= " << emax << G4endl;
}
tables = new G4TablesForExtrapolator(verbose, nbins, emin, emax);
#ifdef G4MULTITHREADED
}
tables = new G4TablesForExtrapolator(verbose, nbins, emin, emax);
G4MUTEXUNLOCK(&extrapolatorMutex);
#endif
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G4EnergyLossForExtrapolator::~G4EnergyLossForExtrapolator()
{
G4AutoLock l(&G4EnergyLossForExtrapolatorMutex);
delete tables;
tables = nullptr;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4MuBetheBlochModel.cc 108424 2018-02-13 11:19:25Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4MuBremsstrahlung.cc 108424 2018-02-13 11:19:25Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -128,7 +127,7 @@ void G4MuBremsstrahlung::PrintInfo()
void G4MuBremsstrahlung::ProcessDescription(std::ostream& out) const
{
out << "<strong>Muon bremsstrahlung</strong>";
out << " Muon bremsstrahlung";
G4VEnergyLossProcess::ProcessDescription(out);
}
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4MuBremsstrahlungModel.cc 108424 2018-02-13 11:19:25Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4MuIonisation.cc 108424 2018-02-13 11:19:25Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -182,7 +181,7 @@ void G4MuIonisation::PrintInfo()
void G4MuIonisation::ProcessDescription(std::ostream& out) const
{
out << "<strong>Muon ionisation</strong>";
out << " Muon ionisation";
G4VEnergyLossProcess::ProcessDescription(out);
}
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4MuMultipleScattering.cc 108424 2018-02-13 11:19:25Z gcosmo $
//
// -----------------------------------------------------------------------------
//
@@ -80,24 +79,23 @@ void G4MuMultipleScattering::InitialiseProcess(const G4ParticleDefinition*)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void G4MuMultipleScattering::StreamProcessInfo(std::ostream& out,
G4String endOfLine) const
void G4MuMultipleScattering::StreamProcessInfo(std::ostream& out) const
{
out << " RangeFactor= " << RangeFactor()
<< ", step limit type: " << StepLimitType()
<< ", lateralDisplacement: " << LateralDisplasmentFlag()
<< ", polarAngleLimit(deg)= " << PolarAngleLimit()/degree
<< endOfLine;
<< G4endl;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void G4MuMultipleScattering::ProcessDescription(std::ostream& out) const
{
out << "<strong>"
"Muon multiple scattering</strong>. Simulates combined effects of <br>"
"elastic scattering at the end of the step, to save computing time. May<br>"
"be combined with Coulomb scattering in a 'mixed' scattering algorithm.";
out <<
" Muon multiple scattering. Simulates combined effects of elastic\n" <<
" scattering at the end of the step, to save computing time. May be\n" <<
" combined with Coulomb scattering in a 'mixed' scattering algorithm.";
G4VMultipleScattering::ProcessDescription(out);
}
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4MuPairProduction.cc 108424 2018-02-13 11:19:25Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -135,8 +134,7 @@ void G4MuPairProduction::InitialiseEnergyLossProcess(
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G4MuPairProduction::StreamProcessInfo(std::ostream& out,
G4String endOfLine) const
void G4MuPairProduction::StreamProcessInfo(std::ostream& out) const
{
G4ElementData* ed = EmModel()->GetElementData();
if(ed) {
@@ -147,7 +145,7 @@ void G4MuPairProduction::StreamProcessInfo(std::ostream& out,
<< "x" << pv->GetLengthX() << "; from "
<< exp(pv->GetY(0))/GeV << " GeV to "
<< exp(pv->GetY(pv->GetLengthY()-1))/TeV
<< " TeV " << endOfLine;
<< " TeV " << G4endl;
break;
}
}
@@ -158,7 +156,7 @@ void G4MuPairProduction::StreamProcessInfo(std::ostream& out,
void G4MuPairProduction::ProcessDescription(std::ostream& out) const
{
out << "<strong>Pair production</strong>";
out << " Pair production";
G4VEnergyLossProcess::ProcessDescription(out);
}
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4MuPairProductionModel.cc 110571 2018-05-30 13:06:17Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4TablesForExtrapolator.cc 75145 2013-10-28 18:34:48Z vnivanch $
//
//---------------------------------------------------------------------------
//
@@ -80,7 +79,7 @@ G4TablesForExtrapolator::G4TablesForExtrapolator(G4int verb, G4int bins,
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G4TablesForExtrapolator:: ~G4TablesForExtrapolator()
G4TablesForExtrapolator::~G4TablesForExtrapolator()
{
for(G4int i=0; i<nmat; i++) {delete couples[i];}
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4ePairProduction.cc 84953 2014-10-22 15:08:57Z vnivanch $
//
// -------------------------------------------------------------------
//
@@ -111,8 +110,7 @@ void G4ePairProduction::InitialiseEnergyLossProcess(
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void G4ePairProduction::StreamProcessInfo(std::ostream& out,
G4String endOfLine) const
void G4ePairProduction::StreamProcessInfo(std::ostream& out) const
{
G4ElementData* ed = EmModel(0)->GetElementData();
if(ed) {
@@ -123,7 +121,7 @@ void G4ePairProduction::StreamProcessInfo(std::ostream& out,
<< "x" << pv->GetLengthX() << "; from "
<< G4Exp(pv->GetY(0))/GeV << " GeV to "
<< G4Exp(pv->GetY(pv->GetLengthY()-1))/TeV
<< " TeV " << endOfLine;
<< " TeV " << G4endl;
break;
}
}
@@ -134,7 +132,7 @@ void G4ePairProduction::StreamProcessInfo(std::ostream& out,
void G4ePairProduction::ProcessDescription(std::ostream& out) const
{
out << "<strong>Pair production</strong>";
out << " Pair production";
G4VEnergyLossProcess::ProcessDescription(out);
}