47 :
G4Material(name,baseMaterial->GetDensity(),baseMaterial,
48 baseMaterial->GetState(),baseMaterial->GetTemperature(),
49 baseMaterial->GetPressure())
57 :
G4Material(name,z,a,density,state,temp,pressure)
68 :
G4Material(name,density,nComponents,state,temp,pressure)
78 :
G4Material(name,density,bmat,state,temp,pressure)
88 auto iter = fExtensionMap.find(extension->GetName());
89 if(iter!=fExtensionMap.end())
92 msg <<
"G4ExtendedMaterial <"<<
GetName()<<
"> already has extension for "
93 << extension->GetName()
94 <<
". Extension is replaced.";
97 fExtensionMap.insert(std::make_pair(extension->GetName(),std::move(extension)));
106 const auto iter = fExtensionMap.find(name);
107 if(iter!=fExtensionMap.end())
108 {
return iter->second.get(); }
112 msg <<
"G4ExtendedMAterial <"<<
GetName()<<
"> cannot find extension for "
128 flux <<
"\n Registered material extensions :\n";
129 auto iter = fExtensionMap.begin();
130 for(;iter!=fExtensionMap.end();iter++)
131 { flux <<
" " << iter->first <<
"\n"; }
void RegisterExtension(std::unique_ptr< G4VMaterialExtension > extension)
std::ostringstream G4ExceptionDescription
std::vector< ExP01TrackerHit * > a
const G4String & GetName() const
void Print(std::ostream &flux) const
G4VMaterialExtension * RetrieveExtension(const G4String &name)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual G4bool IsExtended() const
G4ExtendedMaterial(const G4String &name, const G4Material *baseMaterial)