45 #ifndef G4DNAMolecularMaterial_HH
46 #define G4DNAMolecularMaterial_HH
69 typedef std::map<const G4Material*, double, CompareMaterial>
ComponentMap;
237 double currentFraction);
249 mutable std::map<const G4Material*, std::vector<double>*,
CompareMaterial>
251 mutable std::map<const G4Material*, std::vector<double>*,
CompareMaterial>
262 #endif // G4DNAMolecularMaterial_HH
std::vector< ComponentMap > * fpCompDensityTable
void SearchMolecularMaterial(G4Material *parentMaterial, G4Material *material, double currentFraction)
void SetMolecularConfiguration(const G4Material *, G4MolecularConfiguration *)
Associate a molecular configuration to a G4material.
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.
Materials can be described as a derivation of existing "parent" materials in order to alter few of th...
std::map< int, G4MolecularConfiguration * > fMaterialToMolecularConf
static G4DNAMolecularMaterial * fInstance
G4double GetNumMoleculePerVolumeUnitForMaterial(const G4Material *mat)
Deprecated.
std::map< const G4Material *, std::vector< double > *, CompareMaterial > fAskedDensityTable
void InitializeNumMolPerVol()
std::vector< ComponentMap > * fpCompFractionTable
const std::vector< double > * GetNumMolPerVolTableFor(const G4Material *) const
Retrieve a table of molecular densities (number of molecules per unit volume) in the G4 unit system f...
std::map< const G4Material *, double, CompareMaterial > ComponentMap
bool operator()(const G4Material *mat1, const G4Material *mat2) const
virtual ~G4DNAMolecularMaterial()
static void DeleteInstance()
const std::vector< ComponentMap > * GetDensityTable() const
void RecordMolecularMaterial(G4Material *parentMaterial, G4Material *molecularMaterial, G4double fraction)
const std::vector< double > * GetDensityTableFor(const G4Material *) const
Retrieve a table of volumetric mass densities (mass per unit volume) in the G4 unit system for chosen...
void AddMaterial(const G4Material *, double fraction)
static G4DNAMolecularMaterial * Instance()
G4DNAMolecularMaterial & operator=(const G4DNAMolecularMaterial &)
std::vector< ComponentMap > * fpCompNumMolPerVolTable
std::map< const G4Material *, bool, CompareMaterial > fWarningPrinted
G4double GetNumMolPerVolForComponentInComposite(const G4Material *composite, const G4Material *component, G4double massFraction)
Deprecated.
const std::vector< ComponentMap > * GetMassFractionTable() const
void PrintNotAMolecularMaterial(const char *methodName, const G4Material *lookForMaterial) const
G4MolecularConfiguration * GetMolecularConfiguration(const G4Material *) const
std::map< const G4Material *, std::vector< double > *, CompareMaterial > fAskedNumPerVolTable
virtual G4bool Notify(G4ApplicationState requestedState)