Import Geant4 3.1.0 source tree
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# $Id: GNUmakefile,v 1.2 1999/05/31 17:38:38 stesting Exp $
|
||||
# $Id: GNUmakefile,v 1.3 2001/03/05 10:52:05 maire Exp $
|
||||
# ------------------------------------------------------------------
|
||||
# GNUmakefile for electromagnetic library. Gabriele Cosmo, 18/9/96.
|
||||
# ------------------------------------------------------------------
|
||||
@@ -7,8 +7,8 @@ MAKEFLAGS= --no-print-directory
|
||||
|
||||
name := G4electromagnetic
|
||||
|
||||
SUBDIRS = muons standard utils xrays lowenergy
|
||||
SUBLIBS = G4muons G4emstandard G4emutils G4xrays G4emlowenergy
|
||||
SUBDIRS = muons standard utils xrays lowenergy integral
|
||||
SUBLIBS = G4muons G4emstandard G4emutils G4xrays G4emlowenergy G4integral
|
||||
|
||||
ifndef G4INSTALL
|
||||
G4INSTALL = ../../..
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 1.4 2000/03/02 14:04:55 maire Exp $
|
||||
$Id: History,v 1.7 2001/03/05 10:52:05 maire Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -17,6 +17,20 @@ committal in the CVS repository !
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
05 mar 01 mma (em-V03-00-04)
|
||||
- new subdirectory: integral
|
||||
migration of all G4I.. processes from muons, standard, utils into integral
|
||||
|
||||
27 apr 00 mma (em-V01-01-01)
|
||||
- G4endl (dec/iso)
|
||||
|
||||
26 apr 00 mma (em-V01-01-00)
|
||||
- all EnergyLoss classes renamed G4V...
|
||||
Most classes in standard and muons affected.
|
||||
- G4Muls moved in utils
|
||||
- bugs fixe in MuPairProduction
|
||||
- cowork with geant4-01-01-ref-02
|
||||
|
||||
02 mar 00 mma (em-V01-00-00)
|
||||
- new G4VEnergyLoss class and related structure
|
||||
- cowork with geant4-01-00-ref-06
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
# $Id: GNUmakefile,v 1.1 2001/03/05 10:55:19 maire Exp $
|
||||
# --------------------------------------------------------------------
|
||||
# GNUmakefile for electromagnetic sub-library. John Allison, 25/6/98.
|
||||
# --------------------------------------------------------------------
|
||||
|
||||
name := G4integral
|
||||
|
||||
ifndef G4INSTALL
|
||||
G4INSTALL = ../../../..
|
||||
endif
|
||||
|
||||
include $(G4INSTALL)/config/architecture.gmk
|
||||
|
||||
CPPFLAGS += -I$(G4BASE)/global/management/include \
|
||||
-I$(G4BASE)/global/HEPRandom/include \
|
||||
-I$(G4BASE)/global/HEPGeometry/include \
|
||||
-I$(G4BASE)/geometry/management/include \
|
||||
-I$(G4BASE)/geometry/magneticfield/include \
|
||||
-I$(G4BASE)/geometry/volumes/include \
|
||||
-I$(G4BASE)/track/include \
|
||||
-I$(G4BASE)/processes/management/include \
|
||||
-I$(G4BASE)/processes/electromagnetic/utils/include \
|
||||
-I$(G4BASE)/processes/electromagnetic/standard/include \
|
||||
-I$(G4BASE)/particles/management/include \
|
||||
-I$(G4BASE)/particles/bosons/include \
|
||||
-I$(G4BASE)/particles/leptons/include \
|
||||
-I$(G4BASE)/particles/hadrons/barions/include \
|
||||
-I$(G4BASE)/particles/hadrons/mesons/include \
|
||||
-I$(G4BASE)/particles/hadrons/ions/include \
|
||||
-I$(G4BASE)/intercoms/include \
|
||||
-I$(G4BASE)/materials/include
|
||||
|
||||
include $(G4INSTALL)/config/common.gmk
|
||||
|
||||
CXXFLAGS_WITHOUT_O := $(filter-out -O% , $(CXXFLAGS))
|
||||
CXXFLAGS_WITHOUT_O := $(filter-out +O% , $(CXXFLAGS_WITHOUT_O))
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
$Id: History,v 1.1 2001/03/05 10:55:19 maire Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
|
||||
Category History file
|
||||
---------------------
|
||||
This file should be used by G4 developers and category coordinators
|
||||
to briefly summarize all major modifications introduced in the code
|
||||
and keep track of all category-tags.
|
||||
It DOES NOT substitute the CVS log-message one should put at every
|
||||
committal in the CVS repository !
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
05 mar 01: mma (integral-V03-00-04)
|
||||
- creation of this subdirectory:
|
||||
migration of all G4I.. processes from muons, standard, utils
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IMuBremsstrahlung.hh,v 1.3 2000/04/25 14:18:57 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IMuBremsstrahlung.hh,v 1.1 2001/03/05 10:55:19 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IMuBremsstrahlung.icc,v 1.2 1999/12/15 14:51:41 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IMuBremsstrahlung.icc,v 1.1 2001/03/05 10:55:19 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
// GEANT 4 class inlined methods file
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IMuIonisation.hh,v 1.3 2000/04/25 14:18:58 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IMuIonisation.hh,v 1.1 2001/03/05 10:55:20 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
|
||||
// ------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IMuIonisation.icc,v 1.2 1999/12/15 14:51:42 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IMuIonisation.icc,v 1.1 2001/03/05 10:55:20 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IMuPairProduction.hh,v 1.3 2000/04/25 14:18:58 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IMuPairProduction.hh,v 1.1 2001/03/05 10:55:20 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IMuPairProduction.icc,v 1.2 1999/12/15 14:51:42 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IMuPairProduction.icc,v 1.1 2001/03/05 10:55:20 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ---------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IMultipleScattering.hh,v 1.1 2000/03/20 14:44:03 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IMultipleScattering.hh,v 1.1 2001/03/05 10:55:20 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// --------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IMultipleScattering.icc,v 1.1 2000/03/20 14:44:03 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IMultipleScattering.icc,v 1.1 2001/03/05 10:55:20 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// -------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IeBremsstrahlung.hh,v 1.4 2000/04/25 14:33:00 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IeBremsstrahlung.hh,v 1.1 2001/03/05 10:55:21 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IeBremsstrahlung.icc,v 1.3 1999/12/15 14:51:46 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IeBremsstrahlung.icc,v 1.1 2001/03/05 10:55:21 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ---------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IeIonisation.hh,v 1.4 2000/04/25 14:33:00 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IeIonisation.hh,v 1.1 2001/03/05 10:55:21 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IeIonisation.icc,v 1.3 1999/12/15 14:51:46 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IeIonisation.icc,v 1.1 2001/03/05 10:55:21 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ---------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IeplusAnnihilation.hh,v 1.2 1999/12/15 14:51:46 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IeplusAnnihilation.hh,v 1.1 2001/03/05 10:55:21 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IeplusAnnihilation.icc,v 1.2 1999/12/15 14:51:46 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IeplusAnnihilation.icc,v 1.1 2001/03/05 10:55:21 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ---------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IhIonisation.hh,v 1.4 2000/04/25 14:33:01 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IhIonisation.hh,v 1.1 2001/03/05 10:55:21 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IhIonisation.icc,v 1.2 1999/12/15 14:51:47 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IhIonisation.icc,v 1.1 2001/03/05 10:55:21 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VIMuEnergyLoss.hh,v 1.3 2000/08/15 09:40:16 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4VIMuEnergyLoss.hh,v 1.1 2001/03/05 10:55:21 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// -------------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VIMuEnergyLoss.icc,v 1.1 2000/04/25 14:18:59 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4VIMuEnergyLoss.icc,v 1.1 2001/03/05 10:55:22 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ---------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VIeEnergyLoss.hh,v 1.3 2000/08/15 09:42:14 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4VIeEnergyLoss.hh,v 1.1 2001/03/05 10:55:22 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VIeEnergyLoss.icc,v 1.1 2000/04/25 14:33:02 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4VIeEnergyLoss.icc,v 1.1 2001/03/05 10:55:22 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ---------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VIhEnergyLoss.hh,v 1.3 2000/08/15 09:42:14 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4VIhEnergyLoss.hh,v 1.1 2001/03/05 10:55:22 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VIhEnergyLoss.icc,v 1.1 2000/04/25 14:33:02 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4VIhEnergyLoss.icc,v 1.1 2001/03/05 10:55:22 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ---------------------------------------------------------------
|
||||
+8
-6
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IMuBremsstrahlung.cc,v 1.4 2000/04/25 14:19:00 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IMuBremsstrahlung.cc,v 1.1 2001/03/05 10:55:23 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -821,6 +821,8 @@ void G4IMuBremsstrahlung::BuildLambdaTable(const G4ParticleDefinition& ParticleT
|
||||
delete theMeanFreePathTable;
|
||||
}
|
||||
theMeanFreePathTable = new G4PhysicsTable( G4Material::GetNumberOfMaterials() ) ;
|
||||
|
||||
PartialSumSigma.clearAndDestroy();
|
||||
PartialSumSigma.resize(G4Material::GetNumberOfMaterials());
|
||||
|
||||
G4PhysicsLogVector* ptrVector;
|
||||
@@ -860,7 +862,7 @@ void G4IMuBremsstrahlung::ComputePartialSumSigma(const G4ParticleDefinition* Par
|
||||
const G4double* theAtomNumDensityVector = aMaterial->GetAtomicNumDensityVector();
|
||||
G4double GammaEnergyCut = (G4Gamma::GetCutsInEnergy())[Imate];
|
||||
|
||||
PartialSumSigma(Imate) = new G4ValVector(NbOfElements);
|
||||
PartialSumSigma[Imate] = new G4DataVector();
|
||||
|
||||
G4double SIGMA = 0. ;
|
||||
|
||||
@@ -870,7 +872,7 @@ void G4IMuBremsstrahlung::ComputePartialSumSigma(const G4ParticleDefinition* Par
|
||||
ComputeMicroscopicCrossSection( ParticleType, KineticEnergy,
|
||||
(*theElementVector)(Ielem)->GetZ(),
|
||||
GammaEnergyCut );
|
||||
PartialSumSigma(Imate)->insertAt(Ielem, SIGMA);
|
||||
PartialSumSigma[Imate]->push_back(SIGMA);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1181,9 +1183,9 @@ G4Element* G4IMuBremsstrahlung::SelectRandomAtom(G4Material* aMaterial) const
|
||||
const G4int NumberOfElements = aMaterial->GetNumberOfElements();
|
||||
const G4ElementVector* theElementVector = aMaterial->GetElementVector();
|
||||
|
||||
G4double rval = G4UniformRand()*((*PartialSumSigma(Index))(NumberOfElements-1));
|
||||
G4double rval = G4UniformRand()*((*PartialSumSigma[Index])[NumberOfElements-1]);
|
||||
for ( G4int i=0; i < NumberOfElements; i++ )
|
||||
if (rval <= (*PartialSumSigma(Index))(i)) return ((*theElementVector)(i));
|
||||
if (rval <= (*PartialSumSigma[Index])[i]) return ((*theElementVector)(i));
|
||||
G4cout << " WARNING !!! - The Material '"<< aMaterial->GetName()
|
||||
<< "' has no elements, NULL pointer returned." << G4endl;
|
||||
return NULL;
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IMuIonisation.cc,v 1.4 2000/04/25 14:19:01 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IMuIonisation.cc,v 1.1 2001/03/05 10:55:23 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
+7
-6
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IMuPairProduction.cc,v 1.5 2000/04/25 14:19:01 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IMuPairProduction.cc,v 1.1 2001/03/05 10:55:24 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// --------------------------------------------------------------
|
||||
@@ -809,6 +809,7 @@ void G4IMuPairProduction::BuildLambdaTable(const G4ParticleDefinition& ParticleT
|
||||
delete theMeanFreePathTable;
|
||||
}
|
||||
theMeanFreePathTable = new G4PhysicsTable( G4Material::GetNumberOfMaterials() ) ;
|
||||
PartialSumSigma.clearAndDestroy();
|
||||
PartialSumSigma.resize(G4Material::GetNumberOfMaterials());
|
||||
|
||||
if(&ParticleType == theMuonPlus )
|
||||
@@ -854,7 +855,7 @@ void G4IMuPairProduction::ComputePartialSumSigma(const G4ParticleDefinition* Par
|
||||
G4double ElectronEnergyCut = (G4Electron::GetCutsInEnergy())[Imate];
|
||||
G4double PositronEnergyCut = (G4Positron::GetCutsInEnergy())[Imate];
|
||||
|
||||
PartialSumSigma(Imate) = new G4ValVector(NbOfElements);
|
||||
PartialSumSigma[Imate] = new G4DataVector();
|
||||
|
||||
G4double SIGMA = 0. ;
|
||||
|
||||
@@ -865,7 +866,7 @@ void G4IMuPairProduction::ComputePartialSumSigma(const G4ParticleDefinition* Par
|
||||
(*theElementVector)(Ielem)->GetZ(),
|
||||
ElectronEnergyCut,PositronEnergyCut );
|
||||
|
||||
PartialSumSigma(Imate)->insertAt(Ielem, SIGMA);
|
||||
PartialSumSigma[Imate]->push_back(SIGMA);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1403,12 +1404,12 @@ G4Element* G4IMuPairProduction::SelectRandomAtom(G4Material* aMaterial) const
|
||||
const G4int NumberOfElements = aMaterial->GetNumberOfElements();
|
||||
const G4ElementVector* theElementVector = aMaterial->GetElementVector();
|
||||
|
||||
G4double rval = G4UniformRand()*((*PartialSumSigma(Index))(NumberOfElements-1));
|
||||
G4double rval = G4UniformRand()*((*PartialSumSigma[Index])[NumberOfElements-1]);
|
||||
|
||||
for ( G4int i=0; i < NumberOfElements; i++ )
|
||||
{
|
||||
|
||||
if (rval <= (*PartialSumSigma(Index))(i)) return ((*theElementVector)(i));
|
||||
if (rval <= (*PartialSumSigma[Index])[i]) return ((*theElementVector)(i));
|
||||
}
|
||||
G4cout << " WARNING !!! - The Material '"<< aMaterial->GetName()
|
||||
<< "' has no elements, NULL pointer returned." << G4endl;
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IMultipleScattering.cc,v 1.1 2000/03/20 14:44:04 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IMultipleScattering.cc,v 1.1 2001/03/05 10:55:24 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// --------------------------------------------------------------
|
||||
+8
-6
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IeBremsstrahlung.cc,v 1.5 2000/04/25 14:33:08 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IeBremsstrahlung.cc,v 1.1 2001/03/05 10:55:24 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// --------------------------------------------------------------
|
||||
@@ -928,7 +928,9 @@ void G4IeBremsstrahlung::BuildLambdaTable(const G4ParticleDefinition& ParticleTy
|
||||
}
|
||||
theMeanFreePathTable = new G4PhysicsTable( G4Material::GetNumberOfMaterials() ) ;
|
||||
|
||||
PartialSumSigma.clearAndDestroy();
|
||||
PartialSumSigma.resize( G4Material::GetNumberOfMaterials() );
|
||||
|
||||
G4PhysicsLogVector* ptrVector;
|
||||
for ( G4int J=0 ; J < G4Material::GetNumberOfMaterials(); J++ )
|
||||
{
|
||||
@@ -966,7 +968,7 @@ void G4IeBremsstrahlung::ComputePartialSumSigma(const G4ParticleDefinition* Part
|
||||
const G4double* theAtomNumDensityVector = aMaterial->GetAtomicNumDensityVector();
|
||||
G4double GammaEnergyCut = (G4Gamma::GetCutsInEnergy())[Imate];
|
||||
|
||||
PartialSumSigma(Imate) = new G4ValVector(NbOfElements);
|
||||
PartialSumSigma[Imate] = new G4DataVector();
|
||||
|
||||
G4double SIGMA = 0. ;
|
||||
|
||||
@@ -976,7 +978,7 @@ void G4IeBremsstrahlung::ComputePartialSumSigma(const G4ParticleDefinition* Part
|
||||
ComputeMicroscopicCrossSection( ParticleType, KineticEnergy,
|
||||
(*theElementVector)(Ielem)->GetZ(),
|
||||
GammaEnergyCut );
|
||||
PartialSumSigma(Imate)->insertAt(Ielem, SIGMA);
|
||||
PartialSumSigma[Imate]->push_back(SIGMA);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1402,9 +1404,9 @@ G4Element* G4IeBremsstrahlung::SelectRandomAtom(G4Material* aMaterial) const
|
||||
const G4int NumberOfElements = aMaterial->GetNumberOfElements();
|
||||
const G4ElementVector* theElementVector = aMaterial->GetElementVector();
|
||||
|
||||
G4double rval = G4UniformRand()*((*PartialSumSigma(Index))(NumberOfElements-1));
|
||||
G4double rval = G4UniformRand()*((*PartialSumSigma[Index])[NumberOfElements-1]);
|
||||
for ( G4int i=0; i < NumberOfElements; i++ )
|
||||
if (rval <= (*PartialSumSigma(Index))(i)) return ((*theElementVector)(i));
|
||||
if (rval <= (*PartialSumSigma[Index])[i]) return ((*theElementVector)(i));
|
||||
G4cout << " WARNING !!! - The Material '"<< aMaterial->GetName()
|
||||
<< "' has no elements, NULL pointer returned." << G4endl;
|
||||
return NULL;
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IeIonisation.cc,v 1.5 2000/04/25 14:33:08 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IeIonisation.cc,v 1.1 2001/03/05 10:55:24 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// -------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IeplusAnnihilation.cc,v 1.6 1999/12/15 14:51:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IeplusAnnihilation.cc,v 1.1 2001/03/05 10:55:24 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// --------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IhIonisation.cc,v 1.9 2000/08/01 08:12:13 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4IhIonisation.cc,v 1.1 2001/03/05 10:55:25 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// -------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VIMuEnergyLoss.cc,v 1.3 2000/08/15 09:40:41 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4VIMuEnergyLoss.cc,v 1.1 2001/03/05 10:55:25 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// --------------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VIeEnergyLoss.cc,v 1.3 2000/08/15 09:42:45 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4VIeEnergyLoss.cc,v 1.1 2001/03/05 10:55:25 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// -----------------------------------------------------------
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VIhEnergyLoss.cc,v 1.3 2000/08/15 09:42:45 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4VIhEnergyLoss.cc,v 1.1 2001/03/05 10:55:25 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// -----------------------------------------------------------
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 1.57 2000/12/14 09:46:23 gcosmo Exp $
|
||||
$Id: History,v 1.58 2001/02/05 17:45:13 gcosmo Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -17,6 +17,15 @@ committal in the CVS repository !
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
05.02.2001 - G.Cosmo, tag emlowen-V03-00-00
|
||||
Migration to STL for G4DataVector and G4OrderedTable:
|
||||
o Removed obsolete class G4Data. G4DataVector is now used instead.
|
||||
o Modified files:
|
||||
G4LowEnergyBremsstrahlung[.hh.icc.cc], G4FirstLevel.hh,
|
||||
G4LowEnergyGammaConversion[.hh.cc], G4LowEnergyIonisation[.hh.cc],
|
||||
G4LowEnergyPhotoElectric[.hh.cc], G4LowEnergyRayleigh[.hh.cc],
|
||||
G4LowEnergyCompton[.hh.cc], G4LowEnergyUtilities[.hh.cc].
|
||||
|
||||
14.12.2000 - G.Cosmo, tag emlowen-V02-00-23
|
||||
Removed inclusion of CLHEP/String/Strings.h from G4LowEnergyUtilities.cc.
|
||||
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
// 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.
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// GEANT 4 class file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
// CERN, Geneva, Switzerland
|
||||
//
|
||||
// File name: G4Data.hh
|
||||
//
|
||||
// Author: Alessandra Forti (Alessandra.Forti@cern.ch)
|
||||
//
|
||||
// Creation date: 1 Giugno 1999
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
//
|
||||
// Class description:
|
||||
// Utility for Low Energy electromagnetic e/photon processes
|
||||
// Further documentation available from http://www.ge.infn.it/geant4/lowE
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4DATA_HH
|
||||
#define G4DATA_HH
|
||||
|
||||
#include "G4DataVector.hh"
|
||||
|
||||
class G4Data : public G4DataVector{
|
||||
|
||||
|
||||
public:
|
||||
|
||||
~G4Data();
|
||||
|
||||
G4bool operator == (const G4Data& ) const;
|
||||
|
||||
G4bool operator < (const G4Data&) const;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -29,10 +29,10 @@
|
||||
#ifndef G4FIRSTLEVEL_HH
|
||||
#define G4FIRSTLEVEL_HH
|
||||
|
||||
#include "G4Data.hh"
|
||||
#include "G4DataVector.hh"
|
||||
#include "g4rw/tpordvec.h"
|
||||
|
||||
class G4FirstLevel : public G4RWTPtrOrderedVector< G4Data >{
|
||||
class G4FirstLevel : public G4RWTPtrOrderedVector< G4DataVector >{
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyBremsstrahlung.hh,v 1.12 2000/11/03 10:29:50 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyBremsstrahlung.hh,v 1.13 2001/02/05 17:45:15 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -101,7 +101,7 @@ private:
|
||||
|
||||
G4SecondLevel* ATable;
|
||||
G4FirstLevel* BTable;
|
||||
G4Data* ZNumVec;
|
||||
G4DataVector* ZNumVec;
|
||||
|
||||
G4LowEnergyUtilities util;
|
||||
// partial sum of total crosssection
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyBremsstrahlung.icc,v 1.13 2000/04/19 13:20:53 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyBremsstrahlung.icc,v 1.14 2001/02/05 17:45:15 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
@@ -83,8 +83,8 @@ inline G4double G4LowEnergyBremsstrahlung::ComputeA(const G4int AtomicNumber,con
|
||||
|
||||
G4double aVal;
|
||||
G4FirstLevel* oneAtomCoeff = (*ATable)[AtomicNumber-1];
|
||||
G4Data* ElectEnVec = (*oneAtomCoeff)[0];
|
||||
G4Data* AValueVec = (*oneAtomCoeff)[1];
|
||||
G4DataVector* ElectEnVec = (*oneAtomCoeff)[0];
|
||||
G4DataVector* AValueVec = (*oneAtomCoeff)[1];
|
||||
|
||||
aVal = util.DataLogInterpolation(ElectronKinEnergy, (*ElectEnVec), (*AValueVec));
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyCompton.hh,v 1.7 2000/11/03 10:29:50 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyCompton.hh,v 1.8 2001/02/05 17:45:15 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -72,7 +72,7 @@ private:
|
||||
G4SecondLevel* theCrossSectionTable;
|
||||
G4SecondLevel* theScatteringFunctionTable;
|
||||
G4PhysicsTable* theMeanFreePathTable;
|
||||
G4Data* ZNumVec;
|
||||
G4DataVector* ZNumVec;
|
||||
|
||||
G4LowEnergyUtilities util;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyCompton.icc,v 1.11 2000/06/22 02:25:25 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyGammaConversion.hh,v 1.6 2000/11/03 10:29:50 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyGammaConversion.hh,v 1.7 2001/02/05 17:45:15 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -81,7 +81,7 @@ private:
|
||||
G4double LowestEnergyLimit;
|
||||
G4double HighestEnergyLimit;
|
||||
G4int NumbBinTable;
|
||||
G4Data* ZNumVec;
|
||||
G4DataVector* ZNumVec;
|
||||
G4double MeanFreePath; // actual Mean Free Path (current medium)
|
||||
};
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyGammaConversion.icc,v 1.9 2000/06/22 02:25:25 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyIonisation.hh,v 1.16 2000/11/03 10:29:51 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyIonisation.hh,v 1.17 2001/02/05 17:45:16 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -65,7 +65,7 @@ public:
|
||||
G4double previousStepSize,
|
||||
G4ForceCondition* condition ) ;
|
||||
|
||||
inline G4double GetTransitionShell(G4int k){return(thePrimShVec(k));};
|
||||
inline G4double GetTransitionShell(G4int k){return(thePrimShVec[k]);};
|
||||
|
||||
G4VParticleChange *PostStepDoIt(const G4Track& track,
|
||||
const G4Step& Step ) ;
|
||||
@@ -130,8 +130,8 @@ private:
|
||||
allAtomTable* theSamplingCoeffTable;
|
||||
G4SecondLevel* theBindingEnergyTable;
|
||||
G4DataVector thePrimShVec;
|
||||
G4Data* ZNumVec;
|
||||
G4Data* ZNumVecFluor;
|
||||
G4DataVector* ZNumVec;
|
||||
G4DataVector* ZNumVecFluor;
|
||||
|
||||
G4LowEnergyUtilities util;
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyPhotoElectric.hh,v 1.14 2000/11/03 10:29:51 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyPhotoElectric.hh,v 1.15 2001/02/05 17:45:16 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -67,7 +67,7 @@ public:
|
||||
G4double GetCrossSection(G4DynamicParticle* aDynamicGamma,
|
||||
G4Element* anElement);
|
||||
|
||||
inline G4double GetTransitionShell(G4int k){return(thePrimShVec(k));};
|
||||
inline G4double GetTransitionShell(G4int k){return(thePrimShVec[k]);};
|
||||
|
||||
G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep);
|
||||
|
||||
@@ -106,8 +106,8 @@ private:
|
||||
allAtomTable* theFluorTransitionTable;
|
||||
G4SecondLevel* theBindingEnergyTable;
|
||||
G4DataVector thePrimShVec;
|
||||
G4Data* ZNumVec;
|
||||
G4Data* ZNumVecFluor;
|
||||
G4DataVector* ZNumVec;
|
||||
G4DataVector* ZNumVecFluor;
|
||||
|
||||
G4LowEnergyUtilities util;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyPhotoElectric.icc,v 1.14 2000/06/22 02:25:26 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyRayleigh.hh,v 1.7 2000/11/03 10:29:51 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyRayleigh.hh,v 1.8 2001/02/05 17:45:16 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -72,7 +72,7 @@ private:
|
||||
G4SecondLevel* theCrossSectionTable;
|
||||
G4SecondLevel* theFormFactorTable;
|
||||
G4PhysicsTable* theMeanFreePathTable;
|
||||
G4Data* ZNumVec;
|
||||
G4DataVector* ZNumVec;
|
||||
|
||||
G4LowEnergyUtilities util;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyRayleigh.icc,v 1.10 2000/06/22 02:25:26 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyUtilities.hh,v 1.6 2000/11/03 10:29:51 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyUtilities.hh,v 1.7 2001/02/05 17:45:16 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -50,26 +50,26 @@ public:
|
||||
G4SecondLevel* BuildSecondLevelTables(const G4int, const G4int, const char*);
|
||||
|
||||
//inline functions
|
||||
G4int FindBinLocation(const G4double BinValue, const G4Data& arg);
|
||||
G4int FindBinLocation(const G4double BinValue, const G4DataVector& arg);
|
||||
G4int FindBinLocation(const G4double, const G4PhysicsVector*);
|
||||
|
||||
G4double DataLogInterpolation(const G4double,
|
||||
const G4Data&,
|
||||
const G4Data&);
|
||||
const G4DataVector&,
|
||||
const G4DataVector&);
|
||||
|
||||
G4double DataLogInterpolation(const G4double Argument,
|
||||
const G4double AtomicNumber,
|
||||
const G4PhysicsTable* Table);
|
||||
|
||||
G4double DataSemiLogInterpolation(const G4double,
|
||||
const G4Data&,
|
||||
const G4Data&);
|
||||
const G4DataVector&,
|
||||
const G4DataVector&);
|
||||
|
||||
};
|
||||
|
||||
inline G4int G4LowEnergyUtilities::FindBinLocation(const G4double arg, const G4Data& vec){
|
||||
inline G4int G4LowEnergyUtilities::FindBinLocation(const G4double arg, const G4DataVector& vec){
|
||||
|
||||
G4int numberOfBin = vec.length();
|
||||
G4int numberOfBin = vec.size();
|
||||
G4int lowerBound = 0;
|
||||
G4int upperBound = numberOfBin-1;
|
||||
|
||||
@@ -91,12 +91,12 @@ inline G4int G4LowEnergyUtilities::FindBinLocation(const G4double arg, const G4D
|
||||
|
||||
|
||||
inline G4double G4LowEnergyUtilities::DataLogInterpolation(const G4double Argument,
|
||||
const G4Data& argVec,
|
||||
const G4Data& valVec){
|
||||
const G4DataVector& argVec,
|
||||
const G4DataVector& valVec){
|
||||
|
||||
G4int theLoc = FindBinLocation(Argument, argVec);
|
||||
|
||||
if(theLoc == argVec.length()-1){
|
||||
if(theLoc == argVec.size()-1){
|
||||
return valVec[theLoc];
|
||||
}
|
||||
|
||||
@@ -162,12 +162,12 @@ inline G4double G4LowEnergyUtilities::DataLogInterpolation(const G4double Argume
|
||||
}
|
||||
|
||||
inline G4double G4LowEnergyUtilities::DataSemiLogInterpolation(const G4double Argument,
|
||||
const G4Data& argVec,
|
||||
const G4Data& valVec){
|
||||
const G4DataVector& argVec,
|
||||
const G4DataVector& valVec){
|
||||
|
||||
G4int theLoc = FindBinLocation(Argument, argVec);
|
||||
|
||||
if(theLoc == argVec.length()-1){
|
||||
if(theLoc == argVec.size()-1){
|
||||
return valVec[theLoc];
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VeLowEnergyLoss.hh,v 1.3 2000/11/03 10:29:51 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// 3.4.2000 Veronique Lefebure:
|
||||
// Move utils/include/G4VEnergyLoss.hh to
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4eLowEnergyLoss.hh,v 1.1 2000/04/04 13:47:35 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4eLowEnergyLoss.icc,v 1.1 2000/04/04 13:47:36 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
// GEANT 4 class inlined methods file
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4hLowEnergyLoss.hh,v 1.9 2000/11/03 10:29:51 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4hLowEnergyLoss.icc,v 1.1 2000/03/31 15:15:22 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
// 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.
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// GEANT 4 class file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
// CERN, Geneva, Switzerland
|
||||
//
|
||||
// File name: G4Data.hh
|
||||
//
|
||||
// Author: Alessandra Forti (Alessandra.Forti@cern.ch)
|
||||
//
|
||||
// Creation date: 1 Giugno 1999
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#include "G4Data.hh"
|
||||
|
||||
|
||||
G4Data::~G4Data(){
|
||||
|
||||
this->clear();
|
||||
}
|
||||
|
||||
G4bool G4Data::operator == (const G4Data& input) const {
|
||||
|
||||
return(this->length() == input.length());
|
||||
|
||||
}
|
||||
|
||||
G4bool G4Data::operator < (const G4Data& input) const {
|
||||
|
||||
return(this->length() < input.length());
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyBremsstrahlung.cc,v 1.27 2000/09/20 16:49:40 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyBremsstrahlung.cc,v 1.28 2001/02/05 17:45:18 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -75,7 +75,6 @@ G4LowEnergyBremsstrahlung::~G4LowEnergyBremsstrahlung()
|
||||
}
|
||||
|
||||
if(ZNumVec){
|
||||
|
||||
ZNumVec->clear();
|
||||
delete ZNumVec;
|
||||
}
|
||||
@@ -151,7 +150,7 @@ void G4LowEnergyBremsstrahlung::BuildCrossSectionTable(){
|
||||
theCrossSectionTable = new G4SecondLevel();
|
||||
G4int dataNum = 2;
|
||||
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->entries(); TableInd++){
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->size(); TableInd++){
|
||||
|
||||
G4int AtomInd = (G4int) (*ZNumVec)[TableInd];
|
||||
|
||||
@@ -200,7 +199,7 @@ void G4LowEnergyBremsstrahlung::BuildZVec(){
|
||||
delete ZNumVec;
|
||||
}
|
||||
|
||||
ZNumVec = new G4Data();
|
||||
ZNumVec = new G4DataVector();
|
||||
for (G4int J=0 ; J < numOfMaterials; J++){
|
||||
|
||||
const G4Material* material= (*theMaterialTable)[J];
|
||||
@@ -211,12 +210,9 @@ void G4LowEnergyBremsstrahlung::BuildZVec(){
|
||||
|
||||
G4double Zel = (*theElementVector)(iel)->GetZ();
|
||||
|
||||
if(ZNumVec->contains(Zel) == FALSE){
|
||||
|
||||
ZNumVec->insert(Zel);
|
||||
}
|
||||
else{
|
||||
|
||||
if( !(ZNumVec->contains(Zel)) ) {
|
||||
ZNumVec->push_back(Zel);
|
||||
} else{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -301,6 +297,7 @@ void G4LowEnergyBremsstrahlung::BuildMeanFreePathTable()
|
||||
G4Material* material;
|
||||
G4double* CutInKineticEnergy = G4Gamma::Gamma()->GetCutsInEnergy() ;
|
||||
|
||||
PartialSumSigma.clearAndDestroy();
|
||||
PartialSumSigma.resize(NumbOfMaterials);
|
||||
|
||||
G4double LowEdgeEnergy , Value;
|
||||
@@ -362,7 +359,7 @@ void G4LowEnergyBremsstrahlung::ComputePartialSumSigma(const G4double KineticEne
|
||||
const G4ElementVector* theElementVector = aMaterial->GetElementVector();
|
||||
const G4double* theAtomNumDensityVector = aMaterial->GetAtomicNumDensityVector();
|
||||
|
||||
PartialSumSigma(Imate) = new G4ValVector(NbOfElements);
|
||||
PartialSumSigma[Imate] = new G4DataVector();
|
||||
|
||||
G4double SIGMA = 0. ;
|
||||
|
||||
@@ -374,7 +371,7 @@ void G4LowEnergyBremsstrahlung::ComputePartialSumSigma(const G4double KineticEne
|
||||
|
||||
SIGMA += theAtomNumDensityVector[Ielem]*interCrsSec;
|
||||
|
||||
PartialSumSigma(Imate)->insert(SIGMA);
|
||||
PartialSumSigma[Imate]->push_back(SIGMA);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -661,9 +658,9 @@ G4Element* G4LowEnergyBremsstrahlung::SelectRandomAtom(G4Material* aMaterial) co
|
||||
const G4int NumberOfElements = aMaterial->GetNumberOfElements();
|
||||
const G4ElementVector* theElementVector = aMaterial->GetElementVector();
|
||||
|
||||
G4double rval = G4UniformRand()*((*PartialSumSigma(Index))(NumberOfElements-1));
|
||||
G4double rval = G4UniformRand()*((*PartialSumSigma[Index])[NumberOfElements-1]);
|
||||
for ( G4int i=0; i < NumberOfElements; i++ )
|
||||
if (rval <= (*PartialSumSigma(Index))(i)) return ((*theElementVector)(i));
|
||||
if (rval <= (*PartialSumSigma[Index])[i]) return ((*theElementVector)(i));
|
||||
return (*theElementVector)(0);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyCompton.cc,v 1.20 2000/07/11 18:46:47 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyCompton.cc,v 1.21 2001/02/05 17:45:18 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -71,7 +71,6 @@ G4LowEnergyCompton::~G4LowEnergyCompton()
|
||||
}
|
||||
|
||||
if(ZNumVec){
|
||||
|
||||
ZNumVec->clear();
|
||||
delete ZNumVec;
|
||||
}
|
||||
@@ -105,7 +104,7 @@ void G4LowEnergyCompton::BuildCrossSectionTable(){
|
||||
theCrossSectionTable = new G4SecondLevel();
|
||||
G4int dataNum = 2;
|
||||
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->entries(); TableInd++){
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->size(); TableInd++){
|
||||
|
||||
G4int AtomInd = (G4int) (*ZNumVec)[TableInd];
|
||||
|
||||
@@ -126,7 +125,7 @@ void G4LowEnergyCompton::BuildScatteringFunctionTable(){
|
||||
theScatteringFunctionTable = new G4SecondLevel();
|
||||
G4int dataNum = 2;
|
||||
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->entries(); TableInd++){
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->size(); TableInd++){
|
||||
|
||||
G4int AtomInd = (G4int) (*ZNumVec)[TableInd];
|
||||
|
||||
@@ -143,12 +142,11 @@ void G4LowEnergyCompton::BuildZVec(){
|
||||
G4int numOfMaterials = theMaterialTable->length();
|
||||
|
||||
if(ZNumVec){
|
||||
|
||||
ZNumVec->clear();
|
||||
delete ZNumVec;
|
||||
}
|
||||
|
||||
ZNumVec = new G4Data();
|
||||
ZNumVec = new G4DataVector();
|
||||
for (G4int J=0 ; J < numOfMaterials; J++){
|
||||
|
||||
const G4Material* material= (*theMaterialTable)[J];
|
||||
@@ -160,11 +158,8 @@ void G4LowEnergyCompton::BuildZVec(){
|
||||
G4double Zel = (*theElementVector)(iel)->GetZ();
|
||||
|
||||
if(ZNumVec->contains(Zel) == FALSE){
|
||||
|
||||
ZNumVec->insert(Zel);
|
||||
}
|
||||
else{
|
||||
|
||||
ZNumVec->push_back(Zel);
|
||||
} else{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyGammaConversion.cc,v 1.15 2000/09/04 18:18:08 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyGammaConversion.cc,v 1.16 2001/02/05 17:45:19 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -69,7 +69,6 @@ G4LowEnergyGammaConversion::~G4LowEnergyGammaConversion()
|
||||
}
|
||||
|
||||
if(ZNumVec){
|
||||
|
||||
ZNumVec->clear();
|
||||
delete ZNumVec;
|
||||
}
|
||||
@@ -98,7 +97,7 @@ void G4LowEnergyGammaConversion::BuildCrossSectionTable(){
|
||||
theCrossSectionTable = new G4SecondLevel();
|
||||
G4int dataNum = 2;
|
||||
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->entries(); TableInd++){
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->size(); TableInd++){
|
||||
|
||||
G4int AtomInd = (G4int) (*ZNumVec)[TableInd];
|
||||
|
||||
@@ -115,12 +114,11 @@ void G4LowEnergyGammaConversion::BuildZVec(){
|
||||
G4int numOfMaterials = theMaterialTable->length();
|
||||
|
||||
if(ZNumVec){
|
||||
|
||||
ZNumVec->clear();
|
||||
delete ZNumVec;
|
||||
}
|
||||
|
||||
ZNumVec = new G4Data();
|
||||
ZNumVec = new G4DataVector();
|
||||
for (G4int J=0 ; J < numOfMaterials; J++){
|
||||
|
||||
const G4Material* material= (*theMaterialTable)[J];
|
||||
@@ -132,11 +130,8 @@ void G4LowEnergyGammaConversion::BuildZVec(){
|
||||
G4double Zel = (*theElementVector)(iel)->GetZ();
|
||||
|
||||
if(ZNumVec->contains(Zel) == FALSE){
|
||||
|
||||
ZNumVec->insert(Zel);
|
||||
}
|
||||
else{
|
||||
|
||||
ZNumVec->push_back(Zel);
|
||||
} else{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyIonisation.cc,v 1.40 2000/09/20 16:49:40 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyIonisation.cc,v 1.41 2001/02/05 17:45:20 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------
|
||||
@@ -258,7 +258,7 @@ void G4LowEnergyIonisation::BuildShellCrossSectionTable(){
|
||||
allAtomShellCrossSec = new allAtomTable();
|
||||
G4int dataNum = 2;
|
||||
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->entries(); TableInd++){
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->size(); TableInd++){
|
||||
|
||||
G4int AtomInd = (G4int) (*ZNumVec)[TableInd];
|
||||
|
||||
@@ -291,10 +291,10 @@ void G4LowEnergyIonisation::BuildFluorTransitionTable(){
|
||||
}
|
||||
|
||||
theFluorTransitionTable = new allAtomTable();
|
||||
ZNumVecFluor = new G4Data(*ZNumVec);
|
||||
ZNumVecFluor = new G4DataVector(*ZNumVec);
|
||||
G4int dataNum = 3;
|
||||
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->entries(); TableInd++){
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->size(); TableInd++){
|
||||
G4int AtomInd = (G4int) (*ZNumVec)[TableInd];
|
||||
if(AtomInd > 5){
|
||||
|
||||
@@ -321,7 +321,7 @@ void G4LowEnergyIonisation::BuildSamplingCoeffTable(){
|
||||
|
||||
G4int dataNum = 17;
|
||||
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->entries(); TableInd++){
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->size(); TableInd++){
|
||||
G4int AtomInd = (G4int) (*ZNumVec)[TableInd];
|
||||
oneAtomTable* oneAtomShellSc = util.BuildSecondLevelTables(AtomInd, dataNum, "ioni/io-co-");
|
||||
|
||||
@@ -346,7 +346,7 @@ void G4LowEnergyIonisation::BuildZVec(){
|
||||
delete ZNumVec;
|
||||
}
|
||||
|
||||
ZNumVec = new G4Data();
|
||||
ZNumVec = new G4DataVector();
|
||||
for (G4int J=0 ; J < numOfMaterials; J++){
|
||||
|
||||
const G4Material* material= (*theMaterialTable)[J];
|
||||
@@ -358,11 +358,8 @@ void G4LowEnergyIonisation::BuildZVec(){
|
||||
G4double Zel = (*theElementVector)(iel)->GetZ();
|
||||
|
||||
if(ZNumVec->contains(Zel) == FALSE){
|
||||
|
||||
ZNumVec->insert(Zel);
|
||||
}
|
||||
else{
|
||||
|
||||
ZNumVec->push_back(Zel);
|
||||
} else{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -452,8 +449,8 @@ G4double G4LowEnergyIonisation::ComputeCrossSection(const G4double AtomIndex,
|
||||
for(G4int ind = 0; ind < oneAtomCS->entries(); ind++){
|
||||
|
||||
G4double crossSec = 0;
|
||||
G4Data* EnergyVector = (*(*oneAtomCS)[ind])[0];
|
||||
G4Data* CrossSecVector = (*(*oneAtomCS)[ind])[1];
|
||||
G4DataVector* EnergyVector = (*(*oneAtomCS)[ind])[0];
|
||||
G4DataVector* CrossSecVector = (*(*oneAtomCS)[ind])[1];
|
||||
|
||||
if(IncEnergy < (*EnergyVector)[1]){ // First element is the shell number
|
||||
|
||||
@@ -484,8 +481,8 @@ G4double G4LowEnergyIonisation::ComputeCrossSectionWithCut(const G4double AtomIn
|
||||
for(G4int ind = 0; ind < oneAtomCS->entries(); ind++){
|
||||
|
||||
G4double crossSec = 0;
|
||||
G4Data* EnergyVector = (*(*oneAtomCS)[ind])[0];
|
||||
G4Data* CrossSecVector = (*(*oneAtomCS)[ind])[1];
|
||||
G4DataVector* EnergyVector = (*(*oneAtomCS)[ind])[0];
|
||||
G4DataVector* CrossSecVector = (*(*oneAtomCS)[ind])[1];
|
||||
|
||||
TotalCrossSection += GetShellCrossSectionwithCut(AtomIndex,ind,IncEnergy,CutEnergy);
|
||||
}
|
||||
@@ -507,8 +504,8 @@ G4double G4LowEnergyIonisation::GetShellCrossSection(const G4double AtomicNumber
|
||||
|
||||
if( ind >= oneAtomCS->entries() ) return crossSec ;
|
||||
|
||||
G4Data* EnergyVector = (*(*oneAtomCS)[ind])[0];
|
||||
G4Data* CrossSecVector = (*(*oneAtomCS)[ind])[1];
|
||||
G4DataVector* EnergyVector = (*(*oneAtomCS)[ind])[0];
|
||||
G4DataVector* CrossSecVector = (*(*oneAtomCS)[ind])[1];
|
||||
|
||||
if(KineticEnergy < (*EnergyVector)[1]){ // First element is the shell number
|
||||
|
||||
@@ -561,27 +558,27 @@ G4double G4LowEnergyIonisation::GetShellCrossSectionwithCut(
|
||||
|
||||
const G4int CoeffNumber = oneShellCoeffTable->entries();
|
||||
|
||||
const G4Data* energyVec = (*oneShellCoeffTable)[0];
|
||||
const G4int LastPar = energyVec->length()-1;
|
||||
G4Data Parms;
|
||||
const G4DataVector* energyVec = (*oneShellCoeffTable)[0];
|
||||
const G4int LastPar = energyVec->size()-1;
|
||||
G4DataVector Parms;
|
||||
|
||||
for(G4int ind = 1; ind < CoeffNumber-2; ind++){
|
||||
|
||||
const G4Data* oneCoeffVec = (*oneShellCoeffTable)[ind];
|
||||
const G4DataVector* oneCoeffVec = (*oneShellCoeffTable)[ind];
|
||||
|
||||
if(KineticEnergy < (*energyVec)[0]){
|
||||
Parms.insert((*oneCoeffVec)[0]);
|
||||
Parms.push_back((*oneCoeffVec)[0]);
|
||||
}
|
||||
|
||||
else if(KineticEnergy > (*energyVec)[LastPar]){
|
||||
|
||||
Parms.insert((*oneCoeffVec)[LastPar]);
|
||||
Parms.push_back((*oneCoeffVec)[LastPar]);
|
||||
}
|
||||
|
||||
else{
|
||||
|
||||
G4double par = util.DataSemiLogInterpolation(KineticEnergy,(*energyVec),(*oneCoeffVec));
|
||||
Parms.insert(par);
|
||||
Parms.push_back(par);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -763,27 +760,27 @@ G4double G4LowEnergyIonisation::GetShellEnergyLosswithCut(
|
||||
|
||||
const G4int CoeffNumber = oneShellCoeffTable->entries();
|
||||
|
||||
const G4Data* energyVec = (*oneShellCoeffTable)[0];
|
||||
const G4int LastPar = energyVec->length()-1;
|
||||
G4Data Parms;
|
||||
const G4DataVector* energyVec = (*oneShellCoeffTable)[0];
|
||||
const G4int LastPar = energyVec->size()-1;
|
||||
G4DataVector Parms;
|
||||
|
||||
for(G4int ind = 1; ind < CoeffNumber-2; ind++){
|
||||
|
||||
const G4Data* oneCoeffVec = (*oneShellCoeffTable)[ind];
|
||||
const G4DataVector* oneCoeffVec = (*oneShellCoeffTable)[ind];
|
||||
|
||||
if(KineticEnergy < (*energyVec)[0]){
|
||||
Parms.insert((*oneCoeffVec)[0]);
|
||||
Parms.push_back((*oneCoeffVec)[0]);
|
||||
}
|
||||
|
||||
else if(KineticEnergy > (*energyVec)[LastPar]){
|
||||
|
||||
Parms.insert((*oneCoeffVec)[LastPar]);
|
||||
Parms.push_back((*oneCoeffVec)[LastPar]);
|
||||
}
|
||||
|
||||
else{
|
||||
|
||||
G4double par = util.DataSemiLogInterpolation(KineticEnergy,(*energyVec),(*oneCoeffVec));
|
||||
Parms.insert(par);
|
||||
Parms.push_back(par);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1125,8 +1122,8 @@ G4VParticleChange* G4LowEnergyIonisation::PostStepDoIt( const G4Track& trackData
|
||||
|
||||
// Fluorescence data start from element 6
|
||||
|
||||
if(thePrimShVec.length() != 0){thePrimShVec.clear();}
|
||||
thePrimShVec.insert(thePrimaryShell);
|
||||
if(thePrimShVec.size() != 0){thePrimShVec.clear();}
|
||||
thePrimShVec.push_back(thePrimaryShell);
|
||||
if(AtomIndex > 5){
|
||||
|
||||
G4bool ThereAreShells = TRUE;
|
||||
@@ -1288,8 +1285,8 @@ G4int G4LowEnergyIonisation::SelectRandomShell(const G4int AtomIndex
|
||||
for(G4int ind = 0; ind < oneAtomCS->entries(); ind++){
|
||||
|
||||
G4double crossSec;
|
||||
G4Data* EnergyVector = (*(*oneAtomCS)[ind])[0];
|
||||
G4Data* CrossSecVector = (*(*oneAtomCS)[ind])[1];
|
||||
G4DataVector* EnergyVector = (*(*oneAtomCS)[ind])[0];
|
||||
G4DataVector* CrossSecVector = (*(*oneAtomCS)[ind])[1];
|
||||
if(IncEnergy < (*EnergyVector)[0]){ //First element is the shell number
|
||||
|
||||
crossSec = 0;
|
||||
@@ -1403,7 +1400,7 @@ G4bool G4LowEnergyIonisation::SelectRandomTransition(G4int thePrimShell,
|
||||
G4double PartSum = 0;
|
||||
|
||||
TransProb = 1;
|
||||
while(TransProb < (*(*TransitionTable)[ShellNum])[ProbCol]->length()){
|
||||
while(TransProb < (*(*TransitionTable)[ShellNum])[ProbCol]->size()){
|
||||
|
||||
PartSum += (*(*(*TransitionTable)[ShellNum])[ProbCol])[TransProb];
|
||||
|
||||
@@ -1457,21 +1454,21 @@ G4double G4LowEnergyIonisation::EnergySampling(const G4int AtomicNumber,
|
||||
// 2) Interpolate coefficients (I need the incoming electron kinetic energy)
|
||||
const G4int CoeffNumber = oneShellCoeffTable->entries();
|
||||
|
||||
const G4Data* energyVec = (*oneShellCoeffTable)[0];
|
||||
const G4int LastPar = energyVec->length()-1;
|
||||
G4Data Parms;
|
||||
const G4DataVector* energyVec = (*oneShellCoeffTable)[0];
|
||||
const G4int LastPar = energyVec->size()-1;
|
||||
G4DataVector Parms;
|
||||
|
||||
for(G4int ind = 1; ind < CoeffNumber-2; ind++){
|
||||
|
||||
const G4Data* oneCoeffVec = (*oneShellCoeffTable)[ind];
|
||||
const G4DataVector* oneCoeffVec = (*oneShellCoeffTable)[ind];
|
||||
|
||||
if(KinEn < (*energyVec)[0]){
|
||||
Parms.insert((*oneCoeffVec)[0]);
|
||||
Parms.push_back((*oneCoeffVec)[0]);
|
||||
}
|
||||
|
||||
else if(KinEn > (*energyVec)[LastPar]){
|
||||
|
||||
Parms.insert((*oneCoeffVec)[LastPar]);
|
||||
Parms.push_back((*oneCoeffVec)[LastPar]);
|
||||
}
|
||||
|
||||
else{
|
||||
@@ -1480,7 +1477,7 @@ G4double G4LowEnergyIonisation::EnergySampling(const G4int AtomicNumber,
|
||||
// can be negative.
|
||||
|
||||
G4double par = util.DataSemiLogInterpolation(KinEn,(*energyVec),(*oneCoeffVec));
|
||||
Parms.insert(par);
|
||||
Parms.push_back(par);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyPhotoElectric.cc,v 1.26 2000/07/11 18:46:48 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyPhotoElectric.cc,v 1.27 2001/02/05 17:45:21 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -93,7 +93,6 @@ G4LowEnergyPhotoElectric::~G4LowEnergyPhotoElectric()
|
||||
|
||||
// ClearAndDestroy of this tables is called in their destructors
|
||||
if (theFluorTransitionTable) {
|
||||
|
||||
delete theFluorTransitionTable;
|
||||
}
|
||||
|
||||
@@ -103,14 +102,12 @@ G4LowEnergyPhotoElectric::~G4LowEnergyPhotoElectric()
|
||||
}
|
||||
|
||||
if(ZNumVec){
|
||||
|
||||
ZNumVec->clear();
|
||||
delete ZNumVec;
|
||||
}
|
||||
|
||||
if(ZNumVecFluor){
|
||||
|
||||
ZNumVecFluor->clear();
|
||||
ZNumVecFluor->erase(ZNumVecFluor->begin(),ZNumVecFluor->end());
|
||||
delete ZNumVecFluor;
|
||||
}
|
||||
|
||||
@@ -157,7 +154,7 @@ void G4LowEnergyPhotoElectric::BuildCrossSectionTable(){
|
||||
theCrossSectionTable = new G4SecondLevel();
|
||||
G4int dataNum = 2;
|
||||
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->entries(); TableInd++){
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->size(); TableInd++){
|
||||
|
||||
G4int AtomInd = (G4int) (*ZNumVec)[TableInd];
|
||||
|
||||
@@ -181,7 +178,7 @@ void G4LowEnergyPhotoElectric::BuildShellCrossSectionTable(){
|
||||
allAtomShellCrossSec = new allAtomTable();
|
||||
G4int dataNum = 2;
|
||||
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->entries(); TableInd++){
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->size(); TableInd++){
|
||||
|
||||
G4int AtomInd = (G4int) (*ZNumVec)[TableInd];
|
||||
|
||||
@@ -217,10 +214,10 @@ void G4LowEnergyPhotoElectric::BuildFluorTransitionTable(){
|
||||
}
|
||||
|
||||
theFluorTransitionTable = new allAtomTable();
|
||||
ZNumVecFluor = new G4Data(*ZNumVec);
|
||||
ZNumVecFluor = new G4DataVector(*ZNumVec);
|
||||
G4int dataNum = 3;
|
||||
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->entries(); TableInd++){
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->size(); TableInd++){
|
||||
G4int AtomInd = (G4int) (*ZNumVec)[TableInd];
|
||||
if(AtomInd > 5){
|
||||
|
||||
@@ -244,12 +241,11 @@ void G4LowEnergyPhotoElectric::BuildZVec(){
|
||||
G4int numOfMaterials = theMaterialTable->length();
|
||||
|
||||
if(ZNumVec){
|
||||
|
||||
ZNumVec->clear();
|
||||
delete ZNumVec;
|
||||
}
|
||||
|
||||
ZNumVec = new G4Data();
|
||||
ZNumVec = new G4DataVector();
|
||||
for (G4int J=0 ; J < numOfMaterials; J++){
|
||||
|
||||
const G4Material* material= (*theMaterialTable)[J];
|
||||
@@ -261,11 +257,8 @@ void G4LowEnergyPhotoElectric::BuildZVec(){
|
||||
G4double Zel = (*theElementVector)(iel)->GetZ();
|
||||
|
||||
if(ZNumVec->contains(Zel) == FALSE){
|
||||
|
||||
ZNumVec->insert(Zel);
|
||||
}
|
||||
else{
|
||||
|
||||
ZNumVec->push_back(Zel);
|
||||
} else{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -290,8 +283,8 @@ G4double G4LowEnergyPhotoElectric::ComputeCrossSection(const G4double AtomIndex,
|
||||
for(G4int ind = 0; ind < oneAtomCS->entries(); ind++){
|
||||
|
||||
G4double crossSec = 0;
|
||||
G4Data* EnergyVector = (*(*oneAtomCS)[ind])[0];
|
||||
G4Data* CrossSecVector = (*(*oneAtomCS)[ind])[1];
|
||||
G4DataVector* EnergyVector = (*(*oneAtomCS)[ind])[0];
|
||||
G4DataVector* CrossSecVector = (*(*oneAtomCS)[ind])[1];
|
||||
|
||||
if(IncEnergy < (*EnergyVector)[1]){ // First element is the shell number
|
||||
|
||||
@@ -412,12 +405,12 @@ G4VParticleChange* G4LowEnergyPhotoElectric::PostStepDoIt(const G4Track& aTrack,
|
||||
G4int thePrimaryShell = (G4int) (*(*theBindEnVec)[0])[subShellIndex];
|
||||
G4double BindingEn = ((*(*theBindEnVec)[1])[subShellIndex])*MeV;
|
||||
|
||||
if(thePrimShVec.length() != 0){
|
||||
if(thePrimShVec.size() != 0){
|
||||
|
||||
thePrimShVec.clear();
|
||||
}
|
||||
|
||||
thePrimShVec.insert(thePrimaryShell);
|
||||
thePrimShVec.push_back(thePrimaryShell);
|
||||
|
||||
// Create lists of pointers to DynamicParticles (photons and electrons)
|
||||
G4ParticleVector photvec;
|
||||
@@ -578,8 +571,8 @@ G4int G4LowEnergyPhotoElectric::SelectRandomShell(const G4int AtomIndex,
|
||||
for(G4int ind = 0; ind < oneAtomCS->entries(); ind++){
|
||||
|
||||
G4double crossSec;
|
||||
G4Data* EnergyVector = (*(*oneAtomCS)[ind])[0];
|
||||
G4Data* CrossSecVector = (*(*oneAtomCS)[ind])[1];
|
||||
G4DataVector* EnergyVector = (*(*oneAtomCS)[ind])[0];
|
||||
G4DataVector* CrossSecVector = (*(*oneAtomCS)[ind])[1];
|
||||
if(IncEnergy < (*EnergyVector)[0]){ //First element is the shell number
|
||||
|
||||
crossSec = 0;
|
||||
@@ -643,7 +636,6 @@ G4LowEnergyPhotoElectric::SelectRandomAtom(const G4DynamicParticle* aDynamicPhot
|
||||
}
|
||||
return (*theElementVector)(0);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
//
|
||||
@@ -701,7 +693,7 @@ G4bool G4LowEnergyPhotoElectric::SelectRandomTransition(G4int thePrimShell,
|
||||
G4double PartSum = 0;
|
||||
|
||||
TransProb = 1;
|
||||
while(TransProb < (*(*TransitionTable)[ShellNum])[ProbCol]->length()){
|
||||
while(TransProb < (*(*TransitionTable)[ShellNum])[ProbCol]->size()){
|
||||
|
||||
PartSum += (*(*(*TransitionTable)[ShellNum])[ProbCol])[TransProb];
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyRayleigh.cc,v 1.18 2000/07/11 18:46:48 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyRayleigh.cc,v 1.19 2001/02/05 17:45:21 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -71,7 +71,6 @@ G4LowEnergyRayleigh::~G4LowEnergyRayleigh()
|
||||
}
|
||||
|
||||
if(ZNumVec){
|
||||
|
||||
ZNumVec->clear();
|
||||
delete ZNumVec;
|
||||
}
|
||||
@@ -104,7 +103,7 @@ void G4LowEnergyRayleigh::BuildCrossSectionTable(){
|
||||
theCrossSectionTable = new G4SecondLevel();
|
||||
G4int dataNum = 2;
|
||||
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->entries(); TableInd++){
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->size(); TableInd++){
|
||||
|
||||
G4int AtomInd = (G4int) (*ZNumVec)[TableInd];
|
||||
|
||||
@@ -125,7 +124,7 @@ void G4LowEnergyRayleigh::BuildFormFactorTable(){
|
||||
theFormFactorTable = new G4SecondLevel();
|
||||
G4int dataNum = 2;
|
||||
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->entries(); TableInd++){
|
||||
for(G4int TableInd = 0; TableInd < ZNumVec->size(); TableInd++){
|
||||
|
||||
G4int AtomInd = (G4int) (*ZNumVec)[TableInd];
|
||||
|
||||
@@ -142,12 +141,11 @@ void G4LowEnergyRayleigh::BuildZVec(){
|
||||
G4int numOfMaterials = theMaterialTable->length();
|
||||
|
||||
if(ZNumVec){
|
||||
|
||||
ZNumVec->clear();
|
||||
delete ZNumVec;
|
||||
}
|
||||
|
||||
ZNumVec = new G4Data();
|
||||
ZNumVec = new G4DataVector();
|
||||
for (G4int J=0 ; J < numOfMaterials; J++){
|
||||
|
||||
const G4Material* material= (*theMaterialTable)[J];
|
||||
@@ -159,11 +157,8 @@ void G4LowEnergyRayleigh::BuildZVec(){
|
||||
G4double Zel = (*theElementVector)(iel)->GetZ();
|
||||
|
||||
if(ZNumVec->contains(Zel) == FALSE){
|
||||
|
||||
ZNumVec->insert(Zel);
|
||||
}
|
||||
else{
|
||||
|
||||
ZNumVec->push_back(Zel);
|
||||
} else{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -366,3 +361,4 @@ G4Element* G4LowEnergyRayleigh::SelectRandomAtom(const G4DynamicParticle* aDynam
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyUtilities.cc,v 1.7 2000/12/14 09:43:57 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4LowEnergyUtilities.cc,v 1.8 2001/02/05 17:45:21 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -82,7 +82,7 @@ G4SecondLevel* G4LowEnergyUtilities::BuildSecondLevelTables(const G4int TableInd
|
||||
|
||||
for(G4int j = 0; j < ParNum; j++){
|
||||
|
||||
oneShellPar->insertAt(j,new G4Data());
|
||||
oneShellPar->insertAt(j,new G4DataVector());
|
||||
}
|
||||
|
||||
G4double a = 0;
|
||||
@@ -101,7 +101,7 @@ G4SecondLevel* G4LowEnergyUtilities::BuildSecondLevelTables(const G4int TableInd
|
||||
|
||||
for(G4int j = 0; j < ParNum; j++){
|
||||
|
||||
oneShellPar->insertAt(j,new G4Data());
|
||||
oneShellPar->insertAt(j,new G4DataVector());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,12 +122,12 @@ G4SecondLevel* G4LowEnergyUtilities::BuildSecondLevelTables(const G4int TableInd
|
||||
|
||||
if(k%ParNum != 0){
|
||||
|
||||
(*oneShellPar)[k-1]->insert(a);
|
||||
(*oneShellPar)[k-1]->push_back(a);
|
||||
k++;
|
||||
}
|
||||
else if(k%ParNum == 0){
|
||||
|
||||
(*oneShellPar)[k-1]->insert(a);
|
||||
(*oneShellPar)[k-1]->push_back(a);
|
||||
k = 1;
|
||||
}
|
||||
}
|
||||
@@ -181,7 +181,7 @@ G4FirstLevel* G4LowEnergyUtilities::BuildFirstLevelTables(const G4int TableInd,
|
||||
|
||||
for(G4int j = 0; j < ParNum; j++){
|
||||
|
||||
oneAtomPar->insertAt(j,new G4Data());
|
||||
oneAtomPar->insertAt(j,new G4DataVector());
|
||||
}
|
||||
|
||||
G4double a = 0;
|
||||
@@ -198,12 +198,12 @@ G4FirstLevel* G4LowEnergyUtilities::BuildFirstLevelTables(const G4int TableInd,
|
||||
|
||||
if(k%ParNum != 0){
|
||||
|
||||
(*oneAtomPar)[k-1]->insert(a);
|
||||
(*oneAtomPar)[k-1]->push_back(a);
|
||||
k++;
|
||||
}
|
||||
else if(k%ParNum == 0){
|
||||
|
||||
(*oneAtomPar)[k-1]->insert(a);
|
||||
(*oneAtomPar)[k-1]->push_back(a);
|
||||
k = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VeLowEnergyLoss.cc,v 1.6 2000/11/22 16:06:57 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4eLowEnergyLoss.cc,v 1.7 2000/09/20 16:49:41 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// -----------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4hLowEnergyLoss.cc,v 1.8 2000/11/05 12:17:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// -----------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 1.5 2000/11/08 14:29:11 maire Exp $
|
||||
$Id: History,v 1.11 2001/03/23 15:09:37 maire Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -16,6 +16,26 @@ committal in the CVS repository !
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
23 mar 01 L.Urban (muons-V03-00-05)
|
||||
- R.Kokoulin's correction to energy loss has been commented out
|
||||
in G4MuIonisation.cc
|
||||
|
||||
05 mar 01 mma (muons-V03-00-04)
|
||||
- new subdirectory: integral
|
||||
migration of all G4I.. processes from muons, standard, utils into integral
|
||||
|
||||
05 feb 01: G. Cosmo (muons-V03-00-02)
|
||||
- STL migration for G4OrderedTable and G4DataVector.
|
||||
Modified files: G4IMuBremsstrahlung.cc, G4IMuPairProduction.cc,
|
||||
G4MuBremsstrahlung.cc, G4MuPairProduction.cc
|
||||
|
||||
24 jan 01: L. Urban (muons-V03-00-01)
|
||||
- bug fixed in muon bremstrahlung , in G4MuBremstrahlung.cc
|
||||
in PostStepDoIt.
|
||||
|
||||
16 jan 01: mma (muons-V03-00-00)
|
||||
- small corrections in MuEnergyLoss.cc L.Urban 11-01-01
|
||||
|
||||
08 nov 00: mma (muons-V02-00-03)
|
||||
- signature in GetLossWithFluct changed L.Urban 30/10/00
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MuBremsstrahlung.hh,v 1.8 2000/05/23 09:55:37 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MuBremsstrahlung.icc,v 1.3 1999/12/15 14:51:42 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
// GEANT 4 class inlined methods file
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MuIonisation.hh,v 1.8 2000/04/25 14:18:58 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MuIonisation.icc,v 1.2 1999/12/15 14:51:43 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MuPairProduction.hh,v 1.8 2000/05/23 16:03:25 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MuPairProduction.icc,v 1.3 2000/02/10 08:29:13 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
// GEANT 4 class inlined methods file
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VMuEnergyLoss.hh,v 1.2 2000/06/07 16:50:21 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
// -------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VMuEnergyLoss.icc,v 1.1 2000/04/25 14:18:59 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
// ---------------------------------------------------------------
|
||||
// GEANT 4 class inlined methods file
|
||||
//
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MuBremsstrahlung.cc,v 1.12 2000/05/23 09:58:48 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4MuBremsstrahlung.cc,v 1.14 2001/02/05 17:50:29 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -35,7 +35,7 @@ G4double G4MuBremsstrahlung::tdat[]={1.e3,1.e4,1.e5,1.e6,1.e7,1.e8,1.e9,1.e10};
|
||||
G4int G4MuBremsstrahlung::NBIN = 1000; // 100 ;
|
||||
G4double G4MuBremsstrahlung::ya[1001]={0.};
|
||||
G4double G4MuBremsstrahlung::proba[5][8][1001]={0.};
|
||||
G4double G4MuBremsstrahlung::CutFixed=1.*keV ;
|
||||
G4double G4MuBremsstrahlung::CutFixed=0.98*keV ;
|
||||
|
||||
|
||||
G4double G4MuBremsstrahlung::LowerBoundLambda = 1.*keV ;
|
||||
@@ -210,6 +210,7 @@ void G4MuBremsstrahlung::BuildLambdaTable(
|
||||
delete theMeanFreePathTable;
|
||||
}
|
||||
theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials());
|
||||
PartialSumSigma.clearAndDestroy();
|
||||
PartialSumSigma.resize(G4Material::GetNumberOfMaterials());
|
||||
|
||||
G4PhysicsLogVector* ptrVector;
|
||||
@@ -249,7 +250,7 @@ void G4MuBremsstrahlung::ComputePartialSumSigma(
|
||||
aMaterial->GetAtomicNumDensityVector();
|
||||
G4double GammaEnergyCut = (G4Gamma::Gamma()->GetCutsInEnergy())[Imate];
|
||||
|
||||
PartialSumSigma(Imate) = new G4ValVector(NbOfElements);
|
||||
PartialSumSigma[Imate] = new G4DataVector();
|
||||
|
||||
G4double SIGMA = 0. ;
|
||||
|
||||
@@ -260,7 +261,7 @@ void G4MuBremsstrahlung::ComputePartialSumSigma(
|
||||
(*theElementVector)(Ielem)->GetZ(),
|
||||
(*theElementVector)(Ielem)->GetA(),
|
||||
GammaEnergyCut );
|
||||
PartialSumSigma(Imate)->insertAt(Ielem, SIGMA);
|
||||
PartialSumSigma[Imate]->push_back(SIGMA);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -448,7 +449,6 @@ void G4MuBremsstrahlung::MakeSamplingTables(
|
||||
for(G4int ib=0; ib<=nbin; ib++)
|
||||
{
|
||||
proba[iz][it][ib] /= CrossSection ;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -461,6 +461,9 @@ G4VParticleChange* G4MuBremsstrahlung::PostStepDoIt(const G4Track& trackData,
|
||||
const G4Step& stepData)
|
||||
{
|
||||
|
||||
static G4double ysmall = -100. ;
|
||||
static G4double ytablelow = -5. ;
|
||||
|
||||
aParticleChange.Initialize(trackData);
|
||||
G4Material* aMaterial=trackData.GetMaterial() ;
|
||||
|
||||
@@ -487,7 +490,9 @@ G4VParticleChange* G4MuBremsstrahlung::PostStepDoIt(const G4Track& trackData,
|
||||
G4double dy = 5./G4float(NBIN) ;
|
||||
|
||||
G4double ymin=log(log(GammaEnergyCut/CutFixed)/log(KineticEnergy/CutFixed)) ;
|
||||
G4int iymin = G4int((ymin+5.)/dy+0.5) ;
|
||||
|
||||
if(ymin < ysmall)
|
||||
return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData);
|
||||
|
||||
// sampling using tables
|
||||
G4double v,xc,x,yc,y ;
|
||||
@@ -518,23 +523,30 @@ G4VParticleChange* G4MuBremsstrahlung::PostStepDoIt(const G4Track& trackData,
|
||||
itt=it ;
|
||||
}
|
||||
}
|
||||
G4int iymin = G4int((ymin+5.)/dy+0.5) ;
|
||||
|
||||
G4double r = G4UniformRand() ;
|
||||
if(ymin < ytablelow)
|
||||
{
|
||||
y = ymin + G4UniformRand()*(ytablelow-ymin) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
G4double r = G4UniformRand() ;
|
||||
|
||||
iy = iymin-1 ;
|
||||
delmin = proba[izz][itt][NBINminus1]-proba[izz][itt][iymin] ;
|
||||
do {
|
||||
iy += 1 ;
|
||||
} while ((r > (proba[izz][itt][iy]-proba[izz][itt][iymin])/delmin)
|
||||
&&(iy < NBINminus1)) ;
|
||||
iy = iymin-1 ;
|
||||
delmin = proba[izz][itt][NBINminus1]-proba[izz][itt][iymin] ;
|
||||
do {
|
||||
iy += 1 ;
|
||||
} while ((r > (proba[izz][itt][iy]-proba[izz][itt][iymin])/delmin)
|
||||
&&(iy < NBINminus1)) ;
|
||||
|
||||
//sampling is Done uniformly in y in the bin
|
||||
y = ya[iy] + G4UniformRand() * ( ya[iy+1] - ya[iy] ) ;
|
||||
//sampling is Done uniformly in y in the bin
|
||||
y = ya[iy] + G4UniformRand() * ( ya[iy+1] - ya[iy] ) ;
|
||||
}
|
||||
|
||||
x = exp(y) ;
|
||||
|
||||
v = CutFixed*exp(x*log(KineticEnergy/CutFixed)) ;
|
||||
|
||||
if( v <= 0.)
|
||||
return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData);
|
||||
|
||||
@@ -584,9 +596,9 @@ G4Element* G4MuBremsstrahlung::SelectRandomAtom(G4Material* aMaterial) const
|
||||
const G4int NumberOfElements = aMaterial->GetNumberOfElements();
|
||||
const G4ElementVector* theElementVector = aMaterial->GetElementVector();
|
||||
|
||||
G4double rval = G4UniformRand()*((*PartialSumSigma(Index))(NumberOfElements-1));
|
||||
G4double rval = G4UniformRand()*((*PartialSumSigma[Index])[NumberOfElements-1]);
|
||||
for ( G4int i=0; i < NumberOfElements; i++ )
|
||||
if (rval <= (*PartialSumSigma(Index))(i)) return ((*theElementVector)(i));
|
||||
if (rval <= (*PartialSumSigma[Index])[i]) return ((*theElementVector)(i));
|
||||
G4cout << " WARNING !!! - The Material " << aMaterial->GetName()
|
||||
<< " has no elements, NULL pointer returned." << G4endl;
|
||||
return NULL;
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MuIonisation.cc,v 1.11 2000/05/23 09:58:47 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4MuIonisation.cc,v 1.12 2001/03/23 07:27:29 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -25,6 +25,7 @@
|
||||
// 08-04-98: remove 'tracking cut' of the ionizing particle, MMa
|
||||
// 26/10/98: new stuff from R.Kokoulin + cleanup , L.Urban
|
||||
// 10/02/00 modifications , new e.m. structure, L.Urban
|
||||
// 23/03/01: R.Kokoulin's correction is commented out, L.Urban
|
||||
// --------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -228,12 +229,12 @@ void G4MuIonisation::BuildLossTable(const G4ParticleDefinition& aParticleType)
|
||||
ionloss -= delta + sh ;
|
||||
ionloss /= beta2 ;
|
||||
|
||||
// correction of R. Kokoulin
|
||||
G4double E = LowEdgeEnergy+ParticleMass ;
|
||||
G4double epmax = RateMass*E*E/(RateMass*E+ParticleMass) ;
|
||||
G4double apar = log(2.*epmax/electron_mass_c2) ;
|
||||
ionloss += fine_structure_const*(log(2.*E/ParticleMass)-apar/3.)*
|
||||
apar*apar/twopi ;
|
||||
// correction of R. Kokoulin // has been taken out ***************
|
||||
// G4double E = LowEdgeEnergy+ParticleMass ;
|
||||
// G4double epmax = RateMass*E*E/(RateMass*E+ParticleMass) ;
|
||||
// G4double apar = log(2.*epmax/electron_mass_c2) ;
|
||||
// ionloss += fine_structure_const*(log(2.*E/ParticleMass)-apar/3.)*
|
||||
// apar*apar/twopi ;
|
||||
|
||||
ionloss *= Factor*ElectronDensity ;
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MuPairProduction.cc,v 1.15 2000/05/23 09:58:49 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4MuPairProduction.cc,v 1.16 2001/02/05 17:50:29 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
@@ -237,7 +237,9 @@ void G4MuPairProduction::BuildLambdaTable(
|
||||
}
|
||||
theMeanFreePathTable = new
|
||||
G4PhysicsTable( G4Material::GetNumberOfMaterials() ) ;
|
||||
PartialSumSigma.resize(G4Material::GetNumberOfMaterials());
|
||||
|
||||
PartialSumSigma.clearAndDestroy();
|
||||
PartialSumSigma.resize(G4Material::GetNumberOfMaterials());
|
||||
|
||||
G4PhysicsLogVector* ptrVector;
|
||||
for ( G4int J=0 ; J < G4Material::GetNumberOfMaterials(); J++ )
|
||||
@@ -276,7 +278,7 @@ void G4MuPairProduction::ComputePartialSumSigma(
|
||||
G4double ElectronEnergyCut = (G4Electron::GetCutsInEnergy())[Imate];
|
||||
G4double PositronEnergyCut = (G4Positron::GetCutsInEnergy())[Imate];
|
||||
|
||||
PartialSumSigma(Imate) = new G4ValVector(NbOfElements);
|
||||
PartialSumSigma[Imate] = new G4DataVector();
|
||||
|
||||
G4double SIGMA = 0. ;
|
||||
|
||||
@@ -287,7 +289,7 @@ void G4MuPairProduction::ComputePartialSumSigma(
|
||||
(*theElementVector)(Ielem)->GetZ(),
|
||||
ElectronEnergyCut,PositronEnergyCut );
|
||||
|
||||
PartialSumSigma(Imate)->insertAt(Ielem, SIGMA);
|
||||
PartialSumSigma[Imate]->push_back(SIGMA);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -801,12 +803,12 @@ G4Element* G4MuPairProduction::SelectRandomAtom(G4Material* aMaterial) const
|
||||
const G4int NumberOfElements = aMaterial->GetNumberOfElements();
|
||||
const G4ElementVector* theElementVector = aMaterial->GetElementVector();
|
||||
|
||||
G4double rval = G4UniformRand()*((*PartialSumSigma(Index))
|
||||
(NumberOfElements-1));
|
||||
G4double rval = G4UniformRand()*((*PartialSumSigma[Index])
|
||||
[NumberOfElements-1]);
|
||||
|
||||
for ( G4int i=0; i < NumberOfElements; i++ )
|
||||
{
|
||||
if (rval <= (*PartialSumSigma(Index))(i)) return ((*theElementVector)(i));
|
||||
if (rval <= (*PartialSumSigma[Index])[i]) return ((*theElementVector)(i));
|
||||
}
|
||||
G4cout << " WARNING !!! - The Material '"<< aMaterial->GetName()
|
||||
<< "' has no elements, NULL pointer returned." << G4endl;
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VMuEnergyLoss.cc,v 1.7 2000/10/30 07:17:30 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4VMuEnergyLoss.cc,v 1.8 2001/01/11 10:42:52 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
// --------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
@@ -104,6 +104,14 @@ G4VMuEnergyLoss::~G4VMuEnergyLoss()
|
||||
LOGRTable=lrate/NbinEloss;
|
||||
RTable =exp(LOGRTable);
|
||||
|
||||
//set physically consistent value for finalRange
|
||||
// and parameters for en.loss step limit
|
||||
if(finalRange > G4Electron::Electron()->GetCuts())
|
||||
finalRange = G4Electron::Electron()->GetCuts() ;
|
||||
c1lim = dRoverRange ;
|
||||
c2lim = 2.*(1.-dRoverRange)*finalRange ;
|
||||
c3lim = -(1.-dRoverRange)*finalRange*finalRange;
|
||||
|
||||
G4bool MakeTable ;
|
||||
ParticleMass = aParticleType.GetPDGMass() ;
|
||||
G4double Charge = aParticleType.GetPDGCharge()/eplus ;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 1.14 2000/11/17 15:03:16 maire Exp $
|
||||
$Id: History,v 1.21 2001/03/27 15:10:51 maire Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -16,6 +16,37 @@ committal in the CVS repository !
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
27 mar 01 mma (stand-V03-00-05)
|
||||
- commented out the printing of subcutoff energies at initialization
|
||||
|
||||
05 mar 01 mma (stand-V03-00-04)
|
||||
- new subdirectory: integral
|
||||
migration of all G4I.. processes from muons, standard, utils into integral
|
||||
|
||||
22 feb 01: mma (stand-V03-00-03)
|
||||
- G4PhotoElectricEffect. DoIt: removed protection against low energy gamma,
|
||||
after correction in SandiaTable (materials-V03-00-05)
|
||||
- G4EplusAnnihilation. PostStepDoIt: check with fStopButAlive instead of
|
||||
energy == 0.
|
||||
|
||||
05 feb 01: G.Cosmo (stand-V03-00-02)
|
||||
- Migration to STL for G4DataVector and G4OrderedTable.
|
||||
Modified files: G4SynchrotronRadiation.hh, G4IeBremsstrahlung.cc,
|
||||
G4eBremsstrahlung.cc.
|
||||
|
||||
23 jan 01: mma (stand-V03-00-01)
|
||||
- corrections in e/hEnergyLoss.cc: AlongStepDoIt L.Urban 23-01-01
|
||||
PostStep information is not used any more in AlongStepDoIt
|
||||
when generating sub-cutoff delta rays. (bug found by Babar)
|
||||
|
||||
16 jan 01: mma (stand-V03-00-00)
|
||||
- small corrections in e/hEnergyLoss.cc L.Urban 11-01-01
|
||||
to ensure consistency between cut in range and step limitation
|
||||
due to energy loss (finalRange data member <-> cut in range)
|
||||
- change in energy loss computation in eBrems.hh and .cc L.Urban 11-01-01
|
||||
parametrization of energy loss due to soft brems has been corrected,
|
||||
it was too big for big cut values.
|
||||
|
||||
17 Nov 00 mma : stand-V02-00-04
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4ComptonScattering.hh,v 1.4 1999/12/17 16:20:49 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ------------ G4ComptonScattering physics process ------
|
||||
// by Michel Maire, April 1996
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4ComptonScattering.icc,v 1.2 1999/12/15 14:51:45 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4GammaConversion.hh,v 1.4 1999/12/17 18:26:11 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ------------ G4GammaConversion physics process ------
|
||||
// by Michel Maire, 24 May 1996
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4GammaConversion.icc,v 1.2 1999/12/15 14:51:45 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PAIonisation.hh,v 1.7 2000/09/22 14:44:07 grichine Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -86,7 +86,7 @@ GetMeanFreePath( const G4Track& trackData,
|
||||
// G4cout<<"G4PAIonisation::GetMeanFreePath is called"<<G4endl ;
|
||||
|
||||
G4int iTkin, iPlace ;
|
||||
G4double charge, charge2, massRatio, kinE, scaledE, meanFreePath ;
|
||||
G4double charge, charge2, mass, massRatio, kinE, gamma, scaledE, meanFreePath ;
|
||||
G4double E1, E2, W, W1, W2, primaryIon ;
|
||||
|
||||
*condition = NotForced ;
|
||||
@@ -98,9 +98,14 @@ GetMeanFreePath( const G4Track& trackData,
|
||||
{
|
||||
const G4DynamicParticle* aParticle = trackData.GetDynamicParticle() ;
|
||||
kinE = aParticle->GetKineticEnergy() ;
|
||||
mass = aParticle->GetDefinition()->GetPDGMass() ;
|
||||
gamma = 1.0 + kinE/mass ;
|
||||
|
||||
if(gamma < 1.2) return meanFreePath = DBL_MAX ;
|
||||
|
||||
charge = aParticle->GetDefinition()->GetPDGCharge() ;
|
||||
charge2 = charge*charge ;
|
||||
massRatio = proton_mass_c2/aParticle->GetDefinition()->GetPDGMass() ;
|
||||
massRatio = proton_mass_c2/mass ;
|
||||
scaledE = kinE*massRatio ;
|
||||
|
||||
for(iTkin=0;iTkin<G4PAIonisation::GetBinNumber();iTkin++)
|
||||
@@ -235,7 +240,8 @@ GetdEdx( G4double scaledTkin, G4double charge2 )
|
||||
inline G4bool G4PAIonisation::IsApplicable(
|
||||
const G4ParticleDefinition& particle)
|
||||
{
|
||||
return(particle.GetPDGCharge() != 0.);
|
||||
return( particle.GetPDGCharge() != 0. &&
|
||||
particle.GetPDGMass() > 0. );
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PAIxSection.hh,v 1.4 1999/12/15 14:51:47 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// G4PAIxSection.hh -- header file
|
||||
|
||||
@@ -5,11 +5,10 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PhotoElectricEffect.hh,v 1.5 1999/12/17 18:26:12 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4PhotoElectricEffect.hh,v 1.6 2001/02/22 16:05:42 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ------------ G4PhotoElectricEffect physics process ------
|
||||
// by Michel Maire, April 1996
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
// 12-06-96, Added SelectRandomAtom() method and new data member
|
||||
// for cumulative total cross section, by M.Maire
|
||||
@@ -21,7 +20,8 @@
|
||||
// 13-08-98, new methods SetBining() PrintInfo()
|
||||
// 17-11-98, use table of atomic shells in PostStepDoIt, mma
|
||||
// 06-01-99, Sandia crossSection below 50 keV, V.Grichine mma
|
||||
// ------------------------------------------------------------
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
// class description
|
||||
//
|
||||
|
||||
@@ -5,20 +5,11 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PhotoElectricEffect.icc,v 1.3 1999/12/15 14:51:48 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4PhotoElectricEffect.icc,v 1.4 2001/02/22 16:05:43 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
// GEANT 4 class inlined methods file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD group
|
||||
// History: first implementation, based on object model of
|
||||
// 2nd December 1995, G.Cosmo
|
||||
// ------------ G4PhotoElectricEffect physics process ---------
|
||||
// by Michel Maire, April 1996
|
||||
// ***************************************************************
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
// 12-06-96, update by M.Maire
|
||||
// 17-09-96, PartialSumSigma(i)
|
||||
// split ComputeBinbingEnergy(), M.Maire
|
||||
@@ -27,8 +18,8 @@
|
||||
// 20-11-97, change for lowest energy limit default action
|
||||
// 17-11-98, use table of atomic shells in PostStepDoIt, mma
|
||||
// 06-01-99, use Sandia crossSection, V.Grichine mma
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
inline G4bool G4PhotoElectricEffect::IsApplicable(const G4ParticleDefinition& particle)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4PolarizedComptonScattering.hh,v 1.4 2000/11/17 15:03:16 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// --------- G4PolarizedComptonScattering physics process -----
|
||||
// by Vicente Lara, March 1998
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4SynchrotronRadiation.hh,v 1.3 2000/11/01 15:30:46 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4SynchrotronRadiation.hh,v 1.4 2001/02/05 17:53:51 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
@@ -43,7 +43,6 @@
|
||||
#include "G4Positron.hh"
|
||||
|
||||
|
||||
#include "G4OrderedTable.hh"
|
||||
#include "G4PhysicsTable.hh"
|
||||
#include "G4PhysicsLogVector.hh"
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VPAIenergyLoss.hh,v 1.2 2000/06/07 17:00:48 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VeEnergyLoss.hh,v 1.5 2000/10/30 06:56:19 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VeEnergyLoss.icc,v 1.2 2000/05/23 14:39:26 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
// GEANT 4 class inlined methods file
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VhEnergyLoss.hh,v 1.7 2000/10/30 06:56:19 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4VhEnergyLoss.icc,v 1.2 2000/05/23 14:39:27 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
// GEANT 4 class inlined methods file
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4eBremsstrahlung.hh,v 1.7 2000/08/08 10:26:19 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: G4eBremsstrahlung.hh,v 1.8 2001/01/11 10:39:48 urban Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -93,9 +93,6 @@ class G4eBremsstrahlung : public G4VeEnergyLoss
|
||||
G4double ComputeBremLoss(G4double Z,G4double natom,G4double T,
|
||||
G4double Cut,G4double x);
|
||||
|
||||
G4double ComputeXYPolynomial(G4double x,G4double y,G4int xSize,
|
||||
G4int ySize,const G4double coeff[]);
|
||||
|
||||
G4double ComputePositronCorrFactorLoss(G4double AtomicNumber,
|
||||
G4double KineticEnergy,
|
||||
G4double GammaEnergyCut);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4eBremsstrahlung.icc,v 1.3 2000/05/23 15:44:07 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user