Geant4-11
|
G4DNAMolecularMaterial builds tables of molecular densities for chosen molecular materials. The class handles homogeneous, composite and derived materials. A material of interest is labeled as molecular if built using the number of atoms rather than the mass fractions. More...
#include <G4DNAMolecularMaterial.hh>
Public Member Functions | |
void | Clear () |
const std::vector< ComponentMap > * | GetDensityTable () const |
const std::vector< G4double > * | GetDensityTableFor (const G4Material *) const |
Retrieve a table of volumetric mass densities (mass per unit volume) in the G4 unit system for chosen material. More... | |
const std::vector< ComponentMap > * | GetMassFractionTable () const |
G4MolecularConfiguration * | GetMolecularConfiguration (const G4Material *) const |
G4double | GetNumMoleculePerVolumeUnitForMaterial (const G4Material *mat) |
Deprecated. More... | |
G4double | GetNumMolPerVolForComponentInComposite (const G4Material *composite, const G4Material *component, G4double massFraction) |
Deprecated. More... | |
const std::vector< G4double > * | GetNumMolPerVolTableFor (const G4Material *) const |
Retrieve a table of molecular densities (number of molecules per unit volume) in the G4 unit system for chosen material. More... | |
void | Initialize () |
virtual G4bool | Notify (G4ApplicationState requestedState) |
G4bool | operator!= (const G4VStateDependent &right) const |
G4bool | operator== (const G4VStateDependent &right) const |
void | SetMolecularConfiguration (const G4Material *, const G4String &) |
Associate a molecular configuration to a G4material. More... | |
void | SetMolecularConfiguration (const G4Material *, G4MolecularConfiguration *) |
Associate a molecular configuration to a G4material. More... | |
void | SetMolecularConfiguration (const G4String &materialName, const G4String &molUserIF) |
Static Public Member Functions | |
static G4DNAMolecularMaterial * | Instance () |
Protected Member Functions | |
void | AddMaterial (const G4Material *, G4double fraction) |
void | Create () |
G4DNAMolecularMaterial () | |
G4DNAMolecularMaterial (const G4DNAMolecularMaterial &right) | |
void | InitializeDensity () |
void | InitializeNumMolPerVol () |
G4DNAMolecularMaterial & | operator= (const G4DNAMolecularMaterial &) |
void | PrintNotAMolecularMaterial (const char *methodName, const G4Material *lookForMaterial) const |
void | RecordMolecularMaterial (G4Material *parentMaterial, G4Material *molecularMaterial, G4double fraction) |
void | SearchMolecularMaterial (G4Material *parentMaterial, G4Material *material, G4double currentFraction) |
virtual | ~G4DNAMolecularMaterial () |
Protected Attributes | |
std::map< const G4Material *, std::vector< G4double > *, CompareMaterial > | fAskedDensityTable |
std::map< const G4Material *, std::vector< G4double > *, CompareMaterial > | fAskedNumPerVolTable |
G4bool | fIsInitialized |
std::map< int, G4MolecularConfiguration * > | fMaterialToMolecularConf |
size_t | fNMaterials |
std::vector< ComponentMap > * | fpCompDensityTable |
std::vector< ComponentMap > * | fpCompFractionTable |
std::vector< ComponentMap > * | fpCompNumMolPerVolTable |
std::map< const G4Material *, bool, CompareMaterial > | fWarningPrinted |
Static Protected Attributes | |
static G4DNAMolecularMaterial * | fInstance |
G4DNAMolecularMaterial builds tables of molecular densities for chosen molecular materials. The class handles homogeneous, composite and derived materials. A material of interest is labeled as molecular if built using the number of atoms rather than the mass fractions.
Definition at line 95 of file G4DNAMolecularMaterial.hh.
|
protected |
Definition at line 139 of file G4DNAMolecularMaterial.cc.
References Create().
Referenced by Instance().
|
protected |
Definition at line 158 of file G4DNAMolecularMaterial.cc.
References Create().
|
protectedvirtual |
Definition at line 177 of file G4DNAMolecularMaterial.cc.
References Clear().
|
protected |
void G4DNAMolecularMaterial::Clear | ( | ) |
Definition at line 99 of file G4DNAMolecularMaterial.cc.
References anonymous_namespace{G4DNAMolecularMaterial.cc}::aMutex, fAskedDensityTable, fAskedNumPerVolTable, fpCompDensityTable, fpCompFractionTable, fpCompNumMolPerVolTable, and G4TemplateAutoLock< _Mutex_t >::unlock().
Referenced by ~G4DNAMolecularMaterial().
|
protected |
Definition at line 88 of file G4DNAMolecularMaterial.cc.
References fIsInitialized, fNMaterials, fpCompDensityTable, fpCompFractionTable, and fpCompNumMolPerVolTable.
Referenced by G4DNAMolecularMaterial(), and operator=().
|
inline |
Definition at line 144 of file G4DNAMolecularMaterial.hh.
References fpCompDensityTable.
const std::vector< G4double > * G4DNAMolecularMaterial::GetDensityTableFor | ( | const G4Material * | searchedMaterial | ) | const |
Retrieve a table of volumetric mass densities (mass per unit volume) in the G4 unit system for chosen material.
[in] | searchedMaterial | The material which you'd like to retrieve the volumic mass |
searchedMaterial
used in parameter must be built as a molecular material, using the number of atoms rather than the density fractions. searchedMaterial
indexed on the (parent) material index. Definition at line 348 of file G4DNAMolecularMaterial.cc.
References fAskedDensityTable, FatalException, fIsInitialized, fNMaterials, fpCompDensityTable, G4endl, G4Exception(), G4State_Init, G4Material::GetMaterialTable(), G4StateManager::GetStateManager(), Initialize(), and PrintNotAMolecularMaterial().
Referenced by G4DNAElectronHoleRecombination::FindReactant().
|
inline |
Definition at line 141 of file G4DNAMolecularMaterial.hh.
References fpCompFractionTable.
G4MolecularConfiguration * G4DNAMolecularMaterial::GetMolecularConfiguration | ( | const G4Material * | material | ) | const |
Definition at line 522 of file G4DNAMolecularMaterial.cc.
References fMaterialToMolecularConf, and eplot::material.
Referenced by G4DNAIRT_geometries::Sampling().
G4double G4DNAMolecularMaterial::GetNumMoleculePerVolumeUnitForMaterial | ( | const G4Material * | mat | ) |
Deprecated.
Definition at line 575 of file G4DNAMolecularMaterial.cc.
References FatalException, and G4Exception().
G4double G4DNAMolecularMaterial::GetNumMolPerVolForComponentInComposite | ( | const G4Material * | composite, |
const G4Material * | component, | ||
G4double | massFraction | ||
) |
Deprecated.
Definition at line 589 of file G4DNAMolecularMaterial.cc.
References FatalException, and G4Exception().
const std::vector< G4double > * G4DNAMolecularMaterial::GetNumMolPerVolTableFor | ( | const G4Material * | searchedMaterial | ) | const |
Retrieve a table of molecular densities (number of molecules per unit volume) in the G4 unit system for chosen material.
[in] | searchedMaterial | The material which you'd like to retrieve the molecular density |
searchedMaterial
used in parameter must be built as a molecular material, using the number of atoms rather than the density fractions. searchedMaterial
indexed on the (parent) material index. Definition at line 418 of file G4DNAMolecularMaterial.cc.
References fAskedNumPerVolTable, FatalException, fIsInitialized, fNMaterials, fpCompNumMolPerVolTable, G4endl, G4Exception(), G4State_Init, G4Material::GetMaterialTable(), G4StateManager::GetStateManager(), Initialize(), and PrintNotAMolecularMaterial().
Referenced by G4DNAModelInterface::BuildMaterialMolPerVolTable(), G4DNASecondOrderReaction::BuildPhysicsTable(), G4DNACPA100ElasticModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNABornExcitationModel1::Initialise(), G4DNABornExcitationModel2::Initialise(), G4DNACPA100ExcitationModel::Initialise(), G4DNACPA100IonisationModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNARelativisticIonisationModel::Initialise(), and G4DNADummyModel::Initialise().
void G4DNAMolecularMaterial::Initialize | ( | ) |
Definition at line 184 of file G4DNAMolecularMaterial.cc.
References anonymous_namespace{G4DNAMolecularMaterial.cc}::aMutex, fIsInitialized, fNMaterials, fpCompFractionTable, G4Material::GetMaterialTable(), InitializeDensity(), InitializeNumMolPerVol(), SearchMolecularMaterial(), and G4TemplateAutoLock< _Mutex_t >::unlock().
Referenced by G4DNAModelInterface::BuildMaterialMolPerVolTable(), GetDensityTableFor(), GetNumMolPerVolTableFor(), G4DNAChampionElasticModel::Initialise(), G4DNAIonElasticModel::Initialise(), and Notify().
|
protected |
Definition at line 217 of file G4DNAMolecularMaterial.cc.
References FatalException, fNMaterials, fpCompDensityTable, fpCompFractionTable, G4endl, G4Exception(), G4Material::GetDensity(), and G4Material::GetMaterialTable().
Referenced by Initialize().
|
protected |
Definition at line 258 of file G4DNAMolecularMaterial.cc.
References FatalException, fNMaterials, fpCompDensityTable, fpCompNumMolPerVolTable, G4endl, G4Exception(), and G4Material::GetMassOfMolecule().
Referenced by Initialize().
|
static |
Definition at line 80 of file G4DNAMolecularMaterial.cc.
References fInstance, and G4DNAMolecularMaterial().
Referenced by G4DNAModelInterface::BuildMaterialMolPerVolTable(), G4DNABrownianTransportation::BuildPhysicsTable(), G4DNASecondOrderReaction::BuildPhysicsTable(), G4DNAELSEPAElasticModel::CrossSectionPerVolume(), G4DNAElectronHoleRecombination::FindReactant(), G4DNAChampionElasticModel::Initialise(), G4DNACPA100ElasticModel::Initialise(), G4DNADingfelderChargeDecreaseModel::Initialise(), G4DNADingfelderChargeIncreaseModel::Initialise(), G4DNAMeltonAttachmentModel::Initialise(), G4DNAMillerGreenExcitationModel::Initialise(), G4TDNAOneStepThermalizationModel< MODEL >::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNASancheExcitationModel::Initialise(), G4DNAScreenedRutherfordElasticModel::Initialise(), G4DNATransformElectronModel::Initialise(), G4DNAUeharaScreenedRutherfordElasticModel::Initialise(), G4DNABornExcitationModel1::Initialise(), G4DNABornExcitationModel2::Initialise(), G4DNABornIonisationModel1::Initialise(), G4DNABornIonisationModel2::Initialise(), G4DNACPA100ExcitationModel::Initialise(), G4DNACPA100IonisationModel::Initialise(), G4DNAEmfietzoglouExcitationModel::Initialise(), G4DNAEmfietzoglouIonisationModel::Initialise(), G4DNARelativisticIonisationModel::Initialise(), G4DNADummyModel::Initialise(), G4DNAIonElasticModel::Initialise(), and G4DNAIRT_geometries::Sampling().
|
virtual |
Implements G4VStateDependent.
Definition at line 147 of file G4DNAMolecularMaterial.cc.
References G4State_Idle, G4State_PreInit, G4StateManager::GetStateManager(), and Initialize().
|
inherited |
Definition at line 66 of file G4VStateDependent.cc.
|
protected |
Definition at line 168 of file G4DNAMolecularMaterial.cc.
References Create().
|
inherited |
Definition at line 61 of file G4VStateDependent.cc.
|
protected |
Definition at line 489 of file G4DNAMolecularMaterial.cc.
References fWarningPrinted, G4endl, G4Exception(), G4Material::GetName(), and JustWarning.
Referenced by GetDensityTableFor(), and GetNumMolPerVolTableFor().
|
protected |
Definition at line 292 of file G4DNAMolecularMaterial.cc.
References G4Material::GetIndex().
Referenced by SearchMolecularMaterial().
|
protected |
Definition at line 317 of file G4DNAMolecularMaterial.cc.
References G4Material::GetMassOfMolecule(), eplot::material, RecordMolecularMaterial(), and SearchMolecularMaterial().
Referenced by Initialize(), and SearchMolecularMaterial().
void G4DNAMolecularMaterial::SetMolecularConfiguration | ( | const G4Material * | material, |
const G4String & | molConf | ||
) |
Associate a molecular configuration to a G4material.
[in] | material | Pointer to a G4 material. The material does not need to be defined as a molecular material. |
[in] | molConf | User ID of the molecular configuration corresponding to the G4 material . |
[in] | material | Name of the G4 material. The material does not need to be defined as a molecular material. |
[in] | molConf | User ID of the molecular configuration corresponding to the G4 material . |
Definition at line 546 of file G4DNAMolecularMaterial.cc.
References fMaterialToMolecularConf, G4MoleculeTable::GetConfiguration(), G4MoleculeTable::Instance(), and eplot::material.
void G4DNAMolecularMaterial::SetMolecularConfiguration | ( | const G4Material * | material, |
G4MolecularConfiguration * | molConf | ||
) |
Associate a molecular configuration to a G4material.
[in] | material | Pointer to a G4 material. The material does not need to be defined as a molecular material. |
[in] | molConf | The molecular configuration corresponding to the G4 material . |
Definition at line 534 of file G4DNAMolecularMaterial.cc.
References fMaterialToMolecularConf, and eplot::material.
Referenced by SetMolecularConfiguration().
void G4DNAMolecularMaterial::SetMolecularConfiguration | ( | const G4String & | materialName, |
const G4String & | molUserIF | ||
) |
Definition at line 558 of file G4DNAMolecularMaterial.cc.
References G4cout, G4endl, G4Material::GetMaterial(), eplot::material, and SetMolecularConfiguration().
|
mutableprotected |
Definition at line 248 of file G4DNAMolecularMaterial.hh.
Referenced by Clear(), and GetDensityTableFor().
|
mutableprotected |
Definition at line 250 of file G4DNAMolecularMaterial.hh.
Referenced by Clear(), and GetNumMolPerVolTableFor().
|
staticprotected |
Definition at line 222 of file G4DNAMolecularMaterial.hh.
Referenced by Instance().
|
protected |
Definition at line 256 of file G4DNAMolecularMaterial.hh.
Referenced by Create(), GetDensityTableFor(), GetNumMolPerVolTableFor(), and Initialize().
|
protected |
Definition at line 254 of file G4DNAMolecularMaterial.hh.
Referenced by GetMolecularConfiguration(), and SetMolecularConfiguration().
|
protected |
Definition at line 257 of file G4DNAMolecularMaterial.hh.
Referenced by Create(), GetDensityTableFor(), GetNumMolPerVolTableFor(), Initialize(), InitializeDensity(), and InitializeNumMolPerVol().
|
protected |
Definition at line 244 of file G4DNAMolecularMaterial.hh.
Referenced by Clear(), Create(), GetDensityTable(), GetDensityTableFor(), InitializeDensity(), and InitializeNumMolPerVol().
|
protected |
Definition at line 243 of file G4DNAMolecularMaterial.hh.
Referenced by Clear(), Create(), GetMassFractionTable(), Initialize(), and InitializeDensity().
|
protected |
Definition at line 245 of file G4DNAMolecularMaterial.hh.
Referenced by Clear(), Create(), GetNumMolPerVolTableFor(), and InitializeNumMolPerVol().
|
mutableprotected |
Definition at line 251 of file G4DNAMolecularMaterial.hh.
Referenced by PrintNotAMolecularMaterial().