Import Geant4 9.0.0 source tree
This commit is contained in:
@@ -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