Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4ExtendedMaterial Class Reference

#include <G4ExtendedMaterial.hh>

Inheritance diagram for G4ExtendedMaterial:
Collaboration diagram for G4ExtendedMaterial:

Public Member Functions

 G4ExtendedMaterial (const G4String &name, const G4Material *baseMaterial)
 
 G4ExtendedMaterial (const G4String &name, G4double z, G4double a, G4double density, G4State state=kStateUndefined, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
 
 G4ExtendedMaterial (const G4String &name, G4double density, G4int nComponents, G4State state=kStateUndefined, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
 
 G4ExtendedMaterial (const G4String &name, G4double density, const G4ExtendedMaterial *baseMaterial, G4State state=kStateUndefined, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
 
virtual ~G4ExtendedMaterial ()
 
void RegisterExtension (std::unique_ptr< G4VMaterialExtension > extension)
 
G4VMaterialExtension * RetrieveExtension (const G4String &name)
 
G4int GetNumberOfExtensions () const
 
G4MaterialExtensionMap::const_iterator begin () const
 
G4MaterialExtensionMap::const_iterator cbegin () const
 
G4MaterialExtensionMap::const_iterator end () const
 
G4MaterialExtensionMap::const_iterator cend () const
 
virtual G4bool IsExtended () const
 
void Print (std::ostream &flux) const
 
- Public Member Functions inherited from G4Material
 G4Material (const G4String &name, G4double z, G4double a, G4double density, G4State state=kStateUndefined, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
 
 G4Material (const G4String &name, G4double density, G4int nComponents, G4State state=kStateUndefined, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
 
 G4Material (const G4String &name, G4double density, const G4Material *baseMaterial, G4State state=kStateUndefined, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
 
void AddElement (G4Element *element, G4int nAtoms)
 
void AddElement (G4Element *element, G4double fraction)
 
void AddMaterial (G4Material *material, G4double fraction)
 
virtual ~G4Material ()
 
void SetChemicalFormula (const G4String &chF)
 
const G4String & GetName () const
 
const G4String & GetChemicalFormula () const
 
G4double GetDensity () const
 
G4State GetState () const
 
G4double GetTemperature () const
 
G4double GetPressure () const
 
size_t GetNumberOfElements () const
 
const G4ElementVector * GetElementVector () const
 
const G4double * GetFractionVector () const
 
const G4int * GetAtomsVector () const
 
const G4Element * GetElement (G4int iel) const
 
const G4double * GetVecNbOfAtomsPerVolume () const
 
G4double GetTotNbOfAtomsPerVolume () const
 
G4double GetTotNbOfElectPerVolume () const
 
const G4double * GetAtomicNumDensityVector () const
 
G4double GetElectronDensity () const
 
G4double GetRadlen () const
 
G4double GetNuclearInterLength () const
 
G4IonisParamMat * GetIonisation () const
 
G4SandiaTable * GetSandiaTable () const
 
const G4Material * GetBaseMaterial () const
 
const std::map< G4Material
*, G4double > & 
GetMatComponents () const
 
G4double GetMassOfMolecule () const
 
G4double GetZ () const
 
G4double GetA () const
 
void SetMaterialPropertiesTable (G4MaterialPropertiesTable *anMPT)
 
G4MaterialPropertiesTable * GetMaterialPropertiesTable () const
 
size_t GetIndex () const
 
 G4Material (__void__ &)
 
void SetName (const G4String &name)
 

Additional Inherited Members

- Static Public Member Functions inherited from G4Material
static G4MaterialTable * GetMaterialTable ()
 
static size_t GetNumberOfMaterials ()
 
static G4Material * GetMaterial (const G4String &name, G4bool warning=true)
 

Detailed Description

Definition at line 63 of file G4ExtendedMaterial.hh.

Constructor & Destructor Documentation

G4ExtendedMaterial::G4ExtendedMaterial ( const G4String &  name,
const G4Material *  baseMaterial 
)

Definition at line 45 of file G4ExtendedMaterial.cc.

47  : G4Material(name,baseMaterial->GetDensity(),baseMaterial,
48  baseMaterial->GetState(),baseMaterial->GetTemperature(),
49  baseMaterial->GetPressure())
50 {;}
G4double GetPressure() const
Definition: G4Material.hh:183
G4double GetDensity() const
Definition: G4Material.hh:180
G4Material(const G4String &name, G4double z, G4double a, G4double density, G4State state=kStateUndefined, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
Definition: G4Material.cc:90
G4double GetTemperature() const
Definition: G4Material.hh:182
G4State GetState() const
Definition: G4Material.hh:181
G4ExtendedMaterial::G4ExtendedMaterial ( const G4String &  name,
G4double  z,
G4double  a,
G4double  density,
G4State  state = kStateUndefined,
G4double  temp = NTP_Temperature,
G4double  pressure = CLHEP::STP_Pressure 
)

Definition at line 54 of file G4ExtendedMaterial.cc.

57  : G4Material(name,z,a,density,state,temp,pressure)
58 {;}
G4Material(const G4String &name, G4double z, G4double a, G4double density, G4State state=kStateUndefined, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
Definition: G4Material.cc:90
G4ExtendedMaterial::G4ExtendedMaterial ( const G4String &  name,
G4double  density,
G4int  nComponents,
G4State  state = kStateUndefined,
G4double  temp = NTP_Temperature,
G4double  pressure = CLHEP::STP_Pressure 
)

Definition at line 65 of file G4ExtendedMaterial.cc.

68  : G4Material(name,density,nComponents,state,temp,pressure)
69 {;}
G4Material(const G4String &name, G4double z, G4double a, G4double density, G4State state=kStateUndefined, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
Definition: G4Material.cc:90
G4ExtendedMaterial::G4ExtendedMaterial ( const G4String &  name,
G4double  density,
const G4ExtendedMaterial *  baseMaterial,
G4State  state = kStateUndefined,
G4double  temp = NTP_Temperature,
G4double  pressure = CLHEP::STP_Pressure 
)

Definition at line 75 of file G4ExtendedMaterial.cc.

78  : G4Material(name,density,bmat,state,temp,pressure)
79 {;}
G4Material(const G4String &name, G4double z, G4double a, G4double density, G4State state=kStateUndefined, G4double temp=NTP_Temperature, G4double pressure=CLHEP::STP_Pressure)
Definition: G4Material.cc:90
virtual G4ExtendedMaterial::~G4ExtendedMaterial ( )
inlinevirtual

Definition at line 105 of file G4ExtendedMaterial.hh.

105 {};

Member Function Documentation

G4MaterialExtensionMap::const_iterator G4ExtendedMaterial::begin ( ) const
inline

Definition at line 126 of file G4ExtendedMaterial.hh.

126 { return fExtensionMap.begin(); }
G4MaterialExtensionMap::const_iterator G4ExtendedMaterial::cbegin ( ) const
inline

Definition at line 127 of file G4ExtendedMaterial.hh.

127 { return fExtensionMap.cbegin(); }
G4MaterialExtensionMap::const_iterator G4ExtendedMaterial::cend ( ) const
inline

Definition at line 129 of file G4ExtendedMaterial.hh.

129 { return fExtensionMap.cend(); }
G4MaterialExtensionMap::const_iterator G4ExtendedMaterial::end ( ) const
inline

Definition at line 128 of file G4ExtendedMaterial.hh.

128 { return fExtensionMap.end(); }
G4int G4ExtendedMaterial::GetNumberOfExtensions ( ) const
inline

Definition at line 121 of file G4ExtendedMaterial.hh.

122  { return fExtensionMap.size(); }
G4bool G4ExtendedMaterial::IsExtended ( ) const
virtual

Reimplemented from G4Material.

Definition at line 121 of file G4ExtendedMaterial.cc.

122 { return true; }
void G4ExtendedMaterial::Print ( std::ostream &  flux) const

Definition at line 126 of file G4ExtendedMaterial.cc.

127 {
128  flux << "\n Registered material extensions :\n";
129  auto iter = fExtensionMap.begin();
130  for(;iter!=fExtensionMap.end();iter++)
131  { flux << " " << iter->first << "\n"; }
132 }
void G4ExtendedMaterial::RegisterExtension ( std::unique_ptr< G4VMaterialExtension >  extension)

Definition at line 86 of file G4ExtendedMaterial.cc.

87 {
88  auto iter = fExtensionMap.find(extension->GetName());
89  if(iter!=fExtensionMap.end())
90  {
92  msg << "G4ExtendedMaterial <"<<GetName()<<"> already has extension for "
93  << extension->GetName()
94  << ". Extension is replaced.";
95  G4Exception("G4ExtendedMaterial::RegisterExtension(...)","MatExt001",JustWarning,msg);
96  }
97  fExtensionMap.insert(std::make_pair(extension->GetName(),std::move(extension)));
98 }
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
const G4String & GetName() const
Definition: G4Material.hh:178
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41

Here is the call graph for this function:

G4VMaterialExtension * G4ExtendedMaterial::RetrieveExtension ( const G4String &  name)

Definition at line 104 of file G4ExtendedMaterial.cc.

105 {
106  const auto iter = fExtensionMap.find(name);
107  if(iter!=fExtensionMap.end())
108  { return iter->second.get(); }
109  else
110  {
112  msg << "G4ExtendedMAterial <"<<GetName()<<"> cannot find extension for "
113  << name;
114  G4Exception("G4ExtendedMaterial::RetreiveExtension(...)","MatExt002",JustWarning,msg);
115  return nullptr;
116  }
117 }
const XML_Char * name
Definition: expat.h:151
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
const G4String & GetName() const
Definition: G4Material.hh:178
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41

Here is the call graph for this function:


The documentation for this class was generated from the following files: