54 #ifdef G4MULTITHREADED
86 : fMaterial(nullptr), fShellCorrectionVector(nullptr)
150 for (
size_t i=0; i < nElements; i++) {
161 for (
G4int j=0; j<=2; j++)
165 for (
size_t k=0; k<nElements; k++) {
167 *(((*elmVector)[k])->GetIonisation()->GetShellCorrectionVector())[j];
194 if(idx < 0 && 1 == nelm) {
205 if(dens <= 0.0) { idx = -1; }
212 if(std::abs(corr) > 1.0) { idx = -1; }
260 static const G4double ClimiS[] = {3.681 , 5.215 };
261 static const G4double X0valS[] = {1.0 , 1.5 };
262 static const G4double X1valS[] = {2.0 , 3.0 };
273 if (1 == nelm && 1 == Z0) {
300 if (1 == nelm && 1 == Z0) {
305 if (1 == nelm && 2 == Z0) {
362 if (Zeff > 2.) {
fF2fluct = 2./Zeff; }
381 const G4double* theAtomicNumDensityVector =
390 if( 1 == NumberOfElements ) {
391 const G4Element* element = (*theElementVector)[0];
395 a23 = 1.0/g4pow->
A23(element->
GetN());
398 for (
G4int iel=0; iel<NumberOfElements; iel++)
400 const G4Element* element = (*theElementVector)[iel];
406 a23 += weight/g4pow->
A23(element->
GetN());
425 G4cout <<
"G4Material: Mean excitation energy is changed for "
428 <<
"eV; Inew= " << value/
eV <<
" eV;"
453 #ifdef G4MULTITHREADED
462 #ifdef G4MULTITHREADED
471 #ifdef G4MULTITHREADED
486 #ifdef G4MULTITHREADED
509 if(chFormula !=
"") {
514 "NH_3",
"C_4H_10",
"CO_2",
"C_2H_6",
"C_7H_16-Gas",
516 "C_6H_14-Gas",
"CH_4",
"NO",
"N_2O",
"C_8H_18-Gas",
518 "C_5H_12-Gas",
"C_3H_8",
"H_2O-Gas",
522 "C_3H_6O",
"C_6H_5NH_2",
"C_6H_6",
"C_4H_9OH",
"CCl_4",
524 "C_6H_5Cl",
"CHCl_3",
"C_6H_12",
"C_6H_4Cl_2",
"C_4Cl_2H_8O",
527 "C_2Cl_2H_4",
"(C_2H_5)_2O",
"C_2H_5OH",
"C_3H_5(OH)_3",
"C_7H_16",
529 "C_6H_14",
"CH_3OH",
"C_6H_5NO_2",
"C_5H_12",
"C_3H_7OH",
531 "C_5H_5N",
"C_8H_8",
"C_2Cl_4",
"C_7H_8",
"C_2Cl_3H",
537 "C_5H_5N_5",
"C_5H_5N_5O",
"(C_6H_11NO)-nylon",
"C_25H_52",
539 "(C_2H_4)-Polyethylene",
"(C_5H_8O_2)-Polymethil_Methacrylate",
541 "(C_8H_8)-Polystyrene",
"A-150-tissue",
"Al_2O_3",
"CaF_2",
543 "LiF",
"Photo_Emulsion",
"(C_2F_4)-Teflon",
"SiO_2"
549 53.7, 48.3, 85.0, 45.4, 49.2,
550 49.1, 41.7, 87.8, 84.9, 49.5,
553 64.2, 66.2, 63.4, 59.9, 166.3,
554 89.1, 156.0, 56.4, 106.5, 103.3,
555 111.9, 60.0, 62.9, 72.6, 54.4,
556 54.0, 67.6, 75.8, 53.6, 61.1,
557 66.2, 64.0, 159.2, 62.5, 148.1,
560 71.4, 75.0, 63.9, 48.3, 57.4,
561 74.0, 68.7, 65.1, 145.2, 166.,
562 94.0, 331.0, 99.1, 139.2
566 if(chFormula == name[i]) {
567 res = meanExcitation[i]*
eV;
G4double GetDelta0density(G4int idx) const
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double logZ(G4int Z) const
G4double FindMeanExcitationEnergy(const G4Material *) const
const G4double * GetFractionVector() const
void SetDensityEffectParameters(G4double cd, G4double md, G4double ad, G4double x0, G4double x1, G4double d0)
static const G4double NTP_Temperature
static G4DensityEffectData * fDensityData
static constexpr double keV
Float_t x1[n_points_granero]
static const G4int numberOfMolecula
G4double GetMeanExcitationEnergy() const
G4double GetAdjustmentFactor(G4int idx) const
G4double A23(G4double A) const
const G4ElementVector * GetElementVector() const
void SetMeanExcitationEnergy(G4double value)
G4double GetX1density() const
G4double GetNominalDensity(G4int Z) const
G4double fLogMeanExcEnergy
const G4double * GetVecNbOfAtomsPerVolume() const
G4double GetX0density(G4int idx) const
static constexpr double classic_electr_radius
G4double fMeanExcitationEnergy
G4double G4Log(G4double x)
G4double GetCdensity(G4int idx) const
G4double fLogEnergy1fluct
static constexpr double STP_Pressure
const G4String & GetName() const
G4double GetTotNbOfElectPerVolume() const
G4double GetFermiVelocity() const
G4double fRateionexcfluct
#define G4MUTEX_INITIALIZER
static G4Pow * GetInstance()
const G4String & GetChemicalFormula() const
void ComputeIonParameters()
const XML_Char int const XML_Char * value
G4double GetLFactor() const
G4double GetAdensity() const
static constexpr double eV
G4double * fShellCorrectionVector
#define G4MUTEXUNLOCK(mutex)
G4double GetX0density() const
G4IonisParamMat(const G4Material *)
void ComputeMeanParameters()
G4double GetMeanIonisationPotential(G4int idx) const
G4double GetCdensity() const
G4double GetPressure() const
std::vector< G4Element * > G4ElementVector
G4double GetPlasmaEnergy(G4int idx) const
G4int GetElementIndex(G4int Z, G4State mState) const
G4double GetX1density(G4int idx) const
G4IonisParamMat * GetIonisation() const
G4double GetMdensity() const
G4int GetIndex(const G4String &matName) const
G4double GetAdensity(G4int idx) const
G4IonisParamElm * GetIonisation() const
#define G4MUTEXLOCK(mutex)
G4double fLogEnergy2fluct
G4double GetMdensity(G4int idx) const
G4GLOB_DLL std::ostream G4cout
G4double fAdjustmentFactor
const G4Material * fMaterial
G4double fMeanEnergyPerIon
static G4DensityEffectData * GetDensityEffectData()
static constexpr double pi
const G4double * GetAtomicNumDensityVector() const
static constexpr double hbarc_squared
G4double GetD0density() const
const G4Material * GetBaseMaterial() const
size_t GetNumberOfElements() const
G4double GetTemperature() const
void ComputeDensityEffect()
static G4NistManager * Instance()
G4double GetDensity() const