Import Geant4 9.4.0 source tree
This commit is contained in:
+141
-125
@@ -23,9 +23,8 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Material.cc,v 1.42 2008/08/13 16:06:42 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4Material.cc,v 1.44 2010/10/25 10:35:11 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-04 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
@@ -73,9 +72,9 @@
|
||||
|
||||
#include "G4Material.hh"
|
||||
#include "G4UnitsTable.hh"
|
||||
#include "G4Pow.hh"
|
||||
#include <iomanip>
|
||||
|
||||
|
||||
G4MaterialTable G4Material::theMaterialTable;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -90,13 +89,14 @@ G4Material::G4Material(const G4String& name, G4double z,
|
||||
InitializePointers();
|
||||
|
||||
if (density < universe_mean_density)
|
||||
{ G4cerr << "--- Warning from G4Material::G4Material()"
|
||||
<< " define a material with density=0 is not allowed. \n"
|
||||
<< " The material " << name << " will be constructed with the"
|
||||
<< " default minimal density: " << universe_mean_density/(g/cm3)
|
||||
<< "g/cm3" << G4endl;
|
||||
density = universe_mean_density;
|
||||
}
|
||||
{
|
||||
G4cerr << "--- Warning from G4Material::G4Material()"
|
||||
<< " define a material with density=0 is not allowed. \n"
|
||||
<< " The material " << name << " will be constructed with the"
|
||||
<< " default minimal density: " << universe_mean_density/(g/cm3)
|
||||
<< "g/cm3" << G4endl;
|
||||
density = universe_mean_density;
|
||||
}
|
||||
|
||||
fDensity = density;
|
||||
fState = state;
|
||||
@@ -118,8 +118,8 @@ G4Material::G4Material(const G4String& name, G4double z,
|
||||
|
||||
if (fState == kStateUndefined)
|
||||
{
|
||||
if (fDensity > kGasThreshold) fState = kStateSolid;
|
||||
else fState = kStateGas;
|
||||
if (fDensity > kGasThreshold) { fState = kStateSolid; }
|
||||
else { fState = kStateGas; }
|
||||
}
|
||||
|
||||
ComputeDerivedQuantities();
|
||||
@@ -138,12 +138,13 @@ G4Material::G4Material(const G4String& name, G4double density,
|
||||
InitializePointers();
|
||||
|
||||
if (density < universe_mean_density)
|
||||
{G4cerr << "--- Warning from G4Material::G4Material()"
|
||||
<< " define a material with density=0 is not allowed. \n"
|
||||
<< " The material " << name << " will be constructed with the"
|
||||
<< " default minimal density: " << universe_mean_density/(g/cm3)
|
||||
<< "g/cm3" << G4endl;
|
||||
density = universe_mean_density;
|
||||
{
|
||||
G4cerr << "--- Warning from G4Material::G4Material()"
|
||||
<< " define a material with density=0 is not allowed. \n"
|
||||
<< " The material " << name << " will be constructed with the"
|
||||
<< " default minimal density: " << universe_mean_density/(g/cm3)
|
||||
<< "g/cm3" << G4endl;
|
||||
density = universe_mean_density;
|
||||
}
|
||||
|
||||
fDensity = density;
|
||||
@@ -161,8 +162,8 @@ G4Material::G4Material(const G4String& name, G4double density,
|
||||
|
||||
if (fState == kStateUndefined)
|
||||
{
|
||||
if (fDensity > kGasThreshold) fState = kStateSolid;
|
||||
else fState = kStateGas;
|
||||
if (fDensity > kGasThreshold) { fState = kStateSolid; }
|
||||
else { fState = kStateGas; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,6 +178,7 @@ G4Material::G4Material(__void__&)
|
||||
fMaterialPropertiesTable(0), fIndexInTable(0),
|
||||
VecNbOfAtomsPerVolume(0), fIonisation(0), fSandiaTable(0)
|
||||
{
|
||||
InitializePointers();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -194,7 +196,7 @@ void G4Material::AddElement(G4Element* element, G4int nAtoms)
|
||||
// filling ...
|
||||
if ( G4int(fNumberOfElements) < maxNbComponents ) {
|
||||
theElementVector->push_back(element);
|
||||
fAtomsVector [fNumberOfElements] = nAtoms;
|
||||
fAtomsVector[fNumberOfElements] = nAtoms;
|
||||
fNumberOfComponents = ++fNumberOfElements;
|
||||
element->increaseCountUse();
|
||||
} else {
|
||||
@@ -205,19 +207,19 @@ void G4Material::AddElement(G4Element* element, G4int nAtoms)
|
||||
}
|
||||
// filled.
|
||||
if ( G4int(fNumberOfElements) == maxNbComponents ) {
|
||||
// compute proportion by mass
|
||||
size_t i=0;
|
||||
G4double Zmol(0.), Amol(0.);
|
||||
for (i=0;i<fNumberOfElements;i++) {
|
||||
Zmol += fAtomsVector[i]*(*theElementVector)[i]->GetZ();
|
||||
Amol += fAtomsVector[i]*(*theElementVector)[i]->GetA();
|
||||
}
|
||||
for (i=0;i<fNumberOfElements;i++) {
|
||||
fMassFractionVector[i] = fAtomsVector[i]
|
||||
*(*theElementVector)[i]->GetA()/Amol;
|
||||
}
|
||||
// compute proportion by mass
|
||||
size_t i=0;
|
||||
G4double Zmol(0.), Amol(0.);
|
||||
for (i=0; i<fNumberOfElements; ++i) {
|
||||
Zmol += fAtomsVector[i]*(*theElementVector)[i]->GetZ();
|
||||
Amol += fAtomsVector[i]*(*theElementVector)[i]->GetA();
|
||||
}
|
||||
for (i=0; i<fNumberOfElements; ++i) {
|
||||
fMassFractionVector[i] = fAtomsVector[i]
|
||||
*(*theElementVector)[i]->GetA()/Amol;
|
||||
}
|
||||
|
||||
ComputeDerivedQuantities();
|
||||
ComputeDerivedQuantities();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,16 +237,16 @@ void G4Material::AddElement(G4Element* element, G4double fraction)
|
||||
|
||||
// filling ...
|
||||
if (G4int(fNumberOfComponents) < maxNbComponents) {
|
||||
size_t el = 0;
|
||||
while ((el<fNumberOfElements)&&(element!=(*theElementVector)[el])) el++;
|
||||
if (el<fNumberOfElements) fMassFractionVector[el] += fraction;
|
||||
else {
|
||||
theElementVector->push_back(element);
|
||||
fMassFractionVector[el] = fraction;
|
||||
fNumberOfElements++;
|
||||
element->increaseCountUse();
|
||||
}
|
||||
fNumberOfComponents++;
|
||||
size_t el = 0;
|
||||
while ((el<fNumberOfElements)&&(element!=(*theElementVector)[el])) { ++el; }
|
||||
if (el<fNumberOfElements) fMassFractionVector[el] += fraction;
|
||||
else {
|
||||
theElementVector->push_back(element);
|
||||
fMassFractionVector[el] = fraction;
|
||||
++fNumberOfElements;
|
||||
element->increaseCountUse();
|
||||
}
|
||||
++fNumberOfComponents;
|
||||
} else {
|
||||
G4cerr << "G4Material::AddElement ERROR for " << fName << " nElement= "
|
||||
<< fNumberOfElements << G4endl;
|
||||
@@ -255,26 +257,26 @@ void G4Material::AddElement(G4Element* element, G4double fraction)
|
||||
// filled.
|
||||
if (G4int(fNumberOfComponents) == maxNbComponents) {
|
||||
|
||||
size_t i=0;
|
||||
G4double Zmol(0.), Amol(0.);
|
||||
// check sum of weights -- OK?
|
||||
G4double wtSum(0.0);
|
||||
for (i=0;i<fNumberOfElements;i++) {
|
||||
wtSum += fMassFractionVector[i];
|
||||
Zmol += fMassFractionVector[i]*(*theElementVector)[i]->GetZ();
|
||||
Amol += fMassFractionVector[i]*(*theElementVector)[i]->GetA();
|
||||
}
|
||||
if (std::abs(1.-wtSum) > perThousand) {
|
||||
G4cerr << "WARNING !! for " << fName << " sum of fractional masses "
|
||||
<< wtSum << " is not 1 - results may be wrong"
|
||||
<< G4endl;
|
||||
}
|
||||
for (i=0;i<fNumberOfElements;i++) {
|
||||
fAtomsVector[i] =
|
||||
G4int(fMassFractionVector[i]*Amol/(*theElementVector)[i]->GetA()+0.5);
|
||||
}
|
||||
size_t i=0;
|
||||
G4double Zmol(0.), Amol(0.);
|
||||
// check sum of weights -- OK?
|
||||
G4double wtSum(0.0);
|
||||
for (i=0; i<fNumberOfElements; ++i) {
|
||||
wtSum += fMassFractionVector[i];
|
||||
Zmol += fMassFractionVector[i]*(*theElementVector)[i]->GetZ();
|
||||
Amol += fMassFractionVector[i]*(*theElementVector)[i]->GetA();
|
||||
}
|
||||
if (std::fabs(1.-wtSum) > perThousand) {
|
||||
G4cerr << "WARNING !! for " << fName << " sum of fractional masses "
|
||||
<< wtSum << " is not 1 - results may be wrong"
|
||||
<< G4endl;
|
||||
}
|
||||
for (i=0; i<fNumberOfElements; ++i) {
|
||||
fAtomsVector[i] =
|
||||
G4int(fMassFractionVector[i]*Amol/(*theElementVector)[i]->GetA()+0.5);
|
||||
}
|
||||
|
||||
ComputeDerivedQuantities();
|
||||
ComputeDerivedQuantities();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -298,7 +300,7 @@ void G4Material::AddMaterial(G4Material* material, G4double fraction)
|
||||
fArrayLength += nelm - 1;
|
||||
G4double* v1 = new G4double[fArrayLength];
|
||||
G4int* i1 = new G4int[fArrayLength];
|
||||
for(G4int i=0; i<nold; i++) {
|
||||
for(G4int i=0; i<nold; ++i) {
|
||||
v1[i] = fMassFractionVector[i];
|
||||
i1[i] = fAtomsVector[i];
|
||||
}
|
||||
@@ -310,8 +312,8 @@ void G4Material::AddMaterial(G4Material* material, G4double fraction)
|
||||
|
||||
// filling ...
|
||||
if (G4int(fNumberOfComponents) < maxNbComponents) {
|
||||
for (size_t elm=0; elm<nelm; elm++)
|
||||
{
|
||||
for (size_t elm=0; elm<nelm; ++elm)
|
||||
{
|
||||
G4Element* element = (*(material->GetElementVector()))[elm];
|
||||
size_t el = 0;
|
||||
while ((el<fNumberOfElements)&&(element!=(*theElementVector)[el])) el++;
|
||||
@@ -321,11 +323,11 @@ void G4Material::AddMaterial(G4Material* material, G4double fraction)
|
||||
theElementVector->push_back(element);
|
||||
fMassFractionVector[el] = fraction
|
||||
*(material->GetFractionVector())[elm];
|
||||
fNumberOfElements++;
|
||||
++fNumberOfElements;
|
||||
element->increaseCountUse();
|
||||
}
|
||||
}
|
||||
fNumberOfComponents++;
|
||||
}
|
||||
++fNumberOfComponents;
|
||||
} else {
|
||||
G4cerr << "G4Material::AddElement ERROR for " << fName << " nElement= "
|
||||
<< fNumberOfElements << G4endl;
|
||||
@@ -335,26 +337,26 @@ void G4Material::AddMaterial(G4Material* material, G4double fraction)
|
||||
|
||||
// filled.
|
||||
if (G4int(fNumberOfComponents) == maxNbComponents) {
|
||||
size_t i=0;
|
||||
G4double Zmol(0.), Amol(0.);
|
||||
// check sum of weights -- OK?
|
||||
G4double wtSum(0.0);
|
||||
for (i=0;i<fNumberOfElements;i++) {
|
||||
wtSum += fMassFractionVector[i];
|
||||
Zmol += fMassFractionVector[i]*(*theElementVector)[i]->GetZ();
|
||||
Amol += fMassFractionVector[i]*(*theElementVector)[i]->GetA();
|
||||
}
|
||||
if (std::abs(1.-wtSum) > perThousand) {
|
||||
G4cerr << "WARNING !! for " << fName << " sum of fractional masses "
|
||||
<< wtSum << " is not 1 - results may be wrong"
|
||||
<< G4endl;
|
||||
}
|
||||
for (i=0;i<fNumberOfElements;i++) {
|
||||
fAtomsVector[i] =
|
||||
G4int(fMassFractionVector[i]*Amol/(*theElementVector)[i]->GetA()+0.5);
|
||||
}
|
||||
size_t i=0;
|
||||
G4double Zmol(0.), Amol(0.);
|
||||
// check sum of weights -- OK?
|
||||
G4double wtSum(0.0);
|
||||
for (i=0; i<fNumberOfElements; ++i) {
|
||||
wtSum += fMassFractionVector[i];
|
||||
Zmol += fMassFractionVector[i]*(*theElementVector)[i]->GetZ();
|
||||
Amol += fMassFractionVector[i]*(*theElementVector)[i]->GetA();
|
||||
}
|
||||
if (std::fabs(1.-wtSum) > perThousand) {
|
||||
G4cerr << "WARNING !! for " << fName << " sum of fractional masses "
|
||||
<< wtSum << " is not 1 - results may be wrong"
|
||||
<< G4endl;
|
||||
}
|
||||
for (i=0;i<fNumberOfElements;i++) {
|
||||
fAtomsVector[i] =
|
||||
G4int(fMassFractionVector[i]*Amol/(*theElementVector)[i]->GetA()+0.5);
|
||||
}
|
||||
|
||||
ComputeDerivedQuantities();
|
||||
ComputeDerivedQuantities();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -368,10 +370,10 @@ void G4Material::ComputeDerivedQuantities()
|
||||
// Number of atoms per volume (per element), total nb of electrons per volume
|
||||
G4double Zi, Ai;
|
||||
TotNbOfAtomsPerVolume = 0.;
|
||||
if (VecNbOfAtomsPerVolume) delete [] VecNbOfAtomsPerVolume;
|
||||
if (VecNbOfAtomsPerVolume) { delete [] VecNbOfAtomsPerVolume; }
|
||||
VecNbOfAtomsPerVolume = new G4double[fNumberOfElements];
|
||||
TotNbOfElectPerVolume = 0.;
|
||||
for (size_t i=0;i<fNumberOfElements;i++) {
|
||||
for (size_t i=0; i<fNumberOfElements; ++i) {
|
||||
Zi = (*theElementVector)[i]->GetZ();
|
||||
Ai = (*theElementVector)[i]->GetA();
|
||||
VecNbOfAtomsPerVolume[i] = Avogadro*fDensity*fMassFractionVector[i]/Ai;
|
||||
@@ -382,9 +384,9 @@ void G4Material::ComputeDerivedQuantities()
|
||||
ComputeRadiationLength();
|
||||
ComputeNuclearInterLength();
|
||||
|
||||
if (fIonisation) delete fIonisation;
|
||||
if (fIonisation) { delete fIonisation; }
|
||||
fIonisation = new G4IonisParamMat(this);
|
||||
if (fSandiaTable) delete fSandiaTable;
|
||||
if (fSandiaTable) { delete fSandiaTable; }
|
||||
fSandiaTable = new G4SandiaTable(this);
|
||||
}
|
||||
|
||||
@@ -393,9 +395,9 @@ void G4Material::ComputeDerivedQuantities()
|
||||
void G4Material::ComputeRadiationLength()
|
||||
{
|
||||
G4double radinv = 0.0 ;
|
||||
for (size_t i=0;i<fNumberOfElements;i++) {
|
||||
for (size_t i=0;i<fNumberOfElements;++i) {
|
||||
radinv += VecNbOfAtomsPerVolume[i]*((*theElementVector)[i]->GetfRadTsai());
|
||||
}
|
||||
}
|
||||
fRadlen = (radinv <= 0.0 ? DBL_MAX : 1./radinv);
|
||||
}
|
||||
|
||||
@@ -405,10 +407,11 @@ void G4Material::ComputeNuclearInterLength()
|
||||
{
|
||||
const G4double lambda0 = 35*g/cm2;
|
||||
G4double NILinv = 0.0;
|
||||
for (size_t i=0;i<fNumberOfElements;i++) {
|
||||
NILinv +=
|
||||
VecNbOfAtomsPerVolume[i]*std::pow(((*theElementVector)[i]->GetN()),0.6666667);
|
||||
}
|
||||
G4Pow* g4pow = G4Pow::GetInstance();
|
||||
for (size_t i=0; i<fNumberOfElements; ++i) {
|
||||
NILinv +=
|
||||
VecNbOfAtomsPerVolume[i]*g4pow->Z23(G4int((*theElementVector)[i]->GetN()+0.5));
|
||||
}
|
||||
NILinv *= amu/lambda0;
|
||||
fNuclInterLen = (NILinv <= 0.0 ? DBL_MAX : 1./NILinv);
|
||||
}
|
||||
@@ -426,6 +429,18 @@ void G4Material::InitializePointers()
|
||||
fIonisation = 0;
|
||||
fSandiaTable = 0;
|
||||
|
||||
// initilized data members
|
||||
fDensity = 0.0;
|
||||
fState = kStateUndefined;
|
||||
fTemp = 0.0;
|
||||
fPressure = 0.0;
|
||||
maxNbComponents = 0;
|
||||
fArrayLength = 0;
|
||||
TotNbOfAtomsPerVolume = 0;
|
||||
TotNbOfElectPerVolume = 0;
|
||||
fRadlen = 0.0;
|
||||
fNuclInterLen = 0.0;
|
||||
|
||||
// Store in the static Table of Materials
|
||||
theMaterialTable.push_back(this);
|
||||
fIndexInTable = theMaterialTable.size() - 1;
|
||||
@@ -452,15 +467,15 @@ G4Material* G4Material::GetMaterial(G4String materialName, G4bool warning)
|
||||
// search the material by its name
|
||||
for (size_t J=0 ; J<theMaterialTable.size() ; J++)
|
||||
{
|
||||
if (theMaterialTable[J]->GetName() == materialName)
|
||||
return theMaterialTable[J];
|
||||
if (theMaterialTable[J]->GetName() == materialName)
|
||||
{ return theMaterialTable[J]; }
|
||||
}
|
||||
|
||||
// the material does not exist in the table
|
||||
if (warning) {
|
||||
G4cout << "\n---> warning from G4Material::GetMaterial(). The material: "
|
||||
<< materialName << " does not exist in the table. Return NULL pointer."
|
||||
<< G4endl;
|
||||
G4cout << "\n---> warning from G4Material::GetMaterial(). The material: "
|
||||
<< materialName << " does not exist in the table. Return NULL pointer."
|
||||
<< G4endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -478,12 +493,12 @@ G4Material::G4Material(const G4Material& right)
|
||||
G4Material::~G4Material()
|
||||
{
|
||||
// G4cout << "### Destruction of material " << fName << " started" <<G4endl;
|
||||
if (theElementVector) delete theElementVector;
|
||||
if (fMassFractionVector) delete [] fMassFractionVector;
|
||||
if (fAtomsVector) delete [] fAtomsVector;
|
||||
if (VecNbOfAtomsPerVolume) delete [] VecNbOfAtomsPerVolume;
|
||||
if (fIonisation) delete fIonisation;
|
||||
if (fSandiaTable) delete fSandiaTable;
|
||||
if (theElementVector) { delete theElementVector; }
|
||||
if (fMassFractionVector) { delete [] fMassFractionVector; }
|
||||
if (fAtomsVector) { delete [] fAtomsVector; }
|
||||
if (VecNbOfAtomsPerVolume) { delete [] VecNbOfAtomsPerVolume; }
|
||||
if (fIonisation) { delete fIonisation; }
|
||||
if (fSandiaTable) { delete fSandiaTable; }
|
||||
|
||||
// Remove this material from theMaterialTable.
|
||||
//
|
||||
@@ -503,10 +518,10 @@ const G4Material& G4Material::operator=(const G4Material& right)
|
||||
fTemp = right.fTemp;
|
||||
fPressure = right.fPressure;
|
||||
|
||||
if (fImplicitElement) delete ((*theElementVector)[0]);
|
||||
if (theElementVector) delete theElementVector;
|
||||
if (fMassFractionVector) delete [] fMassFractionVector;
|
||||
if (fAtomsVector) delete [] fAtomsVector;
|
||||
if (fImplicitElement) { delete ((*theElementVector)[0]); }
|
||||
if (theElementVector) { delete theElementVector; }
|
||||
if (fMassFractionVector) { delete [] fMassFractionVector; }
|
||||
if (fAtomsVector) { delete [] fAtomsVector; }
|
||||
|
||||
maxNbComponents = right.maxNbComponents;
|
||||
fNumberOfComponents = right.fNumberOfComponents;
|
||||
@@ -523,7 +538,7 @@ const G4Material& G4Material::operator=(const G4Material& right)
|
||||
} else {
|
||||
theElementVector = new G4ElementVector(fNumberOfElements,0);
|
||||
fMassFractionVector = new G4double[fNumberOfElements];
|
||||
for (size_t i=0; i<fNumberOfElements; i++) {
|
||||
for (size_t i=0; i<fNumberOfElements; ++i) {
|
||||
(*theElementVector)[i]= (*right.theElementVector)[i];
|
||||
fMassFractionVector[i]= right.fMassFractionVector[i];
|
||||
}
|
||||
@@ -577,14 +592,14 @@ std::ostream& operator<<(std::ostream& flux, G4Material* material)
|
||||
<< " Imean: " << std::setw(7) << std::setprecision(3)
|
||||
<< G4BestUnit(material->GetIonisation()->GetMeanExcitationEnergy(),"Energy");
|
||||
|
||||
if(material->fState == kStateGas)
|
||||
if(material->fState == kStateGas) {
|
||||
flux
|
||||
<< " temperature: " << std::setw(6) << std::setprecision(2)
|
||||
<< (material->fTemp)/kelvin << " K"
|
||||
<< " pressure: " << std::setw(6) << std::setprecision(2)
|
||||
<< (material->fPressure)/atmosphere << " atm";
|
||||
|
||||
for (size_t i=0; i<material->fNumberOfElements; i++)
|
||||
}
|
||||
for (size_t i=0; i<material->fNumberOfElements; i++) {
|
||||
flux
|
||||
<< "\n ---> " << (*(material->theElementVector))[i]
|
||||
<< " ElmMassFraction: " << std::setw(6)<< std::setprecision(2)
|
||||
@@ -592,7 +607,7 @@ std::ostream& operator<<(std::ostream& flux, G4Material* material)
|
||||
<< " ElmAbundance " << std::setw(6)<< std::setprecision(2)
|
||||
<< 100*(material->VecNbOfAtomsPerVolume[i])/(material->TotNbOfAtomsPerVolume)
|
||||
<< " %";
|
||||
|
||||
}
|
||||
flux.precision(prec);
|
||||
flux.setf(mode,std::ios::floatfield);
|
||||
|
||||
@@ -601,7 +616,7 @@ std::ostream& operator<<(std::ostream& flux, G4Material* material)
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
std::ostream& operator<<(std::ostream& flux, G4Material& material)
|
||||
std::ostream& operator<<(std::ostream& flux, G4Material& material)
|
||||
{
|
||||
flux << &material;
|
||||
return flux;
|
||||
@@ -611,14 +626,15 @@ std::ostream& operator<<(std::ostream& flux, G4Material* material)
|
||||
|
||||
std::ostream& operator<<(std::ostream& flux, G4MaterialTable MaterialTable)
|
||||
{
|
||||
//Dump info for all known materials
|
||||
flux << "\n***** Table : Nb of materials = " << MaterialTable.size()
|
||||
<< " *****\n" << G4endl;
|
||||
//Dump info for all known materials
|
||||
flux << "\n***** Table : Nb of materials = " << MaterialTable.size()
|
||||
<< " *****\n" << G4endl;
|
||||
|
||||
for (size_t i=0; i<MaterialTable.size(); i++) flux << MaterialTable[i]
|
||||
<< G4endl << G4endl;
|
||||
for (size_t i=0; i<MaterialTable.size(); ++i) {
|
||||
flux << MaterialTable[i] << G4endl << G4endl;
|
||||
}
|
||||
|
||||
return flux;
|
||||
return flux;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
Reference in New Issue
Block a user