158 inline std::vector<G4LogicalVolume*>::iterator
160 inline std::vector<G4Material*>::const_iterator
314 inline void AddMaterial (
G4Material* aMaterial);
318 using G4RootLVList = std::vector<G4LogicalVolume*>;
319 using G4MaterialList = std::vector<G4Material*>;
320 using G4MaterialCouplePair = std::pair<G4Material*, G4MaterialCutsCouple*>;
321 using G4MaterialCoupleMap = std::map<G4Material*, G4MaterialCutsCouple*>;
325 G4RootLVList fRootVolumes;
326 G4MaterialList fMaterials;
327 G4MaterialCoupleMap fMaterialCoupleMap;
338 G4bool fInMassGeometry =
false;
339 G4bool fInParallelGeometry =
false;
348#include "G4Region.icc"
G4GeomSplitter< G4RegionData > G4RegionManager
G4FieldManager is a manager (store) for a pointer to the Field subclass that describes the field of a...
G4GeomSplitter is an utility class for splitting of R/W data for thread-safety from geometry classes....
G4LogicalVolume represents a leaf node or unpositioned subtree in the geometry hierarchy....
G4RegionData encapsulates the fields associated to the class G4Region that may not be read-only....
G4UserSteppingAction * fRegionalSteppingAction
G4FastSimulationManager * fFastSimulationManager
G4int GetInstanceID() const
std::size_t GetNumberOfRootVolumes() const
G4bool IsModified() const
void ScanVolumeTree(G4LogicalVolume *lv, G4bool region)
G4Region * GetParentRegion(G4bool &unique) const
std::size_t GetNumberOfMaterials() const
G4FastSimulationManager * GetFastSimulationManager() const
G4VUserRegionInformation * GetUserInformation() const
void SetWorld(G4VPhysicalVolume *wp)
G4bool IsInParallelGeometry() const
G4FieldManager * GetFieldManager() const
G4ProductionCuts * GetProductionCuts() const
void RemoveRootLogicalVolume(G4LogicalVolume *lv, G4bool scan=true)
G4MaterialCutsCouple * FindCouple(G4Material *mat)
void SetFieldManager(G4FieldManager *fm)
G4bool operator==(const G4Region &rg) const
void RegionModified(G4bool flag)
G4VPhysicalVolume * GetWorldPhysical() const
void SetProductionCuts(G4ProductionCuts *cut)
G4UserLimits * GetUserLimits() const
const G4String & GetName() const
G4bool BelongsTo(G4VPhysicalVolume *pv) const
void UpdateMaterialList()
G4Region(const G4String &name)
void SetFastSimulationManager(G4FastSimulationManager *fsm)
void SetUserInformation(G4VUserRegionInformation *ui)
void SetRegionalSteppingAction(G4UserSteppingAction *rusa)
G4Region(const G4Region &)=delete
void SetName(const G4String &name)
G4Region & operator=(const G4Region &)=delete
G4bool IsInMassGeometry() const
static const G4RegionManager & GetSubInstanceManager()
G4UserSteppingAction * GetRegionalSteppingAction() const
void ClearFastSimulationManager()
void UsedInParallelGeometry(G4bool val=true)
void RegisterMaterialCouplePair(G4Material *mat, G4MaterialCutsCouple *couple)
std::vector< G4Material * >::const_iterator GetMaterialIterator() const
void SetUserLimits(G4UserLimits *ul)
void AddRootLogicalVolume(G4LogicalVolume *lv, G4bool search=true)
std::vector< G4LogicalVolume * >::iterator GetRootLogicalVolumeIterator()
void UsedInMassGeometry(G4bool val=true)
G4VPhysicalVolume is an abstract base class for the representation of a positioned volume....
PUGI__FN I unique(I begin, I end)