Import Geant4 5.2.0 source tree
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4AnnihiToMuPair.hh,v 1.2 2003/02/04 11:08:41 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// ------------ G4AnnihiToMuPair physics process ------
|
||||
// by H.Burkhardt, S. Kelner and R. Kokoulin, November 2002
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ComptonScattering.hh,v 1.9 2002/04/09 17:34:40 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//------------------ G4ComptonScattering physics process -----------------------
|
||||
// by Michel Maire, April 1996
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ComptonScattering.icc,v 1.8 2001/09/21 09:50:53 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//------------------ G4ComptonScattering physics process -----------------------
|
||||
// by Michel Maire, April 1996
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4GammaConversion.hh,v 1.10 2002/04/09 17:34:40 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//------------------ G4GammaConversion physics process -------------------------
|
||||
// by Michel Maire, 24 May 1996
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4GammaConversion.icc,v 1.7 2001/09/17 17:07:11 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// ------------ G4GammaConversion physics process -------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4GammaConversionToMuons.hh,v 1.2 2002/05/06 09:32:41 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4GammaConversionToMuons.hh,v 1.3 2003/05/26 16:13:13 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// ------------ G4GammaConversionToMuons physics process ------
|
||||
// by H.Burkhardt, S. Kelner and R. Kokoulin, April 2002
|
||||
@@ -77,7 +77,7 @@ class G4GammaConversionToMuons : public G4VDiscreteProcess
|
||||
void SetCrossSecFactor(G4double fac);
|
||||
// Set the factor to artificially increase the crossSection (default 1)
|
||||
|
||||
G4double inline GetCrossSecFactor() { return CrossSecFactor;}
|
||||
G4double GetCrossSecFactor() { return CrossSecFactor;}
|
||||
// Get the factor to artificially increase the cross section
|
||||
|
||||
G4double GetMeanFreePath(const G4Track& aTrack,
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4GammaConversionToMuons.icc,v 1.1 2002/04/19 14:44:33 hbu Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// ------------ G4GammaConversionToMuons physics process ------
|
||||
// by H.Burkhardt, S. Kelner and R. Kokoulin, April 2002
|
||||
|
||||
@@ -93,7 +93,7 @@ public:
|
||||
G4double tmin,
|
||||
G4double maxEnergy);
|
||||
|
||||
G4std::vector<G4DynamicParticle*>* SampleSecondaries(
|
||||
std::vector<G4DynamicParticle*>* SampleSecondaries(
|
||||
const G4MaterialCutsCouple*,
|
||||
const G4DynamicParticle*,
|
||||
G4double tmin,
|
||||
@@ -126,7 +126,7 @@ private:
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline G4double G4MollerBhabhaModel::MaxSecondaryEnergy(
|
||||
const G4ParticleDefinition* p,
|
||||
const G4ParticleDefinition*,
|
||||
G4double kinEnergy)
|
||||
{
|
||||
G4double tmax = kinEnergy;
|
||||
|
||||
@@ -21,27 +21,20 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PAIonisation.hh,v 1.17 2003/03/10 10:50:56 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// History: based on object model of
|
||||
// 2nd December 1995, G.Cosmo
|
||||
// ---------- G4hIonisation physics process -----------
|
||||
// by V. Grichine, 30 Nov 1997
|
||||
// ************************************************************
|
||||
// It is the first implementation of the NEW IONISATION
|
||||
// PROCESS. ( delta rays + continuous energy loss)
|
||||
// It calculates the ionisation for charged hadrons.
|
||||
// ************************************************************
|
||||
//
|
||||
// corrected by V. Grichine on 24/11/97
|
||||
// 12.07.00 V.Grichine GetFreePath and GetdEdx were added
|
||||
// 22.09.00 V.Grichine and K.Assamagan new function GetEnergyTransfer(G4d,G4i)
|
||||
// 28.05.01 V.Ivanchenko minor changes to provide ANSI -wall compilation
|
||||
// R&D since 1996: Vladimir.Grichine@cern.ch
|
||||
//
|
||||
//
|
||||
// 29.04.03 V.Grichine, corrections for cuts per region
|
||||
// 28.05.01 V. Ivanchenko minor changes to provide ANSI -wall compilation
|
||||
// 22.09.00 V. Grichine and K.Assamagan new function GetEnergyTransfer(G4d,G4i)
|
||||
// 12.07.00 V. Grichine GetFreePath and GetdEdx were added
|
||||
// 24.11.97 V. Grichine corrections
|
||||
|
||||
|
||||
#ifndef G4PAIonisation_h
|
||||
@@ -59,6 +52,8 @@
|
||||
#include "G4PhysicsLinearVector.hh"
|
||||
#include "G4PhysicsFreeVector.hh"
|
||||
#include "G4PhysicsVector.hh"
|
||||
class G4LogicalVolume;
|
||||
class G4MaterialCutsCouple;
|
||||
|
||||
|
||||
class G4PAIonisation : public G4VPAIenergyLoss
|
||||
@@ -66,6 +61,9 @@ class G4PAIonisation : public G4VPAIenergyLoss
|
||||
{
|
||||
public:
|
||||
|
||||
G4PAIonisation( G4LogicalVolume* lV,
|
||||
const G4String& processName = "PAIonisation");
|
||||
|
||||
G4PAIonisation( const G4String& materialName,
|
||||
const G4String& processName = "PAIonisation");
|
||||
|
||||
@@ -88,7 +86,7 @@ class G4PAIonisation : public G4VPAIenergyLoss
|
||||
G4double GetConstraints(const G4DynamicParticle *aParticle,
|
||||
G4Material *aMaterial);
|
||||
|
||||
G4VParticleChange *PostStepDoIt( const G4Track& track,
|
||||
G4VParticleChange* PostStepDoIt( const G4Track& track,
|
||||
const G4Step& Step ) ;
|
||||
|
||||
|
||||
@@ -127,11 +125,17 @@ class G4PAIonisation : public G4VPAIenergyLoss
|
||||
G4double GetLossWithFluct(G4double Step,
|
||||
const G4DynamicParticle *aParticle,
|
||||
G4Material *aMaterial) ;
|
||||
G4double GetAlongStepDelta(G4double Step,
|
||||
const G4DynamicParticle *aParticle,
|
||||
G4Material *aMaterial) ;
|
||||
|
||||
G4double GetRandomEnergyTransfer( G4double scaledTkin ) ;
|
||||
G4double GetEnergyTransfer( G4int iPlace, G4double position, G4int iTransfer ) ;
|
||||
G4double GetPostStepTransfer( G4double scaledTkin ) ;
|
||||
|
||||
// static
|
||||
G4double GetEnergyTransfer( G4int iPlace, G4double position, G4int iTransfer ) ;
|
||||
G4double GetdNdxCut( G4int iPlace, G4double cutTransfer) ;
|
||||
|
||||
// static
|
||||
|
||||
static G4double GetMaxKineticEnergy();
|
||||
static G4double GetMinKineticEnergy();
|
||||
@@ -144,17 +148,17 @@ class G4PAIonisation : public G4VPAIenergyLoss
|
||||
|
||||
// Compute Sandia photoabsorption coefficient matrix
|
||||
void ComputeSandiaPhotoAbsCof() ;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
G4PhysicsLogVector* GetProtonEnergyVector();
|
||||
|
||||
private:
|
||||
|
||||
// private data members
|
||||
|
||||
G4LogicalVolume* fLogicalVolume;
|
||||
size_t fMatIndex ; // index of material, where dE/dx is calculated
|
||||
|
||||
size_t fMatCutsIndex ; // index of material, where dE/dx is calculated
|
||||
G4Material* fMaterial;
|
||||
G4MaterialCutsCouple* fMaterialCutsCouple;
|
||||
G4PhysicsTable* theMeanFreePathTable;
|
||||
|
||||
// LowestKineticEnergy = lower limit of particle kinetic energy
|
||||
@@ -166,7 +170,14 @@ class G4PAIonisation : public G4VPAIenergyLoss
|
||||
static const G4double HighestKineticEnergy;
|
||||
static G4int TotBin;
|
||||
static G4PhysicsLogVector* fProtonEnergyVector ;
|
||||
G4PhysicsLogVector* fLambdaVector ;
|
||||
G4PhysicsLogVector* fdNdxCutVector ;
|
||||
G4PhysicsLogVector* fdEdxVector ;
|
||||
|
||||
// cut in range
|
||||
|
||||
G4double* CutInRange ;
|
||||
G4double* lastCutInRange ;
|
||||
|
||||
// particles , cuts in kinetic energy
|
||||
|
||||
@@ -174,7 +185,7 @@ class G4PAIonisation : public G4VPAIenergyLoss
|
||||
const G4Proton* theProton;
|
||||
const G4AntiProton* theAntiProton;
|
||||
|
||||
const G4std::vector<G4double>* DeltaCutInKineticEnergy ;
|
||||
const std::vector<G4double>* DeltaCutInKineticEnergy ;
|
||||
|
||||
G4double DeltaCutInKineticEnergyNow ;
|
||||
|
||||
@@ -186,6 +197,9 @@ class G4PAIonisation : public G4VPAIenergyLoss
|
||||
|
||||
};
|
||||
|
||||
|
||||
#include "G4PAIonisation.icc"
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -22,20 +22,15 @@
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
// GEANT 4 class inlined methods file
|
||||
//
|
||||
// ------------ G4PAIonisation physics process ------------
|
||||
// by Laszlo Urban, 30 May 1997
|
||||
// ***************************************************************
|
||||
// It is the first implementation of the NEW IONISATION PROCESS.
|
||||
// It calculates the ionisation of charged hadrons.
|
||||
// ***************************************************************
|
||||
// corrected by L.Urban on 24/09/97
|
||||
// 06.01.00 V.Grichine, modifications in GetConstraints and GetMenaFreePath
|
||||
// R&D since 1996: Vladimir.Grichine@cern.ch
|
||||
//
|
||||
//
|
||||
// 29.04.03 V.Grichine, corrections for cuts per region
|
||||
// 12.07.00 V.Grichine, GetFreePath and GetdEdx were added
|
||||
// 11.07.00 V.Grichine, modifications in GetMeanFreePath
|
||||
// 12.07.00 V.Grichinw, GetFreePath and GetdEdx were added
|
||||
// 06.01.00 V.Grichine, modifications in GetConstraints and GetMenaFreePath
|
||||
// corrected by L.Urban on 24/09/97
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
@@ -43,7 +38,7 @@
|
||||
//
|
||||
|
||||
inline G4double
|
||||
G4PAIonisation::GetConstraints(const G4DynamicParticle *aParticle,
|
||||
G4PAIonisation::GetConstraints(const G4DynamicParticle *,
|
||||
G4Material *aMaterial )
|
||||
{
|
||||
size_t index = aMaterial->GetIndex() ;
|
||||
@@ -94,7 +89,7 @@ G4PAIonisation::GetContinuousStepLimit( const G4Track& track ,
|
||||
|
||||
inline G4double G4PAIonisation::
|
||||
GetMeanFreePath( const G4Track& trackData,
|
||||
G4double previousStepSize,
|
||||
G4double,
|
||||
G4ForceCondition* condition )
|
||||
{
|
||||
// G4cout<<"G4PAIonisation::GetMeanFreePath is called"<<G4endl ;
|
||||
@@ -124,7 +119,8 @@ GetMeanFreePath( const G4Track& trackData,
|
||||
|
||||
for(iTkin=0;iTkin<G4PAIonisation::GetBinNumber();iTkin++)
|
||||
{
|
||||
if(scaledE < GetProtonEnergyVector()->GetLowEdgeEnergy(iTkin)) // <= ?
|
||||
// if(scaledE < GetProtonEnergyVector()->GetLowEdgeEnergy(iTkin)) // <= ?
|
||||
if(scaledE < fProtonEnergyVector->GetLowEdgeEnergy(iTkin)) // <= ?
|
||||
{
|
||||
break ;
|
||||
}
|
||||
@@ -143,8 +139,8 @@ GetMeanFreePath( const G4Track& trackData,
|
||||
}
|
||||
else
|
||||
{
|
||||
E1 = GetProtonEnergyVector()->GetLowEdgeEnergy(iTkin - 1) ;
|
||||
E2 = GetProtonEnergyVector()->GetLowEdgeEnergy(iTkin) ;
|
||||
E1 = fProtonEnergyVector->GetLowEdgeEnergy(iTkin - 1) ;
|
||||
E2 = fProtonEnergyVector->GetLowEdgeEnergy(iTkin) ;
|
||||
W = 1.0/(E2 - E1) ;
|
||||
W1 = (E2 - scaledE)*W ;
|
||||
W2 = (scaledE - E1)*W ;
|
||||
@@ -173,7 +169,7 @@ GetFreePath( G4double scaledTkin, G4double charge2 )
|
||||
|
||||
for( iTkin = 0 ; iTkin < G4PAIonisation::GetBinNumber() ; iTkin++ )
|
||||
{
|
||||
if(scaledTkin < GetProtonEnergyVector()->GetLowEdgeEnergy(iTkin)) break ;
|
||||
if(scaledTkin < fProtonEnergyVector->GetLowEdgeEnergy(iTkin)) break ;
|
||||
}
|
||||
iPlace = iTkin - 1 ;
|
||||
|
||||
@@ -189,8 +185,8 @@ GetFreePath( G4double scaledTkin, G4double charge2 )
|
||||
}
|
||||
else
|
||||
{
|
||||
E1 = GetProtonEnergyVector()->GetLowEdgeEnergy(iTkin - 1) ;
|
||||
E2 = GetProtonEnergyVector()->GetLowEdgeEnergy(iTkin) ;
|
||||
E1 = fProtonEnergyVector->GetLowEdgeEnergy(iTkin - 1) ;
|
||||
E2 = fProtonEnergyVector->GetLowEdgeEnergy(iTkin) ;
|
||||
W = 1.0/(E2 - E1) ;
|
||||
W1 = (E2 - scaledTkin)*W ;
|
||||
W2 = (scaledTkin - E1)*W ;
|
||||
@@ -219,7 +215,7 @@ GetdEdx( G4double scaledTkin, G4double charge2 )
|
||||
|
||||
for( iTkin = 0 ; iTkin < G4PAIonisation::GetBinNumber() ; iTkin++ )
|
||||
{
|
||||
if(scaledTkin < GetProtonEnergyVector()->GetLowEdgeEnergy(iTkin)) break ;
|
||||
if(scaledTkin < fProtonEnergyVector->GetLowEdgeEnergy(iTkin)) break ;
|
||||
}
|
||||
iPlace = iTkin - 1 ;
|
||||
|
||||
@@ -235,8 +231,8 @@ GetdEdx( G4double scaledTkin, G4double charge2 )
|
||||
}
|
||||
else
|
||||
{
|
||||
E1 = GetProtonEnergyVector()->GetLowEdgeEnergy(iTkin - 1) ;
|
||||
E2 = GetProtonEnergyVector()->GetLowEdgeEnergy(iTkin) ;
|
||||
E1 = fProtonEnergyVector->GetLowEdgeEnergy(iTkin - 1) ;
|
||||
E2 = fProtonEnergyVector->GetLowEdgeEnergy(iTkin) ;
|
||||
W = 1.0/(E2 - E1) ;
|
||||
W1 = (E2 - scaledTkin)*W ;
|
||||
W2 = (scaledTkin - E1)*W ;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PAIxSection.hh,v 1.9 2002/10/14 17:30:10 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// G4PAIxSection.hh -- header file
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PhotoElectricEffect.hh,v 1.15 2002/05/02 11:37:22 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PhotoElectricEffect.icc,v 1.10 2002/04/18 10:12:01 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PolarizedComptonScattering.hh,v 1.7 2002/04/09 17:34:40 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// --------- G4PolarizedComptonScattering physics process ----------------------
|
||||
// by Vicente Lara, March 1998
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4SynchrotronRadiation.hh,v 1.7 2002/04/09 17:34:40 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4SynchrotronRadiation.hh,v 1.8 2003/05/26 16:13:14 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
@@ -138,7 +138,7 @@ class G4SynchrotronRadiation : public G4VDiscreteProcess
|
||||
|
||||
inline G4double
|
||||
G4SynchrotronRadiation::GetMeanFreePath( const G4Track& trackData,
|
||||
G4double previousStepSize,
|
||||
G4double,
|
||||
G4ForceCondition* condition)
|
||||
{
|
||||
const G4DynamicParticle* aDynamicParticle;
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VPAIenergyLoss.hh,v 1.9 2003/03/10 12:22:02 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4VPAIenergyLoss.hh,v 1.10 2003/06/16 17:01:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
@@ -55,8 +55,8 @@
|
||||
#define G4VPAIenergyLoss_h 1
|
||||
|
||||
#include "G4ios.hh"
|
||||
#include "g4std/fstream"
|
||||
#include "g4std/iomanip"
|
||||
#include <fstream>
|
||||
#include <iomanip>
|
||||
|
||||
#include "globals.hh"
|
||||
#include "Randomize.hh"
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
//
|
||||
|
||||
inline G4double
|
||||
G4VPAIenergyLoss::GetConstraints(const G4DynamicParticle *aParticle,
|
||||
G4VPAIenergyLoss::GetConstraints(const G4DynamicParticle *,
|
||||
G4Material *aMaterial )
|
||||
{
|
||||
// G4cout<<"G4VPAIenergyLoss::GetConstraints is called"<<endl ;
|
||||
@@ -63,25 +63,6 @@ inline G4double
|
||||
//
|
||||
//
|
||||
|
||||
/* ***********************************************************************
|
||||
|
||||
inline G4double G4VPAIenergyLoss::GetContinuousStepLimit(
|
||||
const G4Track& track,
|
||||
G4double,
|
||||
G4double currentMinimumStep,
|
||||
G4double&)
|
||||
{
|
||||
|
||||
G4double Step =
|
||||
GetConstraints(track.GetDynamicParticle(),track.GetMaterial()) ;
|
||||
|
||||
if( (Step > 0.0) && (Step < currentMinimumStep) ) currentMinimumStep = Step ;
|
||||
|
||||
return Step ;
|
||||
}
|
||||
|
||||
*********************************************************** */
|
||||
|
||||
inline G4bool G4VPAIenergyLoss::IsApplicable(const G4ParticleDefinition&
|
||||
particle)
|
||||
{
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VeEnergyLoss.hh,v 1.12 2003/01/17 18:55:42 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VeEnergyLoss.icc,v 1.11 2003/04/26 12:11:04 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4VeEnergyLoss.icc,v 1.13 2003/06/16 17:01:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
@@ -54,7 +54,7 @@ inline G4double G4VeEnergyLoss::GetConstraints(
|
||||
G4EnergyLossTables::GetRange(ParticleType,KineticEnergy,couple);
|
||||
|
||||
// compute the Step limit
|
||||
G4double r = G4std::min(finalRange, couple->GetProductionCuts()
|
||||
G4double r = std::min(finalRange, couple->GetProductionCuts()
|
||||
->GetProductionCut(idxG4ElectronCut));
|
||||
if (fRangeNow>r)
|
||||
{
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VhEnergyLoss.hh,v 1.17 2003/01/22 14:03:53 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// ------------- G4VhEnergyLoss physics process --------------------------------
|
||||
// by Laszlo Urban, 30 May 1997
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VhEnergyLoss.icc,v 1.6 2003/01/17 18:55:42 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// ---------------- G4VhEnergyLoss physics process -----------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4eBremsstrahlung.hh,v 1.15 2003/01/17 18:55:42 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4eBremsstrahlung.hh,v 1.16 2003/06/16 17:01:59 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
// ------------ G4eBremsstrahlung physics process ------
|
||||
@@ -172,7 +172,7 @@ class G4eBremsstrahlung : public G4VeEnergyLoss
|
||||
static G4double probsup;
|
||||
static G4bool LPMflag;
|
||||
|
||||
const G4std::vector<G4double>* secondaryEnergyCuts;
|
||||
const std::vector<G4double>* secondaryEnergyCuts;
|
||||
|
||||
public:
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4eBremsstrahlung.icc,v 1.7 2003/01/17 18:55:43 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// ------------ G4eBremsstrahlung physics process ---------
|
||||
// by Michel Maire, 27 July 1996
|
||||
|
||||
@@ -93,7 +93,7 @@ public:
|
||||
G4double tmin,
|
||||
G4double maxEnergy);
|
||||
|
||||
G4std::vector<G4DynamicParticle*>* SampleSecondaries(
|
||||
std::vector<G4DynamicParticle*>* SampleSecondaries(
|
||||
const G4MaterialCutsCouple*,
|
||||
const G4DynamicParticle*,
|
||||
G4double tmin,
|
||||
@@ -113,7 +113,7 @@ private:
|
||||
|
||||
void SetParticle(const G4ParticleDefinition* p);
|
||||
|
||||
G4double ComputeBremLoss(G4double Z, G4double tkin, G4double cut, G4double x);
|
||||
G4double ComputeBremLoss(G4double Z, G4double tkin, G4double cut);
|
||||
|
||||
G4double PositronCorrFactorLoss(G4double Z, G4double tkin, G4double cut);
|
||||
|
||||
@@ -146,7 +146,7 @@ private:
|
||||
G4double LPMconstant;
|
||||
G4bool isElectron;
|
||||
G4bool theLPMflag;
|
||||
G4std::vector<G4DataVector*> partialSumSigma;
|
||||
std::vector<G4DataVector*> partialSumSigma;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ public:
|
||||
G4eBremsstrahlungSTD(const G4String& name = "eBrem");
|
||||
|
||||
~G4eBremsstrahlungSTD();
|
||||
|
||||
|
||||
G4bool IsApplicable(const G4ParticleDefinition& p)
|
||||
{return (&p == G4Electron::Electron() || &p == G4Positron::Positron());};
|
||||
|
||||
@@ -82,7 +82,7 @@ public:
|
||||
const G4Material*, G4double cut)
|
||||
{return cut;};
|
||||
|
||||
virtual G4std::vector<G4Track*>* SecondariesAlongStep(
|
||||
virtual std::vector<G4Track*>* SecondariesAlongStep(
|
||||
const G4Step&,
|
||||
G4double&,
|
||||
G4double&,
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
G4double&,
|
||||
G4double&);
|
||||
|
||||
void PrintInfoDefinition() const;
|
||||
void PrintInfoDefinition();
|
||||
// Print out of the class parameters
|
||||
|
||||
protected:
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4eIonisation.hh,v 1.17 2003/01/17 18:55:43 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4eIonisation.hh,v 1.18 2003/06/16 17:02:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//--------------- G4eIonisation physics process --------------------------------
|
||||
// by Laszlo Urban, 20 March 1997
|
||||
@@ -151,7 +151,7 @@ class G4eIonisation : public G4VeEnergyLoss
|
||||
G4double HighestKineticEnergy;
|
||||
G4int TotBin;
|
||||
|
||||
const G4std::vector<G4double>* secondaryEnergyCuts;
|
||||
const std::vector<G4double>* secondaryEnergyCuts;
|
||||
|
||||
public: // with description
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4eIonisation.icc,v 1.11 2003/01/17 18:55:43 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
//----------------- G4eIonisation physics process ------------------------------
|
||||
|
||||
@@ -44,6 +44,8 @@
|
||||
// 24-01-03 Make models region aware (V.Ivanchenko)
|
||||
// 05-02-03 Fix compilation warnings (V.Ivanchenko)
|
||||
// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko)
|
||||
// 23-05-03 Add fluctuation model as a member function (V.Ivanchenko)
|
||||
// 03-06-03 Fix initialisation problem for STD ionisation (V.Ivanchenko)
|
||||
//
|
||||
//
|
||||
// Class Description:
|
||||
@@ -64,6 +66,7 @@
|
||||
|
||||
class G4Material;
|
||||
class G4ParticleDefinition;
|
||||
class G4VEmFluctuationModel;
|
||||
|
||||
class G4eIonisationSTD : public G4VEnergyLossSTD
|
||||
{
|
||||
@@ -79,7 +82,7 @@ public:
|
||||
virtual G4double MinPrimaryEnergy(const G4ParticleDefinition*,
|
||||
const G4Material*, G4double cut);
|
||||
|
||||
virtual G4std::vector<G4Track*>* SecondariesAlongStep(
|
||||
virtual std::vector<G4Track*>* SecondariesAlongStep(
|
||||
const G4Step&,
|
||||
G4double&,
|
||||
G4double&,
|
||||
@@ -94,7 +97,7 @@ public:
|
||||
|
||||
void SetSubCutoff(G4bool val);
|
||||
|
||||
void PrintInfoDefinition() const;
|
||||
void PrintInfoDefinition();
|
||||
// Print out of the class parameters
|
||||
|
||||
protected:
|
||||
@@ -112,10 +115,11 @@ private:
|
||||
G4eIonisationSTD(const G4eIonisationSTD&);
|
||||
|
||||
const G4ParticleDefinition* theElectron;
|
||||
G4VEmFluctuationModel* flucModel;
|
||||
|
||||
G4bool subCutoff;
|
||||
G4bool isElectron;
|
||||
|
||||
G4bool isInitialised;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -150,13 +154,13 @@ inline G4double G4eIonisationSTD::MaxSecondaryEnergy(const G4DynamicParticle* dp
|
||||
|
||||
#include "G4VSubCutoffProcessor.hh"
|
||||
|
||||
inline G4std::vector<G4Track*>* G4eIonisationSTD::SecondariesAlongStep(
|
||||
inline std::vector<G4Track*>* G4eIonisationSTD::SecondariesAlongStep(
|
||||
const G4Step& step,
|
||||
G4double& tmax,
|
||||
G4double& eloss,
|
||||
G4double& kinEnergy)
|
||||
{
|
||||
G4std::vector<G4Track*>* newp = 0;
|
||||
std::vector<G4Track*>* newp = 0;
|
||||
if(subCutoff) {
|
||||
G4VSubCutoffProcessor* sp = SubCutoffProcessor(CurrentMaterialCutsCoupleIndex());
|
||||
if (sp) {
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4eplusAnnihilation.hh,v 1.10 2002/04/09 17:34:41 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4eplusAnnihilation.icc,v 1.8 2001/09/17 17:07:11 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4hIonisation.hh,v 1.21 2003/01/17 18:55:43 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4hIonisation.hh,v 1.22 2003/06/16 17:02:04 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
// --------------- G4hIonisation physics process -------------------------------
|
||||
// by Laszlo Urban, 30 May 1997
|
||||
@@ -156,7 +156,7 @@ class G4hIonisation : public G4VhEnergyLoss
|
||||
G4double Tmincut; // min energy of d-rays
|
||||
G4double initialMass; // mass for Lambda table
|
||||
|
||||
const G4std::vector<G4double>* secondaryEnergyCuts;
|
||||
const std::vector<G4double>* secondaryEnergyCuts;
|
||||
|
||||
public: // with description
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4hIonisation.icc,v 1.12 2003/01/17 18:55:43 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
// $Id: G4hIonisation.icc,v 1.14 2003/06/18 13:48:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02 $
|
||||
//
|
||||
//
|
||||
//------------------ G4hIonisation physics process -----------------------------
|
||||
@@ -34,6 +34,7 @@
|
||||
// 14-08-01: 'cleanup' of GetMeanFreePath (mma)
|
||||
// 09-04-02: e+- are not applicable (V.Ivanchenko)
|
||||
// 15-01-03: Migrade to cut per region (V.Ivanchenko)
|
||||
// 16-06-03: ShortLived are not applicable any more (V.Ivanchenko)
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -43,7 +44,9 @@
|
||||
inline G4bool G4hIonisation::IsApplicable(
|
||||
const G4ParticleDefinition& particle)
|
||||
{
|
||||
return(particle.GetPDGCharge() != 0. && particle.GetPDGMass() > 10.*MeV);
|
||||
return(particle.GetPDGCharge() != 0. &&
|
||||
particle.GetPDGMass() > 10.*MeV &&
|
||||
!particle.IsShortLived());
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -73,7 +76,7 @@ inline G4double G4hIonisation::GetMeanFreePath(const G4Track& track, G4double,
|
||||
|
||||
inline G4double G4hIonisation::SecondaryEnergyThreshold(size_t index)
|
||||
{
|
||||
return G4std::max((*secondaryEnergyCuts)[index],Tmincut);
|
||||
return std::max((*secondaryEnergyCuts)[index],Tmincut);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -48,6 +48,9 @@
|
||||
// 05-02-03 Fix compilation warnings (V.Ivanchenko)
|
||||
// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko)
|
||||
// 15-02-03 Add control on delta pointer (V.Ivanchenko)
|
||||
// 23-05-03 Add fluctuation model as a member function (V.Ivanchenko)
|
||||
// 03-06-03 Fix initialisation problem for STD ionisation (V.Ivanchenko)
|
||||
// 16-06-03 ShortLived are not applicable any more (V.Ivanchenko)
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
@@ -67,6 +70,7 @@
|
||||
#include "globals.hh"
|
||||
|
||||
class G4Material;
|
||||
class G4VEmFluctuationModel;
|
||||
|
||||
class G4hIonisationSTD : public G4VEnergyLossSTD
|
||||
{
|
||||
@@ -82,7 +86,7 @@ public:
|
||||
virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
|
||||
const G4Material*, G4double cut);
|
||||
|
||||
virtual G4std::vector<G4Track*>* SecondariesAlongStep(
|
||||
virtual std::vector<G4Track*>* SecondariesAlongStep(
|
||||
const G4Step&,
|
||||
G4double&,
|
||||
G4double&,
|
||||
@@ -97,7 +101,7 @@ public:
|
||||
|
||||
void SetSubCutoff(G4bool val);
|
||||
|
||||
void PrintInfoDefinition() const;
|
||||
void PrintInfoDefinition();
|
||||
// Print out of the class parameters
|
||||
|
||||
protected:
|
||||
@@ -119,8 +123,10 @@ private:
|
||||
|
||||
const G4ParticleDefinition* theParticle;
|
||||
const G4ParticleDefinition* theBaseParticle;
|
||||
G4VEmFluctuationModel* flucModel;
|
||||
|
||||
G4bool subCutoff;
|
||||
G4bool isInitialised;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -128,7 +134,9 @@ private:
|
||||
|
||||
inline G4bool G4hIonisationSTD::IsApplicable(const G4ParticleDefinition& p)
|
||||
{
|
||||
return (p.GetPDGCharge() != 0.0 && p.GetPDGMass() > 10.0*MeV);
|
||||
return (p.GetPDGCharge() != 0.0 &&
|
||||
p.GetPDGMass() > 10.0*MeV &&
|
||||
!p.IsShortLived());
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -158,13 +166,13 @@ inline G4double G4hIonisationSTD::MaxSecondaryEnergy(const G4DynamicParticle* dy
|
||||
|
||||
#include "G4VSubCutoffProcessor.hh"
|
||||
|
||||
inline G4std::vector<G4Track*>* G4hIonisationSTD::SecondariesAlongStep(
|
||||
inline std::vector<G4Track*>* G4hIonisationSTD::SecondariesAlongStep(
|
||||
const G4Step& step,
|
||||
G4double& tmax,
|
||||
G4double& eloss,
|
||||
G4double& kinEnergy)
|
||||
{
|
||||
G4std::vector<G4Track*>* newp = 0;
|
||||
std::vector<G4Track*>* newp = 0;
|
||||
if(subCutoff) {
|
||||
G4VSubCutoffProcessor* sp = SubCutoffProcessor(CurrentMaterialCutsCoupleIndex());
|
||||
if (sp) {
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
// 05-02-03 Fix compilation warnings (V.Ivanchenko)
|
||||
// 13-02-03 SubCutoff regime is assigned to a region (V.Ivanchenko)
|
||||
// 15-02-03 Add control on delta pointer (V.Ivanchenko)
|
||||
// 23-05-03 Add fluctuation model as a member function (V.Ivanchenko)
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
@@ -55,6 +56,7 @@
|
||||
#include "G4VEnergyLossSTD.hh"
|
||||
|
||||
class G4Material;
|
||||
class G4VEmFluctuationModel;
|
||||
|
||||
class G4ionIonisation : public G4VEnergyLossSTD
|
||||
{
|
||||
@@ -70,7 +72,7 @@ public:
|
||||
virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p,
|
||||
const G4Material*, G4double cut);
|
||||
|
||||
virtual G4std::vector<G4Track*>* SecondariesAlongStep(
|
||||
virtual std::vector<G4Track*>* SecondariesAlongStep(
|
||||
const G4Step&,
|
||||
G4double&,
|
||||
G4double&,
|
||||
@@ -85,7 +87,7 @@ public:
|
||||
|
||||
void SetSubCutoff(G4bool val);
|
||||
|
||||
void PrintInfoDefinition() const;
|
||||
void PrintInfoDefinition();
|
||||
// Print out of the class parameters
|
||||
|
||||
protected:
|
||||
@@ -108,6 +110,7 @@ private:
|
||||
|
||||
const G4ParticleDefinition* theParticle;
|
||||
const G4ParticleDefinition* theBaseParticle;
|
||||
G4VEmFluctuationModel* flucModel;
|
||||
G4bool subCutoff;
|
||||
};
|
||||
|
||||
@@ -167,13 +170,13 @@ inline G4double G4ionIonisation::GetMeanFreePath(const G4Track& track,
|
||||
|
||||
#include "G4VSubCutoffProcessor.hh"
|
||||
|
||||
inline G4std::vector<G4Track*>* G4ionIonisation::SecondariesAlongStep(
|
||||
inline std::vector<G4Track*>* G4ionIonisation::SecondariesAlongStep(
|
||||
const G4Step& step,
|
||||
G4double& tmax,
|
||||
G4double& eloss,
|
||||
G4double& kinEnergy)
|
||||
{
|
||||
G4std::vector<G4Track*>* newp = 0;
|
||||
std::vector<G4Track*>* newp = 0;
|
||||
if(subCutoff) {
|
||||
G4VSubCutoffProcessor* sp = SubCutoffProcessor(CurrentMaterialCutsCoupleIndex());
|
||||
if (sp) {
|
||||
|
||||
Reference in New Issue
Block a user