Import Geant4 1.1.0 source tree
This commit is contained in:
@@ -1,69 +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: G4Epdl89File
|
||||
//
|
||||
// Author: Alessandra Forti (Alessandra.Forti@cern.ch)
|
||||
//
|
||||
// Creation date: 2 February 1999
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
#ifndef G4Epdl89File_hh
|
||||
#define G4Epdl89File_hh
|
||||
|
||||
// Other Class Headers
|
||||
#include "globals.hh"
|
||||
#include "G4VDataFile.hh"
|
||||
#include "G4Data.hh"
|
||||
|
||||
// C++ Headers
|
||||
#include <fstream.h>
|
||||
|
||||
// Class Declarations
|
||||
|
||||
class G4Epdl89File: public G4VDataFile{
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
G4Epdl89File(const G4String&, G4int*);
|
||||
|
||||
// Destructor
|
||||
~G4Epdl89File();
|
||||
|
||||
virtual G4bool FindTheProcess();
|
||||
virtual G4bool FindTheElement(G4int);
|
||||
virtual G4bool FindOneElemProc(G4int&);
|
||||
|
||||
protected:
|
||||
|
||||
// Member Functions
|
||||
|
||||
void GetDataValues(G4Data& valList);
|
||||
|
||||
G4double GetOneData(const char*);
|
||||
|
||||
private:
|
||||
|
||||
G4int* _flags; // data flags
|
||||
};
|
||||
|
||||
#endif // G4Epdl89File
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,68 +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: G4Epdl97File.hh
|
||||
//
|
||||
// Author: Alessandra Forti (Alessandra.Forti@cern.ch)
|
||||
//
|
||||
// Creation date: 2 February 1999
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
#ifndef G4Epdl97File_hh
|
||||
#define G4Epdl97File_hh
|
||||
|
||||
// Other Class Headers
|
||||
#include "globals.hh"
|
||||
#include "G4VDataFile.hh"
|
||||
#include "G4Data.hh"
|
||||
|
||||
// C++ Headers
|
||||
#include <fstream.h>
|
||||
|
||||
// Class Declarations
|
||||
|
||||
class G4Epdl97File: public G4VDataFile{
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
G4Epdl97File(const G4String&, G4int*);
|
||||
|
||||
// Destructor
|
||||
~G4Epdl97File();
|
||||
|
||||
virtual G4bool FindTheProcess();
|
||||
virtual G4bool FindTheElement(G4int);
|
||||
virtual G4bool FindOneElemProc(G4int&);
|
||||
G4int* GetTheProcFlags();
|
||||
|
||||
protected:
|
||||
|
||||
// Member Functions
|
||||
void GetDataValues(G4Data& valList);
|
||||
G4double GetOneData(const char*);
|
||||
|
||||
private:
|
||||
|
||||
G4int* _flags; // data flags
|
||||
};
|
||||
|
||||
#endif // G4Epdl97File
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,89 +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: G4EpdlTables
|
||||
//
|
||||
// Author: Alessandra Forti (Alessandra.Forti@cern.ch)
|
||||
//
|
||||
// Creation date: 2 February 1999
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
#ifndef G4EpdlTables_hh
|
||||
#define G4EpdlTables_hh
|
||||
|
||||
// Base Class Header
|
||||
#include "G4VTables.hh"
|
||||
|
||||
// Other Class Headers
|
||||
#include "globals.hh"
|
||||
#include "G4PhysicsTable.hh"
|
||||
#include "G4Data.hh"
|
||||
#include "G4FirstLevel.hh"
|
||||
#include "G4SecondLevel.hh"
|
||||
|
||||
// C++ Headers
|
||||
|
||||
// Class Declarations
|
||||
class G4VDataFile;
|
||||
|
||||
class G4EpdlTables: public G4VTables{
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
G4EpdlTables(G4VDataFile& DFile);
|
||||
|
||||
// Destructor
|
||||
~G4EpdlTables();
|
||||
|
||||
// Member Functions
|
||||
|
||||
// search the data table in the file
|
||||
void FillDataTable();
|
||||
G4SecondLevel* FillTheTable(G4int nemEl = 0);
|
||||
|
||||
// inline member functions
|
||||
|
||||
inline G4PhysicsTable* GetFstDataTable(){return theDataTable1;};
|
||||
inline G4PhysicsTable* GetSndDataTable(){return theDataTable2;};
|
||||
inline G4PhysicsTable* GetTrdDataTable(){return theDataTable3;};
|
||||
|
||||
//G4SecondLevel* GetGlobalList();
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
private:
|
||||
|
||||
G4PhysicsTable* theDataTable1;
|
||||
G4PhysicsTable* theDataTable2;
|
||||
G4PhysicsTable* theDataTable3;
|
||||
// G4SecondLevel* allElementList;
|
||||
|
||||
G4VDataFile& datfile;
|
||||
|
||||
};
|
||||
|
||||
#endif // G4EpdlTables
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyBremsstrahlung.hh,v 1.7.8.1 1999/12/07 20:50:19 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyBremsstrahlung.hh,v 1.9 2000/01/26 09:32:06 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -15,15 +15,9 @@
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
// History: first implementation, based on object model of
|
||||
// 2nd December 1995, G.Cosmo
|
||||
// ------------ G4LowEnergyBremsstrahlung physics process ------
|
||||
// by Michel Maire, 24 July 1996
|
||||
// by A.Forti 1999/03/27 19:18:13
|
||||
// ************************************************************
|
||||
// 1-10-96 : new type G4OrderedTable; ComputePartialSumSigma()
|
||||
// 20/03/97: new energy loss+ionisation+brems scheme, L.Urban
|
||||
// 01-09-98, new methods SetBining() and PrintInfo()
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#ifndef G4LowEnergyBremsstrahlung_h
|
||||
#define G4LowEnergyBremsstrahlung_h 1
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyBremsstrahlung.icc,v 1.9.8.1 1999/12/07 20:50:19 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyBremsstrahlung.icc,v 1.12 2000/02/18 12:34:17 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
@@ -14,13 +14,8 @@
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, IT Division, ASD group
|
||||
// History: first implementation, based on object model of
|
||||
// 2nd December 1995, G.Cosmo
|
||||
// ------------ G4LowEnergyBremsstrahlung physics process ---------
|
||||
// by Michel Maire, 27 July 1996
|
||||
// ***************************************************************
|
||||
// 13-12-96 : Sign corrected in the ScreenFunctions, L.Urban
|
||||
// 20/03/97 : new energy loss+ionisation+brems scheme, L.Urban
|
||||
// by A.Forti 1999/03/27
|
||||
// ***************************************************************
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -29,7 +24,8 @@ inline G4bool G4LowEnergyBremsstrahlung::IsApplicable(
|
||||
const G4ParticleDefinition& particle)
|
||||
{
|
||||
return( (&particle == G4Electron::Electron())
|
||||
||(&particle == G4Positron::Positron()) );
|
||||
/////////////||(&particle == G4Positron::Positron())
|
||||
);
|
||||
}
|
||||
|
||||
inline G4double G4LowEnergyBremsstrahlung::GetMeanFreePath(const G4Track& track,
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyCompton.hh,v 1.3.8.1 1999/12/07 20:50:19 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyCompton.hh,v 1.5 2000/01/26 09:43:16 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -15,18 +15,9 @@
|
||||
//
|
||||
// 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
|
||||
// ------------ G4LowEnergyCompton physics process ------
|
||||
// by Michel Maire, April 1996
|
||||
// by A.Forti 1999/03/02
|
||||
// ************************************************************
|
||||
// 01-02-96, First implementation A.Forti
|
||||
// 21-06-96, SetCuts implementation, M.Maire
|
||||
// 06-01-97, crossection table + meanfreepath table, M.Maire
|
||||
// 17-02-97, New Physics scheme
|
||||
// 25-02-97, GetMeanFreePath() now is public function
|
||||
// 12-03-97, new physics scheme again
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#ifndef G4LowEnergyCompton_h
|
||||
#define G4LowEnergyCompton_h
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyCompton.icc,v 1.8.8.1 1999/12/07 20:50:19 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyCompton.icc,v 1.10 2000/01/26 09:43:16 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
@@ -14,10 +14,8 @@
|
||||
//
|
||||
// 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
|
||||
// ------------ G4LowEnergyCompton physics process ---------
|
||||
// by Michel Maire, April 1996
|
||||
// by A.Forti 1999/03/02
|
||||
// ***************************************************************
|
||||
|
||||
inline G4bool
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyGammaConversion.hh,v 1.2.8.1 1999/12/07 20:50:20 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyGammaConversion.hh,v 1.4 2000/01/26 09:43:16 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -15,19 +15,9 @@
|
||||
//
|
||||
// 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
|
||||
// ------------ G4LowEnergyGammaConversion physics process ------
|
||||
// by Michel Maire, 24 May 1996
|
||||
// by A.Forti 1999/03/02
|
||||
// ************************************************************
|
||||
// 11-06-96, Added GetRandomAtom() method and new data member
|
||||
// for cumulative total cross section, by M.Maire
|
||||
// 21-06-96, SetCuts inplementation, M.Maire
|
||||
// 16-09-96, Dynamical array PartialSumSigma, M.Maire
|
||||
// 14-01-97, crossection table + meanfreepath table.
|
||||
// PartialSumSigma removed, M.Maire
|
||||
// 14-03-97, new physics scheme for geant4alpha, M.Maire
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#ifndef G4LowEnergyGammaConversion_h
|
||||
#define G4LowEnergyGammaConversion_h 1
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyGammaConversion.icc,v 1.6.8.1 1999/12/07 20:50:20 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyGammaConversion.icc,v 1.8 2000/01/26 09:43:16 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
@@ -14,18 +14,9 @@
|
||||
//
|
||||
// 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
|
||||
// ------------ G4LowEnergyGammaConversion physics process ---------
|
||||
// by Michel Maire, 24 May 1996
|
||||
// by A.Forti 1999/03/02
|
||||
// ***************************************************************
|
||||
// 11-06-96, in GetMeanFreePath() the partial sum is stored, by M.Maire
|
||||
// 16-09-96, dynamical array PartialSumSigma, by M.Maire
|
||||
// 13-12-96, Sign corrected in the ScreenFunctions, by L.Urban
|
||||
// 14-01-97, crossection table + meanfreepath table.
|
||||
// PartialSumSigma removed, by M.Maire
|
||||
// 14-01-97, new physics scheme for geant4alpha, M.Maire
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
inline G4bool G4LowEnergyGammaConversion::IsApplicable(const G4ParticleDefinition& particle)
|
||||
{
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyIonisation.hh,v 1.11.6.1 1999/12/07 20:50:20 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyIonisation.hh,v 1.12 1999/12/15 14:51:30 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyIonisation.icc,v 1.7.8.1 1999/12/07 20:50:20 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyIonisation.icc,v 1.9 2000/02/18 12:34:17 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
@@ -28,7 +28,8 @@ inline G4bool G4LowEnergyIonisation::IsApplicable(
|
||||
const G4ParticleDefinition& particle)
|
||||
{
|
||||
return( (&particle == G4Electron::Electron())
|
||||
||(&particle == G4Positron::Positron()) );
|
||||
/////////////////||(&particle == G4Positron::Positron())
|
||||
);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyPhotoElectric.hh,v 1.10.6.1 1999/12/07 20:50:20 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyPhotoElectric.hh,v 1.12 2000/01/26 09:43:16 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -15,19 +15,9 @@
|
||||
//
|
||||
// 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
|
||||
// ------------ G4LowEnergyPhotoElectric physics process ------
|
||||
// by Michel Maire, April 1996
|
||||
// by A.Forti 1999/03/02
|
||||
// ************************************************************
|
||||
// 12-06-96, Added SelectRandomAtom() method and new data member
|
||||
// for cumulative total cross section, by M.Maire
|
||||
// 21-06-96, SetCuts implementation, M.Maire
|
||||
// 17-09-96, Dynamic array PartialSumSigma
|
||||
// split ComputeBindingEnergy(), M.Maire
|
||||
// 08-01-97, crossection table + meanfreepath table, M.Maire
|
||||
// 13-03-97, adapted for the new physics scheme, M.Maire
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#ifndef G4LowEnergyPhotoElectric_h
|
||||
#define G4LowEnergyPhotoElectric_h 1
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyPhotoElectric.icc,v 1.11.6.1 1999/12/07 20:50:20 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyPhotoElectric.icc,v 1.13 2000/01/26 09:43:17 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
@@ -14,18 +14,9 @@
|
||||
//
|
||||
// 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
|
||||
// ------------ G4LowEnergyPhotoElectric physics process ---------
|
||||
// by Michel Maire, April 1996
|
||||
// by A.Forti 1999/03/02
|
||||
// ***************************************************************
|
||||
// 12-06-96, update by M.Maire
|
||||
// 17-09-96, PartialSumSigma(i)
|
||||
// split ComputeBinbingEnergy(), M.Maire
|
||||
// 08-01-97, crossection table + meanfreepath table , M.Maire
|
||||
// 13-03-97, adapted for the new physics scheme, M.Maire
|
||||
// 20-11-97, change for lowest energy limit default action
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyRayleigh.hh,v 1.3.8.1 1999/12/07 20:50:20 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyRayleigh.hh,v 1.5 2000/01/26 09:43:17 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -15,18 +15,9 @@
|
||||
//
|
||||
// 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
|
||||
// ------------ G4LowEnergyRayleigh physics process ------
|
||||
// by Michel Maire, April 1996
|
||||
// by A.Forti 1999/03/02
|
||||
// ************************************************************
|
||||
// 10-06-96, updated by M.Maire
|
||||
// 21-06-96, SetCuts implementation, M.Maire
|
||||
// 06-01-97, crossection table + meanfreepath table, M.Maire
|
||||
// 17-02-97, New Physics scheme
|
||||
// 25-02-97, GetMeanFreePath() now is public function
|
||||
// 12-03-97, new physics scheme again
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#ifndef G4LowEnergyRayleigh_h
|
||||
#define G4LowEnergyRayleigh_h
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyRayleigh.icc,v 1.7.8.1 1999/12/07 20:50:21 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyRayleigh.icc,v 1.9 2000/01/26 09:43:17 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
@@ -14,16 +14,9 @@
|
||||
//
|
||||
// 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
|
||||
// ------------ G4LowEnergyRayleigh physics process ---------
|
||||
// by Michel Maire, April 1996
|
||||
// by A.Forti 1999/03/02
|
||||
// ***************************************************************
|
||||
// 10-06-96, updated by M.Maire
|
||||
// 06-01-97, crossection table + meanfreepath table, M.Maire
|
||||
// 12-03-97, new Physics scheme
|
||||
// 21-11-97, change for lowest energy limit default action
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
inline G4bool G4LowEnergyRayleigh::IsApplicable(const G4ParticleDefinition& particle){
|
||||
return ( &particle == G4Gamma::Gamma() );
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4LowEnergyUtilities.hh,v 1.1.8.1 1999/12/07 20:50:21 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
// $Id: G4LowEnergyUtilities.hh,v 1.4 2000/01/26 09:43:17 lefebure Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -15,19 +15,9 @@
|
||||
//
|
||||
// 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
|
||||
// ------------ G4LowEnergyPhotoElectric physics process ------
|
||||
// by Michel Maire, April 1996
|
||||
// by A.Forti 1999/06/28
|
||||
// ************************************************************
|
||||
// 12-06-96, Added SelectRandomAtom() method and new data member
|
||||
// for cumulative total cross section, by M.Maire
|
||||
// 21-06-96, SetCuts implementation, M.Maire
|
||||
// 17-09-96, Dynamic array PartialSumSigma
|
||||
// split ComputeBindingEnergy(), M.Maire
|
||||
// 08-01-97, crossection table + meanfreepath table, M.Maire
|
||||
// 13-03-97, adapted for the new physics scheme, M.Maire
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#ifndef G4LowEnergyUtilities_h
|
||||
#define G4LowEnergyUtilities_h 1
|
||||
@@ -92,7 +82,7 @@ inline G4int G4LowEnergyUtilities::FindBinLocation(const G4double arg, const G4D
|
||||
} while (lowerBound <= upperBound);
|
||||
|
||||
return upperBound;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
inline G4double G4LowEnergyUtilities::DataLogInterpolation(const G4double Argument,
|
||||
@@ -116,7 +106,7 @@ inline G4double G4LowEnergyUtilities::DataLogInterpolation(const G4double Argume
|
||||
theVal = pow(10,theVal);
|
||||
|
||||
return theVal;
|
||||
};
|
||||
}
|
||||
|
||||
inline G4int G4LowEnergyUtilities::FindBinLocation(const G4double arg,
|
||||
const G4PhysicsVector* vec){
|
||||
|
||||
@@ -1,95 +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: G4VDataFile
|
||||
//
|
||||
// Author: Alessandra Forti (Alessandra.Forti@cern.ch)
|
||||
//
|
||||
// Creation date: 2 February 1999
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
#ifndef G4VDataFile_hh
|
||||
#define G4VDataFile_hh
|
||||
|
||||
// Other Class Headers
|
||||
#include "globals.hh"
|
||||
#include "G4Data.hh"
|
||||
|
||||
// C++ Headers
|
||||
#include <fstream.h>
|
||||
|
||||
class G4VDataFile{
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
G4VDataFile(const G4String& file);
|
||||
|
||||
// Destructor
|
||||
~G4VDataFile();
|
||||
|
||||
// Member Functions
|
||||
void OpenFile();
|
||||
void CloseFile();
|
||||
void Eof();
|
||||
G4bool IsOpen();
|
||||
void SeekPos(streampos);
|
||||
streampos TellPos();
|
||||
|
||||
void GetLine();
|
||||
G4int LineLength();
|
||||
char* GetBuf();
|
||||
|
||||
virtual G4bool FindTheProcess() = 0;
|
||||
virtual G4bool FindTheElement(G4int) = 0;
|
||||
virtual G4bool FindOneElemProc(G4int& subsh) = 0;
|
||||
virtual void GetDataValues(G4Data& valList) = 0;
|
||||
|
||||
protected:
|
||||
|
||||
// Member Functions
|
||||
void SetBufferSize(G4int);
|
||||
|
||||
private:
|
||||
|
||||
const G4String& _filename; // data file name
|
||||
ifstream _istr;
|
||||
G4int _bufSize;
|
||||
char* buf;
|
||||
};
|
||||
|
||||
#endif // G4VDataFile
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,61 +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: G4VTables
|
||||
//
|
||||
// Author: Alessandra Forti (Alessandra.Forti@cern.ch)
|
||||
//
|
||||
// Creation date: 2 February 1999
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
#ifndef G4VTables_hh
|
||||
#define G4VTables_hh
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4SecondLevel.hh"
|
||||
class G4VTables{
|
||||
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
G4VTables();
|
||||
|
||||
// Destructor
|
||||
~G4VTables();
|
||||
|
||||
// Member Functions
|
||||
|
||||
// search the data table in the file
|
||||
virtual void FillDataTable() = 0;
|
||||
virtual G4SecondLevel* FillTheTable(G4int nemEl = 0) = 0;
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
#endif // G4VTables
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -78,15 +78,7 @@ protected:
|
||||
const G4ParticleDefinition& aParticleType,
|
||||
G4double KineticEnergy,
|
||||
G4double AtomicNumber);
|
||||
|
||||
//--------------------------------------------------------start
|
||||
virtual G4double ComputeBarkasTerm(
|
||||
const G4Material* material,
|
||||
const G4double KinEnergy,
|
||||
const G4double PartMass);
|
||||
//Function to compute the Barkas term
|
||||
//---------------------------------------------------------end
|
||||
|
||||
|
||||
public: // With description
|
||||
|
||||
void SetStoppingPowerTableName(const G4String& dedxTable);
|
||||
@@ -99,22 +91,28 @@ public: // With description
|
||||
// This method switch off calculation of the nuclear stopping power.
|
||||
|
||||
void SetAntiProtonStoppingOn();
|
||||
// This method switch on calculation of the loss table for antiproton
|
||||
// using antiproron formulation (down to 100 keV).
|
||||
// This method switch on calculation of the Barkas Effect for antiproton
|
||||
|
||||
void SetAntiProtonStoppingOff();
|
||||
// This method switch off calculation of the loss table for antiproton
|
||||
// using antiproron formulation (down to 100 keV).
|
||||
// This method switch on calculation of the Barkas Effect for antiproton
|
||||
|
||||
G4double GetParametrisedLoss(const G4Material* material,
|
||||
const G4double KinEnergy,
|
||||
const G4double DeltaRayCutNow,
|
||||
const G4double PartMass,
|
||||
const G4double PartCharge);
|
||||
virtual G4double GetParametrisedLoss(G4Material* aMaterial,
|
||||
const G4double KinEnergy,
|
||||
const G4double DeltaRayCutNow);
|
||||
// This method returns parametrised energy loss.
|
||||
// NEW**** modified totake account of the Barkas correction
|
||||
|
||||
G4double GetPreciseDEDX(G4Material* aMaterial,
|
||||
const G4double KinEnergy,
|
||||
const G4ParticleDefinition* aParticleType);
|
||||
// This method returns electron ionisation energy loss for any energy.
|
||||
|
||||
G4double GetNuclearDEDX(G4Material* aMaterial,
|
||||
const G4double KinEnergy,
|
||||
const G4ParticleDefinition* aParticleType);
|
||||
// This method returns nuclear energy loss.
|
||||
|
||||
G4double GetBetheBlochLoss(const G4Material* material, const G4double KinEnergy,
|
||||
G4double GetBetheBlochLoss(const G4Material* material,
|
||||
const G4double KinEnergy,
|
||||
const G4double DeltaRayCutNow);
|
||||
// This method returns energy loss calculated via Bethe-Bloch formula.
|
||||
|
||||
@@ -205,6 +203,17 @@ public: // With description
|
||||
// The Stopping and Range of Ions in Matter,
|
||||
// Vol.1, Pergamon Press, 1985
|
||||
|
||||
G4double ComputeBarkasTerm(const G4Material* material, const G4double KinEnergy);
|
||||
// Function to compute the Barkas term
|
||||
|
||||
G4double GetConstraints(const G4DynamicParticle *aParticle,
|
||||
G4Material *aMaterial);
|
||||
// Function to determine StepLimit
|
||||
|
||||
G4VParticleChange* AlongStepDoIt(const G4Track& trackData ,
|
||||
const G4Step& stepData );
|
||||
// Function to determine total energy deposition on the step
|
||||
|
||||
private:
|
||||
|
||||
// hide assignment operator
|
||||
@@ -234,8 +243,9 @@ protected:
|
||||
const G4double Factor;
|
||||
const G4double bg2lim;
|
||||
const G4double taulim; // energy to start to switch off shell corrections
|
||||
G4double RateMass;
|
||||
G4double MassRatio;
|
||||
G4double RateMass; // m_e/M
|
||||
G4double MassRatio; // m_p/M
|
||||
G4ParticleDefinition* theParticle;
|
||||
|
||||
// particles , cuts in kinetic energy ........
|
||||
const G4Electron* theElectron;
|
||||
|
||||
@@ -37,14 +37,14 @@ public: // Without description
|
||||
|
||||
~G4ionLowEnergyIonisation();
|
||||
|
||||
G4double GetIonParametrisedLoss(const G4Material* material, const G4double KinEnergy,
|
||||
const G4double DeltaRayCutNow);
|
||||
|
||||
G4double GetIonBetheBlochLoss(const G4Material* material, const G4double KinEnergy,
|
||||
const G4double DeltaRayCutNow);
|
||||
// G4double GetIonParametrisedLoss(const G4Material* material, const G4double KinEnergy,
|
||||
// const G4double DeltaRayCutNow);
|
||||
|
||||
// G4double GetIonBetheBlochLoss(const G4Material* material, const G4double KinEnergy,
|
||||
// const G4double DeltaRayCutNow);
|
||||
|
||||
G4double GetLowEnergyForParametrisation(const G4Material* material);
|
||||
|
||||
|
||||
void PrintInfoDefinition();
|
||||
|
||||
public: // With description
|
||||
@@ -60,26 +60,20 @@ private:
|
||||
|
||||
// private data members ...............................
|
||||
|
||||
G4double GetConstraints(const G4DynamicParticle *aParticle,
|
||||
G4Material *aMaterial);
|
||||
// G4double GetConstraints(const G4DynamicParticle *aParticle,
|
||||
// G4Material *aMaterial);
|
||||
|
||||
G4double GetIonLossWithFluct(const G4DynamicParticle *aParticle,
|
||||
G4Material *aMaterial,
|
||||
G4double MeanLoss) ;
|
||||
|
||||
G4VParticleChange* AlongStepDoIt(const G4Track& track ,const G4Step& Step);
|
||||
|
||||
G4ParticleDefinition* theIon;
|
||||
// G4VParticleChange* AlongStepDoIt(const G4Track& track ,const G4Step& Step);
|
||||
|
||||
protected:
|
||||
// protected data members ...............................
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
//#include "G4ionLowEnergyIonisation.icc"
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user