Import Geant4 4.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:18:25 +02:00
parent 36c080dca6
commit 921d3b1cda
3990 changed files with 185376 additions and 82884 deletions
@@ -0,0 +1,63 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4FoamXTRdEdx.hh,v 1.2 2001/07/11 10:01:29 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
//
// Rough model describing a radiator of X-ray transition radiation.
// Thicknesses of plates and gas gaps are exponentially distributed.
// We suppose that:
// formation zone ~ mean thickness << absorption length
// for each material and in the range 1-100 keV. This allows us to simplify
// interference effects in radiator stack (GetStackFactor method).
//
//
// History:
// 27.02.01 V. Grichine, first version
//
#ifndef G4FoamXTRdEdx_h
#define G4FoamXTRdEdx_h 1
#include "G4VFastSimulationModel.hh"
// #include "G4ForwardXrayTR.hh"
#include "G4VXTRdEdx.hh"
class G4FoamXTRdEdx : public G4VXTRdEdx
{
public:
G4FoamXTRdEdx (G4LogicalVolume *anEnvelope,G4double,G4double);
~G4FoamXTRdEdx ();
// Pure virtual function from base class
G4double GetStackFactor( G4double energy, G4double gamma, G4double varAngle);
};
#endif
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4FoamXrayTRmodel.hh,v 1.1.4.1 2001/06/28 19:10:33 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4FoamXrayTRmodel.hh,v 1.3 2001/07/11 10:01:29 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -46,9 +46,9 @@
#include "G4VFastSimulationModel.hh"
// #include "G4ForwardXrayTR.hh"
#include "G4VXrayTRmodel.hh"
#include "G4VXrayTRadModel.hh"
class G4FoamXrayTRmodel : public G4VXrayTRmodel
class G4FoamXrayTRmodel : public G4VXrayTRadModel
{
public:
@@ -0,0 +1,76 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4GamDistrXTRdEdx.hh,v 1.2 2001/07/11 10:01:29 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
//
// Rough model describing a radiator of X-ray transition radiation.
// Thicknesses of plates and gas gaps are distributed according to gamma
// distribution. x are thicknesses of plates or gas gaps:
//
// p(x) = (alpha/<x>)^alpha * x^(alpha-1) * exp(-alpha*x/<x>) / G(alpha)
//
// G(alpha) is Euler's gamma function.
// Plates have mean <x> = fPlateThick > 0 and power alpha = fAlphaPlate > 0 :
// Gas gaps have mean <x> = fGasThick > 0 and power alpha = fAlphaGas > 0 :
// We suppose that:
// formation zone ~ mean thickness << absorption length
// for each material and in the range 1-100 keV. This allows us to simplify
// interference effects in radiator stack (GetStackFactor method).
//
//
// History:
// 27.02.01 V. Grichine, first version
//
#ifndef G4GamDistrXTRdEdx_h
#define G4GamDistrXTRdEdx_h 1
#include "G4VFastSimulationModel.hh"
// #include "G4ForwardXrayTR.hh"
#include "G4VXTRdEdx.hh"
class G4GamDistrXTRdEdx : public G4VXTRdEdx
{
public:
G4GamDistrXTRdEdx (G4LogicalVolume *anEnvelope,
G4double,G4double,
G4double,G4double );
~G4GamDistrXTRdEdx ();
// Pure virtual function from base class
G4double GetStackFactor( G4double energy, G4double gamma, G4double varAngle);
private:
G4double fAlphaPlate, fAlphaGas ;
};
#endif
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4GamDistrXrayTRmodel.hh,v 1.1.4.1 2001/06/28 19:10:33 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4GamDistrXrayTRmodel.hh,v 1.3 2001/07/11 10:01:29 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -53,9 +53,9 @@
#include "G4VFastSimulationModel.hh"
// #include "G4ForwardXrayTR.hh"
#include "G4VXrayTRmodel.hh"
#include "G4VXrayTRadModel.hh"
class G4GamDistrXrayTRmodel : public G4VXrayTRmodel
class G4GamDistrXrayTRmodel : public G4VXrayTRadModel
{
public:
@@ -0,0 +1,62 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4IrregularXTRdEdx.hh,v 1.2 2001/07/11 10:01:29 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
//
// Very rough model describing a radiator of X-ray transition radiation.
// Thicknesses of plates and gas gaps are exponentially distributed.
// We suppose that:
// formation zone << mean thickness << absorption length
// for each material and in the range 1-100 keV. This allows us to simplify
// essentially interference effects in radiator stack (GetStackFactor method).
// The price is decreasing of X-ray TR photon yield.
//
// History:
// 27.02.01 V. Grichine first version
//
#ifndef G4IrregularXTRdEdx_h
#define G4IrregularXTRdEdx_h 1
#include "G4VFastSimulationModel.hh"
#include "G4VXTRdEdx.hh"
class G4IrregularXTRdEdx : public G4VXTRdEdx
{
public:
G4IrregularXTRdEdx (G4LogicalVolume *anEnvelope,G4double,G4double);
~G4IrregularXTRdEdx();
// Pure virtual function from base class
// void DoIt(const G4FastTrack&, G4FastStep&);
G4double GetStackFactor( G4double energy, G4double gamma, G4double varAngle);
};
#endif
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4IrregularXrayTRmodel.hh,v 1.1.4.1 2001/06/28 19:10:33 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4IrregularXrayTRmodel.hh,v 1.3 2001/07/11 10:01:29 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -47,9 +47,9 @@
#include "G4VFastSimulationModel.hh"
// #include "G4ForwardXrayTR.hh"
#include "G4VXrayTRmodel.hh"
#include "G4VXrayTRadModel.hh"
class G4IrregularXrayTRmodel : public G4VXrayTRmodel
class G4IrregularXrayTRmodel : public G4VXrayTRadModel
{
public:
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PAIclusterModel.hh,v 1.1.4.1 2001/06/28 19:10:33 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PAIclusterModel.hh,v 1.3 2001/09/18 09:30:26 gcosmo Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -46,7 +46,6 @@
#include "G4Step.hh"
#include "G4VTouchable.hh"
#include "G4TouchableHistory.hh"
#include <g4rw/tvordvec.h>
class G4PAIclusterModel : public G4VClusterModel
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PhotoClusterModel.hh,v 1.1.4.1 2001/06/28 19:10:34 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PhotoClusterModel.hh,v 1.3 2001/09/18 09:30:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -46,7 +46,6 @@
#include "G4Step.hh"
#include "G4VTouchable.hh"
#include "G4TouchableHistory.hh"
#include <g4rw/tvordvec.h>
class G4PhotoClusterModel : public G4VClusterModel
@@ -0,0 +1,61 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4PlateIrrGasXTRdEdx.hh,v 1.2 2001/07/11 10:01:29 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
//
// Model describing a radiator of X-ray transition radiation.
// Thicknesses of plates is fixed while gas gaps are fully irregular.
// We suppose that:
// formation zone ~ mean thickness << absorption length
// for each material and in the range 1-100 keV. This allows us to simplify
// interference effects in radiator stack (GetStackFactor method).
//
//
// History:
// 27.02.01 V. Grichine, first version
//
#ifndef G4PlateIrrGasXTRdEdx_h
#define G4PlateIrrGasXTRdEdx_h 1
#include "G4VFastSimulationModel.hh"
#include "G4VXTRdEdx.hh"
class G4PlateIrrGasXTRdEdx : public G4VXTRdEdx
{
public:
G4PlateIrrGasXTRdEdx (G4LogicalVolume *anEnvelope,G4double,G4double);
~G4PlateIrrGasXTRdEdx ();
// Pure virtual function from base class
G4double GetStackFactor( G4double energy, G4double gamma, G4double varAngle);
};
#endif
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PlateIrrGasXrayTRmodel.hh,v 1.1.4.1 2001/06/28 19:10:34 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PlateIrrGasXrayTRmodel.hh,v 1.3 2001/07/11 10:01:29 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -46,9 +46,9 @@
#include "G4VFastSimulationModel.hh"
// #include "G4ForwardXrayTR.hh"
#include "G4VXrayTRmodel.hh"
#include "G4VXrayTRadModel.hh"
class G4PlateIrrGasXrayTRmodel : public G4VXrayTRmodel
class G4PlateIrrGasXrayTRmodel : public G4VXrayTRadModel
{
public:
@@ -0,0 +1,61 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4RegularXTRdEdx.hh,v 1.2 2001/07/11 10:01:30 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
//
// Model describing a radiator of X-ray transition radiation.
// Thicknesses of plates and gas gaps are fixed.
// We suppose that:
// formation zone ~ mean thickness << absorption length
// for each material and in the range 1-100 keV. This allows us to simplify
// interference effects in radiator stack (GetStackFactor method).
//
//
// History:
// 27.02.01 V. Grichine, first version
//
#ifndef G4RegularXTRdEdx_h
#define G4RegularXTRdEdx_h 1
#include "G4VFastSimulationModel.hh"
#include "G4VXTRdEdx.hh"
class G4RegularXTRdEdx : public G4VXTRdEdx
{
public:
G4RegularXTRdEdx (G4LogicalVolume *anEnvelope,G4double,G4double);
~G4RegularXTRdEdx ();
// Pure virtual function from base class
G4double GetStackFactor( G4double energy, G4double gamma, G4double varAngle);
};
#endif
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4RegularXrayTRmodel.hh,v 1.1.4.1 2001/06/28 19:10:34 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4RegularXrayTRmodel.hh,v 1.3 2001/07/11 10:01:30 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -46,9 +46,9 @@
#include "G4VFastSimulationModel.hh"
// #include "G4ForwardXrayTR.hh"
#include "G4VXrayTRmodel.hh"
#include "G4VXrayTRadModel.hh"
class G4RegularXrayTRmodel : public G4VXrayTRmodel
class G4RegularXrayTRmodel : public G4VXrayTRadModel
{
public:
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VClusterModel.hh,v 1.1.4.1 2001/06/28 19:10:34 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VClusterModel.hh,v 1.4 2001/11/07 10:27:21 radoone Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -44,9 +44,9 @@
#include "G4PAIonisation.hh"
#include "G4VFastSimulationModel.hh"
#include "G4Step.hh"
#include "G4VTouchable.hh"
#include "G4TouchableHistory.hh"
#include <g4rw/tvordvec.h>
#include "G4TouchableHandle.hh"
#include "G4TouchableHistoryHandle.hh"
#include "g4std/vector"
class G4VClusterModel : public G4VFastSimulationModel
@@ -78,12 +78,13 @@ protected:
G4StepPoint* fFakePreStepPoint ;
G4StepPoint* fFakePostStepPoint ;
G4VTouchable* fTouchable ;
G4TouchableHandle fTouchable ;
G4Navigator* fNavigator ;
G4bool fNavigatorSetup ;
G4RWTValOrderedVector<G4ThreeVector> fClusterPositionVector ;
G4RWTValOrderedVector<G4double> fClusterEnergyVector ;
G4std::vector<G4ThreeVector> fClusterPositionVector ;
G4std::vector<G4double> fClusterEnergyVector ;
};
#endif
@@ -0,0 +1,91 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4VXTRdEdx.hh,v 1.5 2001/09/18 09:02:00 gcosmo Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
//
// base class for 'fast' parametrisation model describing X-ray transition
// created in some G4Envelope. Anglur distribuiton is very rough !!! (see DoIt
// method
//
// History:
// 26.02.01 V. Grichine first version
// 26.02.01 V. Grichine, DoIt was transformed from virtual
//
#ifndef G4VXTRdEdx_h
#define G4VXTRdEdx_h 1
#include "globals.hh"
#include "templates.hh"
#include "g4std/complex"
#include "G4PhysicsTable.hh"
#include "G4PhysicsLogVector.hh"
#include "G4Gamma.hh"
#include "G4VXrayTRmodel.hh"
class G4VXTRdEdx : public G4VXrayTRmodel
{
public:
G4VXTRdEdx (G4LogicalVolume *anEnvelope,G4double,G4double);
virtual ~G4VXTRdEdx ();
// Pure virtual functions from base class
void DoIt(const G4FastTrack&, G4FastStep&) ;
// Pure virtuals must be implemented in inherited particular TR radiators
virtual G4double GetStackFactor( G4double energy, G4double gamma,
G4double varAngle ) = 0 ;
protected:
void BuildTable() ;
void BuildEnergyTable() ;
void BuildAngleTable() ;
G4complex OneInterfaceXTRdEdx( G4double energy,
G4double gamma,
G4double varAngle ) ;
G4double SpectralAngleXTRdEdx(G4double varAngle) ;
G4double SpectralXTRdEdx(G4double energy) ;
G4double AngleSpectralXTRdEdx(G4double energy) ;
G4double AngleXTRdEdx(G4double varAngle) ;
};
#endif
@@ -0,0 +1,79 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4VXrayTRadModel.hh,v 1.2 2001/07/11 10:01:30 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
//
// base class for 'fast' parametrisation model describing X-ray transition
// created in some G4Envelope. Anglur distribuiton is very rough !!! (see DoIt
// method
//
// History:
// 26.02.01 V. Grichine first version
// 26.02.01 V. Grichine, DoIt was transformed from virtual
//
#ifndef G4VXrayTRadModel_h
#define G4VXrayTRadModel_h 1
#include "globals.hh"
#include "templates.hh"
#include "g4std/complex"
#include "G4PhysicsTable.hh"
#include "G4PhysicsLogVector.hh"
#include "G4Gamma.hh"
#include "G4VXrayTRmodel.hh"
class G4VXrayTRadModel : public G4VXrayTRmodel
{
public:
G4VXrayTRadModel (G4LogicalVolume *anEnvelope,G4double,G4double);
virtual ~G4VXrayTRadModel ();
// Pure virtual functions from base class
void DoIt(const G4FastTrack&, G4FastStep&) ;
// Pure virtuals must be implemented in inherited particular TR radiators
virtual G4double GetStackFactor( G4double energy, G4double gamma,
G4double varAngle ) = 0 ;
void BuildTable() ;
void BuildEnergyTable() ;
void BuildAngleTable() ;
};
#endif
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4VXrayTRmodel.hh,v 1.1.4.1 2001/06/28 19:10:34 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4VXrayTRmodel.hh,v 1.3 2001/07/11 10:01:30 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -43,6 +43,8 @@
#include "globals.hh"
#include "templates.hh"
#include "g4std/complex"
#include "G4PhysicsTable.hh"
#include "G4PhysicsLogVector.hh"
#include "G4Gamma.hh"
@@ -66,7 +68,7 @@ public:
// Pure virtuals must be implemented in inherited particular TR radiators
void DoIt(const G4FastTrack&, G4FastStep&) ;
virtual void DoIt(const G4FastTrack&, G4FastStep&) = 0 ;
virtual G4double GetStackFactor( G4double energy, G4double gamma,
G4double varAngle ) = 0 ;
@@ -75,9 +77,6 @@ public:
G4double gamma,
G4double varAngle ) const ;
void BuildTable() ;
void BuildEnergyTable() ;
void BuildAngleTable() ;
// for photon energy distribution tables
@@ -95,17 +94,19 @@ public:
// Auxiliary functions for plate/gas material parameters
G4double GetPlateFormationZone(G4double,G4double,G4double) ;
void ComputePlatePhotoAbsCof() ;
G4double GetPlateLinearPhotoAbs(G4double) ;
void GetPlateZmuProduct() ;
G4double GetPlateZmuProduct(G4double,G4double,G4double) ;
G4double GetPlateFormationZone(G4double,G4double,G4double) ;
G4complex GetPlateComplexFZ(G4double,G4double,G4double) ;
void ComputePlatePhotoAbsCof() ;
G4double GetPlateLinearPhotoAbs(G4double) ;
void GetPlateZmuProduct() ;
G4double GetPlateZmuProduct(G4double,G4double,G4double) ;
G4double GetGasFormationZone(G4double,G4double,G4double) ;
void ComputeGasPhotoAbsCof() ;
G4double GetGasLinearPhotoAbs(G4double) ;
void GetGasZmuProduct() ;
G4double GetGasZmuProduct(G4double,G4double,G4double) ;
G4double GetGasFormationZone(G4double,G4double,G4double) ;
G4complex GetGasComplexFZ(G4double,G4double,G4double) ;
void ComputeGasPhotoAbsCof() ;
G4double GetGasLinearPhotoAbs(G4double) ;
void GetGasZmuProduct() ;
G4double GetGasZmuProduct(G4double,G4double,G4double) ;
G4double GetXTRrandomEnergy( G4double scaledTkin, G4int iTkin ) ;
G4double GetXTRenergy( G4int iPlace, G4double position, G4int iTransfer ) ;