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
+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();
}