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)
 
G4VMaterialExtensionRetrieveExtension (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 G4StringGetName () const
 
const G4StringGetChemicalFormula () const
 
G4double GetDensity () const
 
G4State GetState () const
 
G4double GetTemperature () const
 
G4double GetPressure () const
 
size_t GetNumberOfElements () const
 
const G4ElementVectorGetElementVector () const
 
const G4doubleGetFractionVector () const
 
const G4intGetAtomsVector () const
 
const G4ElementGetElement (G4int iel) const
 
const G4doubleGetVecNbOfAtomsPerVolume () const
 
G4double GetTotNbOfAtomsPerVolume () const
 
G4double GetTotNbOfElectPerVolume () const
 
const G4doubleGetAtomicNumDensityVector () const
 
G4double GetElectronDensity () const
 
G4double GetRadlen () const
 
G4double GetNuclearInterLength () const
 
G4IonisParamMatGetIonisation () const
 
G4SandiaTableGetSandiaTable () const
 
const G4MaterialGetBaseMaterial () const
 
const std::map< G4Material
*, G4double > & 
GetMatComponents () const
 
G4double GetMassOfMolecule () const
 
G4double GetZ () const
 
G4double GetA () const
 
void SetMaterialPropertiesTable (G4MaterialPropertiesTable *anMPT)
 
G4MaterialPropertiesTableGetMaterialPropertiesTable () const
 
size_t GetIndex () const
 
 G4Material (__void__ &)
 
void SetName (const G4String &name)
 

Additional Inherited Members

- Static Public Member Functions inherited from G4Material
static G4MaterialTableGetMaterialTable ()
 
static size_t GetNumberOfMaterials ()
 
static G4MaterialGetMaterial (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: