177 if(!volMat && fInMassGeometry)
179 std::ostringstream message;
180 message <<
"Logical volume <" << lv->
GetName() <<
">" <<
G4endl
181 <<
"does not have a valid material pointer." <<
G4endl
182 <<
"A logical volume belonging to the (tracking) world volume "
183 <<
"must have a valid material.";
184 G4Exception(
"G4Region::ScanVolumeTree()",
"GeomMgt0002",
189 currentRegion =
this;
194 if (baseMat) { AddMaterial(baseMat); }
205 if(noDaughters==0)
return;
218 for (
size_t mat=0; mat<matNo; mat++)
221 if(!volMat && fInMassGeometry)
223 std::ostringstream message;
224 message <<
"The parameterisation for the physical volume <"
226 <<
"does not return a valid material pointer." <<
G4endl
227 <<
"A volume belonging to the (tracking) world volume must "
228 <<
"have a valid material.";
229 G4Exception(
"G4Region::ScanVolumeTree()",
"GeomMgt0002",
236 if (baseMat) { AddMaterial(baseMat); }
243 for (
size_t rep=0; rep<repNo; rep++)
246 if(!volMat && fInMassGeometry)
248 std::ostringstream message;
249 message <<
"The parameterisation for the physical volume <"
251 <<
"does not return a valid material pointer." <<
G4endl
252 <<
"A volume belonging to the (tracking) world volume must "
253 <<
"have a valid material.";
254 G4Exception(
"G4Region::ScanVolumeTree()",
"GeomMgt0002",
261 if (baseMat) { AddMaterial(baseMat); }
270 for (
size_t i=0; i<noDaughters; i++)
virtual G4VVolumeMaterialScanner * GetMaterialScanner()
virtual G4Material * ComputeMaterial(const G4int repNo, G4VPhysicalVolume *currentVol, const G4VTouchable *parentTouch=0)
G4Material * GetMaterial() const
G4VPhysicalVolume * GetDaughter(const G4int i) const
virtual G4int GetNumberOfMaterials() const =0
void SetRegion(G4Region *reg)
virtual G4Material * GetMaterial(G4int idx) const =0
void ScanVolumeTree(G4LogicalVolume *lv, G4bool region)
const G4String & GetName() const
G4bool IsRootRegion() const
virtual G4VPVParameterisation * GetParameterisation() const =0
G4int GetNoDaughters() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
virtual G4bool IsParameterised() const =0
G4LogicalVolume * GetLogicalVolume() const
const G4Material * GetBaseMaterial() const
virtual G4int GetMultiplicity() const
const G4String & GetName() const