Import Geant4 9.0.0 source tree
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
//
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -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 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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......
|
||||
|
||||
|
||||
@@ -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 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -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 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -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 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -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....
|
||||
|
||||
@@ -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.
|
||||
};
|
||||
|
||||
////////////////////
|
||||
|
||||
@@ -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....
|
||||
|
||||
|
||||
@@ -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......
|
||||
|
||||
|
||||
@@ -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....
|
||||
|
||||
@@ -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....
|
||||
|
||||
@@ -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......
|
||||
|
||||
|
||||
@@ -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 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -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 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 $
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -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 ;
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
Reference in New Issue
Block a user