Import Geant4 9.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:58:43 +02:00
parent 96c8bcd0af
commit b79225fb37
7544 changed files with 245407 additions and 91099 deletions
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Cerenkov.hh,v 1.9 2007/09/30 22:17:04 gum Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4Cerenkov.hh,v 1.10 2008/10/22 01:17:36 gum Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
////////////////////////////////////////////////////////////////////////
@@ -59,7 +59,7 @@
#include "G4ThreeVector.hh"
#include "G4ParticleMomentum.hh"
#include "G4Step.hh"
#include "G4VDiscreteProcess.hh"
#include "G4VProcess.hh"
#include "G4OpticalPhoton.hh"
#include "G4DynamicParticle.hh"
#include "G4Material.hh"
@@ -76,7 +76,7 @@
// Class Definition
/////////////////////
class G4Cerenkov : public G4VDiscreteProcess
class G4Cerenkov : public G4VProcess
{
private:
@@ -115,15 +115,50 @@ public: // With description
// Returns the discrete step limit and sets the 'StronglyForced'
// condition for the DoIt to be invoked at every step.
G4double PostStepGetPhysicalInteractionLength(const G4Track& aTrack,
G4double ,
G4ForceCondition* );
// Returns the discrete step limit and sets the 'StronglyForced'
// condition for the DoIt to be invoked at every step.
G4VParticleChange* PostStepDoIt(const G4Track& aTrack,
const G4Step& aStep);
// This is the method implementing the Cerenkov process.
// no operation in AtRestDoIt and AlongStepDoIt
virtual G4double AlongStepGetPhysicalInteractionLength(
const G4Track&,
G4double ,
G4double ,
G4double& ,
G4GPILSelection*
) { return -1.0; };
virtual G4double AtRestGetPhysicalInteractionLength(
const G4Track& ,
G4ForceCondition*
) { return -1.0; };
// no operation in AtRestDoIt and AlongStepDoIt
virtual G4VParticleChange* AtRestDoIt(
const G4Track& ,
const G4Step&
) {return 0;};
virtual G4VParticleChange* AlongStepDoIt(
const G4Track& ,
const G4Step&
) {return 0;};
void SetTrackSecondariesFirst(const G4bool state);
// If set, the primary particle tracking is interrupted and any
// produced Cerenkov photons are tracked next. When all have
// been tracked, the tracking of the primary resumes.
void SetMaxBetaChangePerStep(const G4double d);
// Set the maximum allowed change in beta = v/c in % (perCent)
// per step.
void SetMaxNumPhotonsPerStep(const G4int NumPhotons);
// Set the maximum number of Cerenkov photons allowed to be
// generated during a tracking step. This is an average ONLY;
@@ -165,7 +200,8 @@ protected:
private:
G4bool fTrackSecondariesFirst;
G4int fMaxPhotons;
G4double fMaxBetaChange;
G4int fMaxPhotons;
};
////////////////////
@@ -188,6 +224,12 @@ void G4Cerenkov::SetTrackSecondariesFirst(const G4bool state)
fTrackSecondariesFirst = state;
}
inline
void G4Cerenkov::SetMaxBetaChangePerStep(const G4double value)
{
fMaxBetaChange = value*perCent;
}
inline
void G4Cerenkov::SetMaxNumPhotonsPerStep(const G4int NumPhotons)
{
@@ -207,7 +249,8 @@ void G4Cerenkov::DumpPhysicsTable() const
}
}
inline G4PhysicsTable* G4Cerenkov::GetPhysicsTable() const
inline
G4PhysicsTable* G4Cerenkov::GetPhysicsTable() const
{
return thePhysicsTable;
}
@@ -25,7 +25,7 @@
//
//
// $Id: G4ForwardXrayTR.hh,v 1.14 2006/06/29 19:55:33 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// G4ForwardXrayTR -- header file
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4GammaXTRadiator.hh,v 1.4 2006/06/29 19:55:35 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -25,7 +25,7 @@
//
//
// $Id: G4RegularXTRadiator.hh,v 1.3 2006/06/29 19:55:37 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Scintillation.hh,v 1.13 2006/06/29 19:55:39 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4Scintillation.hh,v 1.15 2008/06/13 01:04:49 gum Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
////////////////////////////////////////////////////////////////////////
@@ -71,6 +71,8 @@
#include "G4MaterialPropertiesTable.hh"
#include "G4PhysicsOrderedFreeVector.hh"
#include "G4EmSaturation.hh"
// Class Description:
// RestDiscrete Process - Generation of Scintillation Photons.
// Class inherits publicly from G4VRestDiscreteProcess.
@@ -169,10 +171,16 @@ public: // With description
G4PhysicsTable* GetSlowIntegralTable() const;
// Returns the address of the slow scintillation integral table.
void AddSaturation(G4EmSaturation* sat) { emSaturation = sat; }
// Adds Birks Saturation to the process.
G4EmSaturation* GetSaturation() const { return emSaturation; }
// Returns the Birks Saturation.
void DumpPhysicsTable() const;
// Prints the fast and slow scintillation integral tables.
private:
protected:
void BuildThePhysicsTable();
// It builds either the fast or slow scintillation integral table;
@@ -182,12 +190,11 @@ private:
// Class Data Members
///////////////////////
protected:
G4PhysicsTable* theSlowIntegralTable;
G4PhysicsTable* theFastIntegralTable;
private:
G4bool fTrackSecondariesFirst;
@@ -195,6 +202,10 @@ private:
G4double ExcitationRatio;
private:
G4EmSaturation* emSaturation;
};
////////////////////
@@ -25,7 +25,7 @@
//
//
// $Id: G4StrawTubeXTRadiator.hh,v 1.4 2007/09/29 17:49:34 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -25,7 +25,7 @@
//
//
// $Id: G4SynchrotronRadiation.hh,v 1.4 2006/06/29 19:55:43 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// ------------------------------------------------------------
// GEANT 4 class header file
@@ -25,7 +25,7 @@
//
//
// $Id: G4SynchrotronRadiationInMat.hh,v 1.2 2006/06/29 19:55:45 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// ------------------------------------------------------------
// GEANT 4 class header file
@@ -25,7 +25,7 @@
//
//
// $Id: G4TransitionRadiation.hh,v 1.9 2006/06/29 19:55:47 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// G4TransitionRadiation -- header file
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4TransparentRegXTRadiator.hh,v 1.2 2006/06/29 19:55:49 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -25,7 +25,7 @@
//
//
// $Id: G4VTRModel.hh,v 1.3 2006/06/29 19:55:51 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// G4VTRModel -- header file
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4VTransitionRadiation.hh,v 1.3 2006/06/29 19:55:53 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// G4VTransitionRadiation -- header file
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4VXTRenergyLoss.hh,v 1.24 2007/09/29 17:49:34 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
///////////////////////////////////////////////////////////////////////////