Import Geant4 3.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:55:53 +02:00
parent e7d7193284
commit cfcb558cfe
3050 changed files with 91703 additions and 48310 deletions
@@ -0,0 +1,63 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4EnergyLossMessenger.hh,v 1.3 2000/11/09 15:52:23 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// Class Description:
// This is a messenger class to interface to exchange information
// between G4VEnergyLoss and UI.
//
// /process/eLoss/ directory
//
// Commands :
//
// rndmStep * Randomize the proposed step by eLoss (false/true)
// fluct * Switch true/false the energy loss fluctuations
// subsec * Switch true/false the subcutoff generation
// minsubsec * Set the min. cut for subcutoff delta in range
// StepFunction * Set the energy loss step limitation parameters
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#ifndef G4EnergyLossMessenger_h
#define G4EnergyLossMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class G4UIdirectory;
class G4UIcommand;
class G4UIcmdWithABool;
class G4UIcmdWithADoubleAndUnit;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
class G4EnergyLossMessenger: public G4UImessenger
{
public: // with description
G4EnergyLossMessenger();
~G4EnergyLossMessenger();
void SetNewValue(G4UIcommand*, G4String);
private:
G4UIdirectory* eLossDirectory;
G4UIcmdWithABool* RndmStepCmd;
G4UIcmdWithABool* EnlossFlucCmd;
G4UIcmdWithABool* SubSecCmd;
G4UIcmdWithADoubleAndUnit* MinSubSecCmd;
G4UIcommand* StepFuncCmd;
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4EnergyLossTables.hh,v 1.9 1999/12/15 14:52:01 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4EnergyLossTables.hh,v 1.10 2000/11/04 16:47:28 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// $Id:
//
@@ -98,42 +98,42 @@ public:
static G4double GetDEDX(
const G4ParticleDefinition *aParticle,
G4double KineticEnergy,
G4Material *aMaterial);
const G4Material *aMaterial);
static G4double GetRange(
const G4ParticleDefinition *aParticle,
G4double KineticEnergy,
G4Material *aMaterial);
const G4Material *aMaterial);
static G4double GetLabTime(
const G4ParticleDefinition *aParticle,
G4double KineticEnergy,
G4Material *aMaterial);
const G4Material *aMaterial);
static G4double GetDeltaLabTime(
const G4ParticleDefinition *aParticle,
G4double KineticEnergyStart,
G4double KineticEnergyEnd,
G4Material *aMaterial);
const G4Material *aMaterial);
static G4double GetProperTime(
const G4ParticleDefinition *aParticle,
G4double KineticEnergy,
G4Material *aMaterial);
const G4Material *aMaterial);
static G4double GetDeltaProperTime(
const G4ParticleDefinition *aParticle,
G4double KineticEnergyStart,
G4double KineticEnergyEnd,
G4Material *aMaterial);
const G4Material *aMaterial);
static G4double GetPreciseDEDX(
const G4ParticleDefinition *aParticle,
G4double KineticEnergy,
G4Material *aMaterial);
const G4Material *aMaterial);
static G4double GetPreciseRangeFromEnergy(
const G4ParticleDefinition *aParticle,
G4double KineticEnergy,
G4Material *aMaterial);
const G4Material *aMaterial);
static G4double GetPreciseEnergyFromRange(
const G4ParticleDefinition *aParticle,
G4double range,
G4Material *aMaterial);
const G4Material *aMaterial);
// to be called only by energy loss processes
static void Register(
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4EnergyLossTables.icc,v 1.11 2000/05/23 14:24:47 urban Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4EnergyLossTables.icc,v 1.12 2000/11/04 16:47:28 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// $Id:
// Inline members of the G4EnergyLossTables class
@@ -118,7 +118,7 @@ inline G4EnergyLossTablesHelper G4EnergyLossTables::GetTables(
inline G4double G4EnergyLossTables::GetDEDX(
const G4ParticleDefinition *aParticle,
G4double KineticEnergy,
G4Material *aMaterial)
const G4Material *aMaterial)
{
if(aParticle != lastParticle)
{
@@ -162,7 +162,7 @@ inline G4double G4EnergyLossTables::GetDEDX(
inline G4double G4EnergyLossTables::GetLabTime(
const G4ParticleDefinition *aParticle,
G4double KineticEnergy,
G4Material *aMaterial)
const G4Material *aMaterial)
{
if(aParticle != lastParticle)
{
@@ -205,7 +205,7 @@ inline G4double G4EnergyLossTables::GetDeltaLabTime(
const G4ParticleDefinition *aParticle,
G4double KineticEnergyStart,
G4double KineticEnergyEnd,
G4Material *aMaterial)
const G4Material *aMaterial)
{
if(aParticle != lastParticle)
{
@@ -280,7 +280,7 @@ inline G4double G4EnergyLossTables::GetDeltaLabTime(
inline G4double G4EnergyLossTables::GetProperTime(
const G4ParticleDefinition *aParticle,
G4double KineticEnergy,
G4Material *aMaterial)
const G4Material *aMaterial)
{
if(aParticle != lastParticle)
{
@@ -323,7 +323,7 @@ inline G4double G4EnergyLossTables::GetDeltaProperTime(
const G4ParticleDefinition *aParticle,
G4double KineticEnergyStart,
G4double KineticEnergyEnd,
G4Material *aMaterial)
const G4Material *aMaterial)
{
if(aParticle != lastParticle)
{
@@ -398,7 +398,7 @@ inline G4double G4EnergyLossTables::GetDeltaProperTime(
inline G4double G4EnergyLossTables::GetRange(
const G4ParticleDefinition *aParticle,
G4double KineticEnergy,
G4Material *aMaterial)
const G4Material *aMaterial)
{
if(aParticle != lastParticle)
{
@@ -445,7 +445,7 @@ inline G4double G4EnergyLossTables::GetRange(
inline G4double G4EnergyLossTables::GetPreciseEnergyFromRange(
const G4ParticleDefinition *aParticle,
G4double range,
G4Material *aMaterial)
const G4Material *aMaterial)
// it returns the value of the kinetic energy for a given range
{
if( aParticle != lastParticle)
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4IMultipleScattering.hh,v 1.1 2000/03/20 14:44:03 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// $Id:
// --------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4IMultipleScattering.icc,v 1.1 2000/03/20 14:44:03 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// $Id:
// -------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4MultipleScattering.hh,v 1.1 2000/03/20 14:44:04 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// $Id:
// --------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4MultipleScattering.icc,v 1.2 2000/03/24 08:08:08 urban Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// $Id:
// -------------------------------------------------------------
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VEnergyLoss.hh,v 1.5 2000/05/23 14:24:48 urban Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4VEnergyLoss.hh,v 1.9 2000/10/30 06:49:46 urban Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------
@@ -43,6 +43,7 @@
#include "G4PhysicsLogVector.hh"
#include "G4PhysicsLinearVector.hh"
class G4EnergyLossMessenger;
class G4VEnergyLoss : public G4VContinuousDiscreteProcess
{
@@ -77,7 +78,9 @@ class G4VEnergyLoss : public G4VContinuousDiscreteProcess
G4double GetLossWithFluct(const G4DynamicParticle* aParticle,
G4Material* aMaterial,
G4double threshold);
G4double ChargeSquare,
G4double MeanLoss,
G4double step);
private:
@@ -112,6 +115,14 @@ class G4VEnergyLoss : public G4VContinuousDiscreteProcess
// switch on/off the generation of the subcutoff secondaries
// ( default = subcutoff secondary generation )
static void SetMinDeltaCutInRange(G4double value)
{MinDeltaCutInRange = value;
setMinDeltaCutInRange = true ;}
// sets minimal cut value for the subcutoff secondaries
// (i.e. the kinetic energy of these secondaries can not be
// smaller than the energy corresponds to MinDeltaCutInRange).
static void SetStepFunction (G4double c1, G4double c2)
{dRoverRange = c1; finalRange = c2;
c1lim=dRoverRange ;
@@ -215,7 +226,13 @@ class G4VEnergyLoss : public G4VContinuousDiscreteProcess
static G4bool EnlossFlucFlag; // control the energy loss fluctuation
static G4bool subSecFlag; // control the generation of subcutoff secondaries
static G4double MinDeltaCutInRange; // minimum cut for delta rays
static G4double* MinDeltaEnergy ;
static G4bool* LowerLimitForced ;
static G4bool setMinDeltaCutInRange ;
static G4EnergyLossMessenger* ELossMessenger;
};
#endif