Import Geant4 9.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:16:48 +02:00
parent 75c7fd177d
commit a8e9364cea
6592 changed files with 84274 additions and 69292 deletions
+22 -2
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.80 2007/01/10 18:54:30 vnivanch Exp $
$Id: History,v 1.87 2007/06/20 09:21:45 vnivanch Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,7 +17,27 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
10-07-01 V.Ivanchenko (materials-V08-02-00)
19-06-07 V.Ivanchenko (materials-V08-03-02)
- G4SandiaTable - comment out destruction of G4OrderedTable
15-06-07 V.Ivanchenko (materials-V08-03-01)
- G4SandiaTable - fixed non-initilised pointer in constructor, int -> G4int
14-06-07 V.Ivanchenko (materials-V08-03-00)
- G4SandiaTable - added deletion of elements of the table in destructor
- G4NistElementBuilder - protection (Z>=limitNumElements) inside BuildElement
(Mokka request)
02-05-07 V.Ivanchenko (materials-V08-02-02)
- G4NistManager and G4NistElementBuilder - add GetNistFirstIsotopeN
and GetNumberOfNistIsotopes methods
25-04-07 P.Gumplinger (materials-V08-02-01)
- add file G4SurfaceProperty.cc, modify G4SurfaceProperty.hh to provide
a static G4SurfacePropertyTable akin to G4MaterialTable
add G4Exception to SetGROUPVEL when E_photon <= 0
10-07-06 V.Ivanchenko (materials-V08-02-00)
- G4Material - fill fAtomVector in the case, when material is built
from Element mass fractions
- G4NistMaterialBuilder - add liquids O2 and N2
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4AtomicShells.hh,v 1.7 2006/10/17 15:15:46 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
// class description
//
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4Element.hh,v 1.22 2006/10/17 15:15:46 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// class description
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4ElementTable.hh,v 1.6 2006/06/29 19:10:58 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4ElementVector.hh,v 1.6 2006/06/29 19:11:00 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4IonisParamElm.hh,v 1.9 2006/06/29 19:11:02 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// class description
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4IonisParamMat.hh,v 1.9 2006/06/29 19:11:05 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// class description
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4Isotope.hh,v 1.19 2006/06/29 19:11:07 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4IsotopeVector.hh,v 1.6 2006/06/29 19:11:09 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4MPVEntry.hh,v 1.6 2006/06/29 19:11:11 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
////////////////////////////////////////////////////////////////////////
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4Material.hh,v 1.25 2006/06/29 19:11:13 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// class description
@@ -25,7 +25,7 @@
//
//
// $Id: G4MaterialPropertiesTable.hh,v 1.18 2006/06/29 19:11:15 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
////////////////////////////////////////////////////////////////////////
@@ -25,7 +25,7 @@
//
//
// $Id: G4MaterialPropertyVector.hh,v 1.10 2006/06/29 19:11:17 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
////////////////////////////////////////////////////////////////////////
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4MaterialTable.hh,v 1.6 2006/06/29 19:11:19 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4NistElementBuilder.hh,v 1.11 2007/01/10 18:53:45 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-03 $
// $Id: G4NistElementBuilder.hh,v 1.12 2007/05/02 11:22:35 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
#ifndef G4NistElementBuilder_h
#define G4NistElementBuilder_h 1
@@ -42,6 +42,7 @@
// 27.02.06 V.Ivanchenko Return m=0 if Z&N combination is out of NIST
// 27.02.06 V.Ivanchneko add GetAtomicMassAmu
// 17.10.06 V.Ivanchneko add GetAtomicMass and GetNistElementNames methods
// 02.05.07 V.Ivanchneko add GetNistFirstIsotopeN and GetNumberOfNistIsotopes
//
//----------------------------------------------------------------------------
//
@@ -76,9 +77,12 @@ public:
G4double GetIsotopeAbundance (G4int Z, G4int N);
G4int GetMaxNumElements() {return maxNumElements-1;};
G4int GetNistFirstIsotopeN(G4int Z);
G4int GetNumberOfNistIsotopes(G4int Z);
void SetVerbose (G4int vb) {verbose = vb;};
G4int GetMaxNumElements();
void SetVerbose (G4int);
void PrintElement (G4int Z);
// Find or build a G4Element by atomic number
@@ -176,6 +180,20 @@ inline G4double G4NistElementBuilder::GetIsotopeAbundance(G4int Z, G4int N)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline G4int G4NistElementBuilder::GetNistFirstIsotopeN(G4int Z)
{
return nFirstIsotope[Z];
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline G4int G4NistElementBuilder::GetNumberOfNistIsotopes(G4int Z)
{
return nIsotopes[Z];
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline
const std::vector<G4String>& G4NistElementBuilder::GetElementNames() const
{
@@ -184,5 +202,19 @@ const std::vector<G4String>& G4NistElementBuilder::GetElementNames() const
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline G4int G4NistElementBuilder::GetMaxNumElements()
{
return maxNumElements-1;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline void G4NistElementBuilder::SetVerbose(G4int val)
{
verbose = val;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
+33 -3
View File
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4NistManager.hh,v 1.9 2006/10/17 15:15:46 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4NistManager.hh,v 1.12 2007/05/02 11:22:35 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// -------------------------------------------------------------------
@@ -42,6 +42,7 @@
// 11.05.06 V.Ivanchneko add warning flag to FindMaterial method
// 17.10.06 V.Ivanchneko add methods: GetAtomicMass, GetNistElementNames,
// GetNistMaterialNames
// 02.05.07 V.Ivanchneko add GetNistFirstIsotopeN and GetNumberOfNistIsotopes
//
// Class Description:
//
@@ -103,6 +104,10 @@ public:
G4double GetIsotopeMass(G4int Z, G4int N) const;
G4double GetAtomicMass(G4int Z, G4int N) const;
// Number of isotopes
G4int GetNistFirstIsotopeN(G4int Z) const;
G4int GetNumberOfNistIsotopes(G4int Z) const;
G4double GetIsotopeAbundance(G4int Z, G4int N) const;
void PrintElement(const G4String&);
@@ -145,7 +150,7 @@ public:
G4double temp, G4double pres,
G4bool isotopes=true);
size_t GetNumberOfMaterials() {return nMaterials;};
size_t GetNumberOfMaterials();
void SetVerbose(G4int);
G4int GetVerbose();
@@ -171,11 +176,20 @@ private:
G4NistElementBuilder* elmBuilder;
G4NistMaterialBuilder* matBuilder;
G4NistMessenger* messenger;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline
size_t G4NistManager::GetNumberOfMaterials()
{
return nMaterials;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline
G4Element* G4NistManager::GetElement(size_t index)
{
@@ -251,6 +265,22 @@ G4double G4NistManager::GetIsotopeAbundance(G4int Z, G4int N) const
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline
G4int G4NistManager::GetNistFirstIsotopeN(G4int Z) const
{
return elmBuilder->GetNistFirstIsotopeN(Z);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline
G4int G4NistManager::GetNumberOfNistIsotopes(G4int Z) const
{
return elmBuilder->GetNumberOfNistIsotopes(Z);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline
const std::vector<G4String>& G4NistManager::GetNistElementNames() const
{
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4NistMaterialBuilder.hh,v 1.9 2006/10/17 15:15:46 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
#ifndef G4NistMaterialBuilder_h
#define G4NistMaterialBuilder_h 1
+5 -3
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4NistMessenger.hh,v 1.2 2006/06/29 19:12:29 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4NistMessenger.hh,v 1.4 2007/05/02 10:48:52 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// File name: G4NistMessenger
//
@@ -34,6 +34,7 @@
// Creation date: 23.12.2004
//
// Modifications:
// 29.04.07 V.Ivanchenko add recCmd
//
//
// Class Description:
@@ -83,7 +84,7 @@ class G4NistMessenger: public G4UImessenger
public:
G4NistMessenger(G4NistManager* );
~G4NistMessenger();
virtual ~G4NistMessenger();
void SetNewValue(G4UIcommand*, G4String);
@@ -102,6 +103,7 @@ private:
G4UIdirectory* g4Dir;
G4UIcmdWithAString* g4ElmCmd;
G4UIcmdWithAString* g4MatCmd;
};
#endif
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4OpticalSurface.hh,v 1.8 2006/06/29 19:12:31 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
////////////////////////////////////////////////////////////////////////
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4SandiaTable.hh,v 1.14 2006/06/29 19:12:33 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
// class description
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4StaticSandiaData.hh,v 1.7 2006/06/29 19:12:35 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
+17 -2
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SurfaceProperty.hh,v 1.3 2006/06/29 19:12:37 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4SurfaceProperty.hh,v 1.4 2007/04/25 16:18:34 gum Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
//
////////////////////////////////////////////////////////////////////////
@@ -54,9 +54,15 @@
// Includes
/////////////
#include <vector>
#include "G4Types.hh"
#include "G4String.hh"
class G4SurfaceProperty;
typedef std::vector<G4SurfaceProperty*> G4SurfacePropertyTable;
enum G4SurfaceType
{
dielectric_metal, // dielectric-metal interface
@@ -94,6 +100,7 @@ public: // With description
G4SurfaceType type = x_ray)
: theName(name), theType(type)
{
theSurfacePropertyTable.push_back(this);
}
// Constructor of a X-ray optical surface object.
@@ -119,6 +126,12 @@ public: // With description
void SetType(const G4SurfaceType type){theType = type;};
// Sets the surface type.
static void CleanSurfacePropertyTable();
static const G4SurfacePropertyTable* GetSurfacePropertyTable();
static size_t GetNumberOfSurfaceProperties();
static void DumpInfo();
// To handle the table of surface properties.
protected:
// ------------------
@@ -129,6 +142,8 @@ protected:
G4SurfaceType theType; // Surface type
static G4SurfacePropertyTable theSurfacePropertyTable;
// The static Table of SurfaceProperties.
};
////////////////////
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4AtomicShells.cc,v 1.7 2006/10/17 15:15:46 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4Element.cc,v 1.24 2006/10/17 15:15:46 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4IonisParamElm.cc,v 1.14 2006/06/29 19:12:43 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4IonisParamMat.cc,v 1.18 2006/06/29 19:12:45 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4Isotope.cc,v 1.20 2006/10/17 15:15:46 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4MPVEntry.cc,v 1.7 2006/06/29 19:12:49 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
////////////////////////////////////////////////////////////////////////
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4Material.cc,v 1.35 2007/01/10 12:00:29 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-03 $
// GEANT4 tag $Name: geant4-09-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4MaterialPropertiesTable.cc,v 1.18 2006/06/29 19:12:53 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4MaterialPropertiesTable.cc,v 1.19 2007/04/25 15:46:55 gum Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
//
////////////////////////////////////////////////////////////////////////
@@ -81,6 +81,7 @@ void G4MaterialPropertiesTable::AddConstProperty(const char *key,
// Table given a key
MPTC [G4String(key)] = PropertyValue;
}
void G4MaterialPropertiesTable::AddProperty(const char *key,
@@ -238,12 +239,18 @@ G4MaterialPropertyVector* G4MaterialPropertiesTable::SetGROUPVEL()
// rindex built-in "iterator" was advanced to first entry above
G4double E0 = rindex->GetPhotonMomentum();
G4double n0 = rindex->GetProperty();
if (E0 <= 0. ) G4Exception("G4MaterialPropertiesTable::SetGROUPVEL ==> "
"Optical Photon Energy <= 0");
if ( ++*rindex ) {
// good, we have at least two entries in RINDEX
// get next energy/value pair
G4double E1 = rindex->GetPhotonMomentum();
G4double n1 = rindex->GetProperty();
if (E1 <= 0. ) G4Exception("G4MaterialPropertiesTable::SetGROUPVEL ==> "
"Optical Photon Energy <= 0");
G4double vg;
// add entry at first photon energy
vg = c_light/(n0+(n1-n0)/std::log(E1/E0));
@@ -262,6 +269,9 @@ G4MaterialPropertyVector* G4MaterialPropertiesTable::SetGROUPVEL()
n0 = n1;
E1 = rindex->GetPhotonMomentum();
n1 = rindex->GetProperty();
if (E1 <= 0. ) G4Exception("G4MaterialPropertiesTable::SetGROUPVEL ==> "
"Optical Photon Energy <= 0");
}
// add entry at last photon energy
vg = c_light/(n1+(n1-n0)/std::log(E1/E0));
@@ -25,7 +25,7 @@
//
//
// $Id: G4MaterialPropertyVector.cc,v 1.15 2006/06/29 19:12:56 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
////////////////////////////////////////////////////////////////////////
+3 -3
View File
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4NistElementBuilder.cc,v 1.13 2007/01/10 18:58:52 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-03 $
// $Id: G4NistElementBuilder.cc,v 1.14 2007/06/14 14:24:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -121,7 +121,7 @@ G4Element* G4NistElementBuilder::FindOrBuildElement(G4int Z,
G4Element* G4NistElementBuilder::BuildElement(G4int Z, G4bool buildIsotopes)
{
G4Element* theElement = 0;
if(Z<1 || Z>limitNumElements) return theElement;
if(Z<1 || Z>=limitNumElements) return theElement;
G4double Zeff = (G4double)Z;
G4double Aeff = atomicMass[Z];
if (verbose > 1) {
+2 -2
View File
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4NistManager.cc,v 1.7 2006/10/17 15:15:46 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4NistManager.cc,v 1.9 2007/05/02 10:48:52 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4NistMaterialBuilder.cc,v 1.15 2007/01/10 12:25:56 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-03 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// -------------------------------------------------------------------
+6 -6
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4NistMessenger.cc,v 1.2 2006/06/29 19:13:05 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4NistMessenger.cc,v 1.4 2007/05/02 10:48:52 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// File name: G4NistMessenger
@@ -57,8 +57,8 @@ G4NistMessenger::G4NistMessenger(G4NistManager* man)
:manager(man)
{
matDir = new G4UIdirectory("/material/");
matDir->SetGuidance("Commands for Materials");
matDir->SetGuidance("Commands for materials");
verCmd = new G4UIcmdWithAnInteger("/material/verbose",this);
verCmd->SetGuidance("Set verbose level.");
@@ -95,7 +95,7 @@ G4NistMessenger::G4NistMessenger(G4NistManager* man)
g4MatCmd = new G4UIcmdWithAString("/material/g4/printMaterial",this);
g4MatCmd->SetGuidance("print Material in G4MaterialTable.");
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -109,7 +109,7 @@ G4NistMessenger::~G4NistMessenger()
delete nistDir;
delete g4ElmCmd;
delete g4MatCmd;
delete g4MatCmd;
delete g4Dir;
delete matDir;
}
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4OpticalSurface.cc,v 1.10 2006/06/29 19:13:08 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
////////////////////////////////////////////////////////////////////////
+11 -6
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SandiaTable.cc,v 1.22 2006/06/29 19:13:11 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4SandiaTable.cc,v 1.27 2007/06/20 09:21:45 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
//
@@ -76,6 +76,7 @@ G4SandiaTable::G4SandiaTable(G4int matIndex)
G4SandiaTable::G4SandiaTable(G4Material* material)
: fMaterial(material)
{
fMatSandiaMatrix = 0 ;
fPhotoAbsorptionCof = 0 ;
//build the CumulInterval array
fCumulInterval[0] = 1;
@@ -103,7 +104,10 @@ G4SandiaTable::G4SandiaTable(__void__&)
G4SandiaTable::~G4SandiaTable()
{
if(fMatSandiaMatrix) delete fMatSandiaMatrix;
if(fMatSandiaMatrix) {
// fMatSandiaMatrix->clearAndDestroy();
delete fMatSandiaMatrix;
}
if(fPhotoAbsorptionCof)
{
@@ -128,7 +132,7 @@ void G4SandiaTable::ComputeMatSandiaMatrix()
G4int MaxIntervals = 0;
G4int elm;
for (elm=0; elm<NbElm; elm++)
{ Z[elm] = (int)(*ElementVector)[elm]->GetZ();
{ Z[elm] = (G4int)(*ElementVector)[elm]->GetZ();
MaxIntervals += fNbOfIntervals[Z[elm]];
}
@@ -207,7 +211,7 @@ void G4SandiaTable::ComputeMatSandiaMatrix()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
G4double G4SandiaTable::GetSandiaCofForMaterial(G4int interval, G4int j)
G4double G4SandiaTable::GetSandiaCofForMaterial(G4int interval, G4int j)
{
assert (interval>=0 && interval<fMatNbOfIntervals && j>=0 && j<5);
return ((*(*fMatSandiaMatrix)[interval])[j]);
@@ -442,7 +446,7 @@ void G4SandiaTable::ComputeMatTable()
for (elm = 0; elm<noElm; elm++)
{
Z[elm] = (int)(*ElementVector)[elm]->GetZ();
Z[elm] = (G4int)(*ElementVector)[elm]->GetZ();
MaxIntervals += fNbOfIntervals[Z[elm]];
}
fMaxInterval = 0 ;
@@ -614,6 +618,7 @@ void G4SandiaTable::ComputeMatTable()
(*(*fMatSandiaMatrix)[i])[j] = fPhotoAbsorptionCof[i+1][j];
}
}
delete [] Z;
return ;
}
+96
View File
@@ -0,0 +1,96 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4SurfaceProperty.cc,v 1.1 2007/04/25 16:19:26 gum Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
//
////////////////////////////////////////////////////////////////////////
// G4SurfaceProperty Implementation
////////////////////////////////////////////////////////////////////////
//
// Class Description:
//
// A base class describing a surface property.
// Derived classes are G4Opticalsurface, G4Firovsurface, etc.
//
// File: G4SurfaceProperty.cc
// Version: 1.0
// Created: 16-11-2006
// Author: Peter Gumplinger
//
////////////////////////////////////////////////////////////////////////
#include "globals.hh"
#include "G4SurfaceProperty.hh"
G4SurfacePropertyTable G4SurfaceProperty::theSurfacePropertyTable;
//
// Methods
//
const G4SurfacePropertyTable* G4SurfaceProperty::GetSurfacePropertyTable()
{
return &theSurfacePropertyTable;
}
size_t G4SurfaceProperty::GetNumberOfSurfaceProperties()
{
return theSurfacePropertyTable.size();
}
// Dump info for known surface properties
//
void G4SurfaceProperty::DumpInfo()
{
G4cout << "***** Surface Property Table : Nb of Surface Properties = "
<< GetNumberOfSurfaceProperties() << " *****" << G4endl;
for (size_t i=0; i<theSurfacePropertyTable.size(); i++)
{
G4SurfaceProperty* pSurfaceProperty = theSurfacePropertyTable[i];
G4cout << pSurfaceProperty->GetName() << " : " << G4endl
<< " Surface Property type = "
<< pSurfaceProperty->GetType()
<< G4endl;
}
G4cout << G4endl;
}
void G4SurfaceProperty::CleanSurfacePropertyTable()
{
DumpInfo();
G4SurfacePropertyTable::iterator pos;
for(pos=theSurfacePropertyTable.begin();
pos!=theSurfacePropertyTable.end(); pos++)
{
if (*pos) delete *pos;
}
theSurfacePropertyTable.clear();
DumpInfo();
}