Import Geant4 3.0.0 source tree
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user