|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4LogicalVolume represents a leaf node or unpositioned subtree in the geometry hierarchy. Logical volumes are named, and may have daughters ascribed to them. They are responsible for retrieval of the physical and tracking attributes of the physical volume that it represents: solid, material, magnetic field, and optionally, user limits, sensitive detectors, regions, biasing weights. More...
#include <G4LogicalVolume.hh>
Static Public Member Functions | |
| static const G4LVManager & | GetSubInstanceManager () |
| static void | Clean () |
| static G4VSolid * | GetSolid (G4LVData &instLVdata) |
| static void | SetSolid (G4LVData &instLVdata, G4VSolid *pSolid) |
G4LogicalVolume represents a leaf node or unpositioned subtree in the geometry hierarchy. Logical volumes are named, and may have daughters ascribed to them. They are responsible for retrieval of the physical and tracking attributes of the physical volume that it represents: solid, material, magnetic field, and optionally, user limits, sensitive detectors, regions, biasing weights.
Definition at line 170 of file G4LogicalVolume.hh.
| G4LogicalVolume::G4LogicalVolume | ( | G4VSolid * | pSolid, |
| G4Material * | pMaterial, | ||
| const G4String & | name, | ||
| G4FieldManager * | pFieldMgr = nullptr, | ||
| G4VSensitiveDetector * | pSDetector = nullptr, | ||
| G4UserLimits * | pULimits = nullptr, | ||
| G4bool | optimise = true ) |
Constructor for G4LogicalVolume. The solid and material pointer must be non null. The parameters for field, detector and user limits are optional. The volume also enters itself into the logical volume Store. Optimisation of the geometry (voxelisation) for the volume hierarchy is applied by default. For parameterised volumes in the hierarchy, optimisation is -always- applied.
| [in] | pSolid | Pointer to the associated solid primitive. |
| [in] | pMaterial | Pointer to the associated material. |
| [in] | name | The volume name. |
| [in] | pFieldMgr | Pointer to optional magnetic field manager. |
| [in] | pSDetector | Pointer to optional associated sensitive detector. |
| [in] | pULimits | Pointer to optional user limits. |
| [in] | optimise | Flag to enable/disable optimisation structure. |
Definition at line 72 of file G4LogicalVolume.cc.
Referenced by AddDaughter(), G4LogicalCrystalVolume::G4LogicalCrystalVolume(), G4LogicalVolume(), GetMass(), InitialiseWorker(), G4LogicalCrystalVolume::IsLattice(), Lock(), operator=(), operator==(), SetFieldManager(), and TerminateWorker().
|
virtual |
Destructor. Removes the logical volume from the logical volume Store. This class is NOT meant to act as base class, except for exceptional circumstances of extended types used in the kernel.
Definition at line 138 of file G4LogicalVolume.cc.
|
delete |
Copy-constructor and assignment operator not allowed.
| G4LogicalVolume::G4LogicalVolume | ( | __void__ & | ) |
Fake default constructor for usage restricted to direct object persistency for clients requiring preallocation of memory for persistifiable objects.
Definition at line 117 of file G4LogicalVolume.cc.
| void G4LogicalVolume::AddDaughter | ( | G4VPhysicalVolume * | p | ) |
Adds the volume 'p' as a daughter of the current logical volume.
Definition at line 285 of file G4LogicalVolume.cc.
Referenced by G4PVDivision(), G4PVDivision(), G4PVDivision(), G4PVDivision(), G4PVParameterised::G4PVParameterised(), G4PVParameterised::G4PVParameterised(), G4PVPlacement::G4PVPlacement(), G4PVPlacement::G4PVPlacement(), G4PVPlacement::G4PVPlacement(), G4PVPlacement::G4PVPlacement(), G4PVReplica(), and G4VExternalPhysicalVolume::G4VExternalPhysicalVolume().
| void G4LogicalVolume::AssignFieldManager | ( | G4FieldManager * | fldMgr | ) |
Sets the Field Manager only at this level (does not push down hierarchy)
Definition at line 244 of file G4LogicalVolume.cc.
Referenced by G4LogicalVolume(), InitialiseWorker(), and SetFieldManager().
Changes the type of the daughters volume to be of type 'atype'. Meant for the user adopting an external navigator for the contents of a volume.
Definition at line 656 of file G4LogicalVolume.cc.
|
inline |
Characterises the daughters of this logical volume.
Referenced by G4ITNavigator2::RecheckDistanceToCurrentBoundary().
|
static |
Clears memory allocated by sub-instance manager.
Definition at line 202 of file G4LogicalVolume.cc.
Referenced by G4LogicalVolumeStore::~G4LogicalVolumeStore().
| void G4LogicalVolume::ClearDaughters | ( | ) |
Clears the list of daughters. Used by the physical volume store when the geometry tree is cleared, since modified at run-time.
Definition at line 389 of file G4LogicalVolume.cc.
|
inline |
Utility method used by CharacteriseDaughters().
Referenced by ChangeDaughtersType().
|
inline |
|
inline |
Returns the ith daughter. Note numbering starts from 0, and no bounds checking is performed.
Referenced by G4GMocrenFileSceneHandler::AddSolid(), G4Region::BelongsTo(), G4PVPlacement::CheckOverlaps(), G4NormalNavigation::ComputeSafety(), G4ParameterisedNavigation::ComputeSafety(), G4ReplicaNavigation::ComputeSafety(), G4VoxelNavigation::ComputeSafety(), G4NormalNavigation::ComputeStep(), G4ParameterisedNavigation::ComputeStep(), G4RegularNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4VoxelNavigation::ComputeStep(), G4LogicalVolumeModel::DescribeYourselfTo(), G4SmartVoxelHeader::G4SmartVoxelHeader(), G4ParameterisedNavigation::LevelLocate(), G4RegularNavigation::LevelLocate(), G4Region::ScanVolumeTree(), SetFieldManager(), G4VVisCommandGeometrySet::SetLVVisAtts(), G4GeomTestVolume::TestOverlapInTree(), G4GeomTestVolume::TestRecursiveOverlap(), and G4GDMLWriteStructure::TraverseVolumeTree().
|
inline |
Gets the current FastSimulationManager pointer if existing, otherwise null.
Referenced by G4FastSimulationManagerProcess::AtRestGetPhysicalInteractionLength(), G4FastSimHitMaker::make(), and G4FastSimulationManagerProcess::PostStepGetPhysicalInteractionLength().
| G4FieldManager * G4LogicalVolume::GetFieldManager | ( | ) | const |
Gets current Field Manager pointer.
Definition at line 235 of file G4LogicalVolume.cc.
Referenced by AddDaughter(), G4VFieldModel::DescribeYourselfTo(), G4PropagatorInField::FindAndSetFieldManager(), InitialiseWorker(), and SetFieldManager().
|
inline |
Returns the instance ID.
Referenced by G4VChannelingFastSimCrystalData::SetBendingAngle(), G4VChannelingFastSimCrystalData::SetCrystallineUndulatorParameters(), G4VChannelingFastSimCrystalData::SetCUParameters(), G4VChannelingFastSimCrystalData::SetGeometryParameters(), and G4VChannelingFastSimCrystalData::SetMiscutAngle().
| G4double G4LogicalVolume::GetMass | ( | G4bool | forced = false, |
| G4bool | propagate = true, | ||
| G4Material * | parMaterial = nullptr ) |
Returns the mass of the logical volume tree computed from the estimated geometrical volume of each solid and material associated to the logical volume and (by default) to its daughters.
| [in] | forced | Flag to force recomputation or use cached value. |
| [in] | propagate | Flag to limit or not computation to daughters. |
| [in] | parMaterial | Optional pointer to a custom material, usually used in parameterisations. |
Definition at line 565 of file G4LogicalVolume.cc.
Referenced by GetMass(), and G4ASCIITreeSceneHandler::RequestPrimitives().
|
inline |
Returns current Field Manager for the master thread.
|
inline |
Returns current Sensitive Detector for the master thread.
Referenced by G4GDMLWriteStructure::ExportSD().
|
inline |
Returns current Solid for the master thread.
Referenced by G4GeometryWorkspace::InitialisePhysicalVolumes().
| G4Material * G4LogicalVolume::GetMaterial | ( | ) | const |
Gets and sets the current material.
Definition at line 443 of file G4LogicalVolume.cc.
Referenced by G4AdjointPrimaryGenerator::ComputeAccumulatedDepthVectorAlongBackRay(), G4VPVParameterisation::ComputeMaterial(), G4tgbGeometryDumper::DumpLogVol(), G4GDMLWriteStructure::ExportEnergyCuts(), G4LogicalCrystalVolume::GetCrystal(), GetMass(), G4XrayReflection::GetMeanFreePath(), G4LatticeManager::LoadLattice(), G4ITTransportation::PostStepDoIt(), G4MicroElecSurface::PostStepDoIt(), G4VXTRenergyLoss::PostStepDoIt(), G4GeneralCerenkov::PostStepGetPhysicalInteractionLength(), G4LatticeManager::RegisterLattice(), G4PropagatorInField::ReportLoopingParticle(), G4TransportationLogger::ReportLoopingTrack(), G4Region::ScanVolumeTree(), G4Transportation::SetTouchableInformation(), G4ParallelWorldProcess::SwitchMaterial(), and G4GDMLWriteStructure::TraverseVolumeTree().
| const G4MaterialCutsCouple * G4LogicalVolume::GetMaterialCutsCouple | ( | ) | const |
Accessor and modifier for production cuts.
Definition at line 492 of file G4LogicalVolume.cc.
Referenced by G4ForwardXrayTR::PostStepDoIt(), G4ITTransportation::PostStepDoIt(), G4AdjointForcedInteractionForGamma::PostStepGetPhysicalInteractionLength(), and G4Transportation::SetTouchableInformation().
|
inline |
Returns and sets the name of the logical volume.
Referenced by G4AdjointCrossSurfChecker::AddanExtSurfaceOfAvolume(), AddDaughter(), G4OpenInventorSceneHandler::AddPrimitive(), G4Region::AddRootLogicalVolume(), G4VtkSceneHandler::AddSolid(), G4VBiasingOperator::AttachTo(), G4PVParameterised::CheckOverlaps(), G4PVPlacement::CheckOverlaps(), checkVol(), G4tgbVolume::ConstructG4LogVol(), G4tgbVolume::ConstructG4PhysVol(), G4tgbVolume::ConstructG4Volumes(), G3Division::CreatePVReplica(), G4AdjointCrossSurfChecker::CrossingAnInterfaceBetweenTwoVolumes(), G4RadioactiveDecay::DecayIt(), G4VRadioactiveDecay::DecayIt(), G4RunManagerKernel::DefineWorldVolume(), G4LogicalVolumeStore::DeRegister(), G4ReflectionFactory::Divide(), G4ReflectionFactory::Divide(), G4ReflectionFactory::Divide(), G4GDMLReadStructure::DivisionvolRead(), G4TrajectoryDrawByOriginVolume::Draw(), G4tgbVolumeMgr::DumpG4LogVolLeaf(), G4LogicalSkinSurface::DumpInfo(), G4tgbGeometryDumper::DumpLogVol(), G4tgbGeometryDumper::DumpPhysVol(), G4tgbGeometryDumper::DumpPVPlacement(), G4TrajectoryOriginVolumeFilter::Evaluate(), G4BuildGeom(), G4PVReplica(), G4GDMLRead::GeneratePhysvolName(), G4ITNavigator1::GetLocalExitNormal(), G4ITNavigator2::GetLocalExitNormal(), G4Navigator::GetLocalExitNormal(), G4XrayReflection::GetMeanFreePath(), G4tgbVolumeMgr::GetTopLogVol(), G4tgbVolumeMgr::GetTopPhysVol(), G4GDMLReadStructure::GetWorldVolume(), G4AdjointCrossSurfChecker::GoingInOrOutOfaVolumeByExtSurface(), G4GDMLWriteParamvol::ParamvolAlgorithmWrite(), G4GDMLReadParamvol::ParamvolRead(), G4GDMLWriteParamvol::ParamvolWrite(), G4GDMLReadStructure::PhysvolRead(), G4GDMLWriteStructure::PhysvolWrite(), G4ReflectionFactory::Place(), G4LogicalVolumeStore::Register(), G4tgbVolumeMgr::RegisterMe(), G4RunManager::ReOptimize(), G4GDMLReadStructure::ReplicaRead(), G4ReflectionFactory::Replicate(), G4GDMLWriteStructure::ReplicavolWrite(), G4VoxelisationHelper::ReportVoxelInfo(), G4ASCIITreeSceneHandler::RequestPrimitives(), G4VoxelSafety::SafetyForVoxelHeader(), G4PolarizedAnnihilationModel::SampleSecondaries(), G4PolarizedComptonModel::SampleSecondaries(), G4Region::ScanVolumeTree(), G4VRadioactiveDecay::SelectAllVolumes(), G4VChannelingFastSimCrystalData::SetBendingAngle(), G4VChannelingFastSimCrystalData::SetCrystallineUndulatorParameters(), G4VChannelingFastSimCrystalData::SetCUParameters(), G4FieldBuilder::SetLocalField(), G4VVisCommandGeometrySet::SetLVVisAtts(), G4VChannelingFastSimCrystalData::SetMiscutAngle(), G4VisCommandGeometryRestore::SetNewValue(), G4VUserDetectorConstruction::SetSensitiveDetector(), G4GDMLWriteSetup::SetupWrite(), G4PolarizationManager::SetVolumePolarization(), G4GDMLWriteStructure::SkinSurfaceCache(), G4GDMLRead::StripNames(), G4GDMLWriteStructure::TraverseVolumeTree(), and G4VoxelisationHelper::UndertakeOptimisation().
|
inline |
Returns the number of daughters (0 to n).
Referenced by G4GMocrenFileSceneHandler::AddSolid(), G4Region::BelongsTo(), G4PVPlacement::CheckOverlaps(), G4NormalNavigation::ComputeSafety(), G4ReplicaNavigation::ComputeSafety(), G4VoxelSafety::ComputeSafety(), G4NormalNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4VoxelNavigation::ComputeStep(), G4PhysicalVolumeModel::DescribeAndDescend(), G4LogicalVolumeModel::DescribeYourselfTo(), G4DrawVoxels::DrawVoxels(), G4Mesh::G4Mesh(), G4PVReplica(), G4SmartVoxelHeader::G4SmartVoxelHeader(), G4ASCIITreeSceneHandler::RequestPrimitives(), G4Region::ScanVolumeTree(), SetFieldManager(), G4VVisCommandGeometrySet::SetLVVisAtts(), G4GeomTestVolume::TestOverlapInTree(), G4GeomTestVolume::TestRecursiveOverlap(), and G4GDMLWriteStructure::TraverseVolumeTree().
|
inline |
Returns the region to which the volume belongs, if any.
Referenced by G4Region::AddRootLogicalVolume(), G4Region::BelongsTo(), G4RunManagerKernel::CheckRegions(), G4RunManagerKernel::DefineWorldVolume(), G4VFieldModel::DescribeYourselfTo(), G4GDMLWriteStructure::ExportEnergyCuts(), G4PropagatorInField::FindAndSetFieldManager(), G4CoherentPairProduction::GetMeanFreePath(), G4ElNeutrinoNucleusProcess::GetMeanFreePath(), G4MuNeutrinoNucleusProcess::GetMeanFreePath(), G4NeutrinoElectronProcess::GetMeanFreePath(), G4NuVacOscProcess::GetMeanFreePath(), G4TauNeutrinoNucleusProcess::GetMeanFreePath(), G4VTransitionRadiation::GetMeanFreePath(), G4ElNeutrinoNucleusProcess::PostStepDoIt(), G4MuNeutrinoNucleusProcess::PostStepDoIt(), G4NeutrinoElectronProcess::PostStepDoIt(), G4NuVacOscProcess::PostStepDoIt(), G4TauNeutrinoNucleusProcess::PostStepDoIt(), G4VTransitionRadiation::PostStepDoIt(), G4LowECapture::PostStepGetPhysicalInteractionLength(), G4GlobalFastSimulationManager::ShowSetup(), G4ParallelWorldProcess::SwitchMaterial(), and G4MSSteppingAction::UserSteppingAction().
| G4VSensitiveDetector * G4LogicalVolume::GetSensitiveDetector | ( | ) | const |
Gets and sets the current sensitive detector (can be a null pointer).
Definition at line 473 of file G4LogicalVolume.cc.
Referenced by G4FastSimHitMaker::make(), GFlashHitMaker::make(), G4ITTransportation::PostStepDoIt(), G4ScoreSplittingProcess::PostStepDoIt(), G4ASCIITreeSceneHandler::RequestPrimitives(), G4VUserDetectorConstruction::SetSensitiveDetector(), and G4Transportation::SetTouchableInformation().
|
inline |
Gets and sets the user defined optimisation quality associated to the volume.
| G4VSolid * G4LogicalVolume::GetSolid | ( | ) | const |
Gets and sets the current solid.
Definition at line 417 of file G4LogicalVolume.cc.
Referenced by G4AdjointCrossSurfChecker::AddanExtSurfaceOfAvolume(), G4PseudoScene::AddCompound(), G4VSceneHandler::AddCompound(), G4GMocrenFileSceneHandler::AddPrimitive(), G4GMocrenFileSceneHandler::AddSolid(), G4ReplicaNavigation::BackLocate(), G4PhantomParameterisation::BuildContainerSolid(), G4PVParameterised::CheckOverlaps(), G4PVPlacement::CheckOverlaps(), G4GeometryWorkspace::CloneReplicaSolid(), G4NormalNavigation::ComputeSafety(), G4ParameterisedNavigation::ComputeSafety(), G4ReplicaNavigation::ComputeSafety(), G4VoxelNavigation::ComputeSafety(), G4VoxelSafety::ComputeSafety(), G4PhantomParameterisation::ComputeSolid(), G4VNestedParameterisation::ComputeSolid(), G4VPVParameterisation::ComputeSolid(), G4ITNavigator1::ComputeStep(), G4ITNavigator2::ComputeStep(), G4Navigator::ComputeStep(), G4NormalNavigation::ComputeStep(), G4ParameterisedNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4VoxelNavigation::ComputeStep(), G4RegularNavigation::ComputeStepSkippingEqualMaterials(), G4tgbVolume::ConstructG4PhysVol(), G4TheRayTracer::CreateBitMap(), G3Division::CreatePVReplica(), G4LogicalVolumeModel::DescribeYourselfTo(), G4VFieldModel::DescribeYourselfTo(), G4ChannelingFastSimModel::DoIt(), G4VisManager::Draw(), G4tgbGeometryDumper::DumpLogVol(), G4Navigator::GetGlobalExitNormal(), G4ITNavigator1::GetLocalExitNormal(), G4ITNavigator2::GetLocalExitNormal(), G4Navigator::GetLocalExitNormal(), GetMass(), G4ITTransportationManager::GetParallelWorld(), G4TransportationManager::GetParallelWorld(), GetSolid(), G4BOptnForceCommonTruncatedExp::Initialize(), G4ChannelingFastSimModel::ModelTrigger(), G4GDMLWriteParamvol::ParametersWrite(), G4ElNeutrinoNucleusProcess::PostStepDoIt(), G4MuNeutrinoNucleusProcess::PostStepDoIt(), G4NeutrinoElectronProcess::PostStepDoIt(), G4TauNeutrinoNucleusProcess::PostStepDoIt(), G4NavigationLogger::PreComputeStepLog(), G4PSFlatSurfaceCurrent::ProcessHits(), G4PSFlatSurfaceFlux::ProcessHits(), G4PSSphereSurfaceFlux::ProcessHits(), G4PSVolumeFlux::ProcessHits(), G4ITNavigator2::RecheckDistanceToCurrentBoundary(), G4NavigationLogger::ReportOutsideMother(), G4NavigationLogger::ReportVolumeAndIntersection(), G4VoxelSafety::SafetyForVoxelHeader(), G4VoxelSafety::SafetyForVoxelNode(), G4VChannelingFastSimCrystalData::SetBendingAngle(), G4VisCommandsTouchable::SetNewValue(), G4GeomTestVolume::TestOverlapInTree(), and G4GDMLWriteStructure::TraverseVolumeTree().
Optimised methods, passing thread instance of worker data.
Definition at line 412 of file G4LogicalVolume.cc.
|
static |
Returns the private data instance manager.
Definition at line 226 of file G4LogicalVolume.cc.
Referenced by G4GeometryWorkspace::G4GeometryWorkspace().
|
inline |
Gets and sets the current User Limits.
Referenced by G4MaxTimeCuts::PostStepGetPhysicalInteractionLength(), G4MinEkineCuts::PostStepGetPhysicalInteractionLength(), G4StepLimiter::PostStepGetPhysicalInteractionLength(), and G4UserSpecialCuts::PostStepGetPhysicalInteractionLength().
| const G4VisAttributes * G4LogicalVolume::GetVisAttributes | ( | ) | const |
Accessor and modifiers for visualization attributes. Arguments are converted to shared_ptr.
Referenced by G4PhysicalVolumeModel::DescribeAndDescend(), G4BuildGeom(), G4VVisCommandGeometrySet::SetLVVisAtts(), G4VisCommandGeometryRestore::SetNewValue(), and G4VSceneHandler::StandardSpecialMeshRendering().
|
inline |
Gets and sets the current Voxel Header.
Referenced by G4ITNavigator1::ComputeSafety(), G4ITNavigator2::ComputeSafety(), G4VoxelSafety::ComputeSafety(), G4ITNavigator1::ComputeStep(), G4ITNavigator2::ComputeStep(), G4Navigator::ComputeStep(), G4DrawVoxels::CreatePlacedPolyhedra(), G4ParameterisedNavigation::LevelLocate(), G4ITNavigator1::LocateGlobalPointAndSetup(), G4ITNavigator2::LocateGlobalPointAndSetup(), G4Navigator::LocateGlobalPointAndSetup(), G4ITNavigator1::LocateGlobalPointWithinVolume(), G4ITNavigator2::LocateGlobalPointWithinVolume(), G4SafetyCalculator::QuickLocateWithinVolume(), G4RunManager::ReOptimize(), G4VoxelisationHelper::ReportVoxelInfo(), G4SafetyCalculator::SafetyInCurrentVolume(), and G4VoxelisationHelper::UndertakeOptimisation().
| void G4LogicalVolume::InitialiseWorker | ( | G4LogicalVolume * | ptrMasterObject, |
| G4VSolid * | pSolid, | ||
| G4VSensitiveDetector * | pSDetector ) |
This method is similar to the constructor. It is used by each worker thread to achieve the partial effect as that of the master thread.
Definition at line 168 of file G4LogicalVolume.cc.
Referenced by G4GeometryWorkspace::CloneReplicaSolid(), and G4GeometryWorkspace::InitialisePhysicalVolumes().
| G4bool G4LogicalVolume::IsAncestor | ( | const G4VPhysicalVolume * | p | ) | const |
Returns true if the volume 'p' is part of the hierarchy of volumes established by the current logical volume. Scans recursively the volume tree.
Definition at line 514 of file G4LogicalVolume.cc.
|
inline |
Returns true if the volume 'p' is a daughter of the current logical volume.
Referenced by IsAncestor().
|
virtual |
Returns true if it is not a base-class object.
Reimplemented in G4LogicalCrystalVolume.
Definition at line 254 of file G4LogicalVolume.cc.
|
inline |
Replies if the logical volume is part of a cuts region or not.
|
inline |
Replies if the logical volume represents a root region or not.
Referenced by G4Region::AddRootLogicalVolume(), and G4Region::ScanVolumeTree().
|
inline |
Replies if the geometry optimisation (voxelisation) is to be applied for this volume hierarchy.
|
inline |
Sets lock identifier for final deletion of entity.
|
delete |
| G4bool G4LogicalVolume::operator== | ( | const G4LogicalVolume & | lv | ) | const |
Equality defined by address only. Returns true if objects are at same address, else false.
|
inline |
Propagates region pointer to daughters.
Referenced by AddDaughter().
| void G4LogicalVolume::RemoveDaughter | ( | const G4VPhysicalVolume * | p | ) |
Removes the volume 'p' from the list of daughters of the current logical volume.
Definition at line 368 of file G4LogicalVolume.cc.
Referenced by G4PhysicalVolumeStore::DeRegister().
| void G4LogicalVolume::ResetMass | ( | ) |
Resets the cached value of mass. Ensures that cached value of mass is invalidated due to change in state, e.g. change of the size of the solid, change of the type of solid, or the addition/deletion of a daughter volume.
Definition at line 403 of file G4LogicalVolume.cc.
Referenced by SetSolid().
|
inline |
Sets and gets the bias weight.
| void G4LogicalVolume::SetFieldManager | ( | G4FieldManager * | pFieldMgr, |
| G4bool | forceToAllDaughters ) |
Sets the Field Manager and propagates it.
| [in] | pFieldMgr | Pointer to the field manager. |
| [in] | forceToAllDaughters | Flag to force propagation to all daughters (true), or only to daughters having null pointer to the field manager (false). |
Definition at line 264 of file G4LogicalVolume.cc.
Referenced by AddDaughter(), G4LogicalVolume(), InitialiseWorker(), SetFieldManager(), and G4WorkerThread::UpdateGeometryAndPhysicsVectorFromMaster().
| void G4LogicalVolume::SetMaterial | ( | G4Material * | pMaterial | ) |
Definition at line 452 of file G4LogicalVolume.cc.
Referenced by G4LogicalVolume(), and G4ScoreSplittingProcess::PostStepDoIt().
| void G4LogicalVolume::SetMaterialCutsCouple | ( | G4MaterialCutsCouple * | cuts | ) |
Definition at line 501 of file G4LogicalVolume.cc.
| void G4LogicalVolume::SetName | ( | const G4String & | pName | ) |
Definition at line 152 of file G4LogicalVolume.cc.
Referenced by G4LogicalVolume(), and G4GDMLRead::StripNames().
|
inline |
Specifies if to apply or not geometry optimisation to the volume hierarchy. For parameterised volumes in the hierarchy, optimisation is always applied.
|
inline |
Sets/unsets the volume as cuts region.
Referenced by G4RunManagerKernel::CheckRegions(), G4RunManagerKernel::DefineWorldVolume(), and G4Region::ScanVolumeTree().
|
inline |
Sets/unsets the volume as a root region for cuts.
Referenced by G4Region::AddRootLogicalVolume(), and G4Region::RemoveRootLogicalVolume().
| void G4LogicalVolume::SetSensitiveDetector | ( | G4VSensitiveDetector * | pSDetector | ) |
Definition at line 482 of file G4LogicalVolume.cc.
Referenced by G4LogicalVolume(), G4LogicalVolume(), InitialiseWorker(), G4VUserDetectorConstruction::SetSensitiveDetector(), G4VUserParallelWorld::SetSensitiveDetector(), and G4WorkerThread::UpdateGeometryAndPhysicsVectorFromMaster().
|
inline |
Definition at line 433 of file G4LogicalVolume.cc.
| void G4LogicalVolume::SetSolid | ( | G4VSolid * | pSolid | ) |
Definition at line 426 of file G4LogicalVolume.cc.
Referenced by G4LogicalVolume(), G4ITNavigator1::GetMotherToDaughterTransform(), G4ITNavigator2::GetMotherToDaughterTransform(), G4Navigator::GetMotherToDaughterTransform(), InitialiseWorker(), G4ParameterisedNavigation::LevelLocate(), G4ITNavigator1::LocateGlobalPointAndSetup(), G4ITNavigator2::LocateGlobalPointAndSetup(), G4Navigator::LocateGlobalPointAndSetup(), G4ITNavigator1::SetupHierarchy(), G4ITNavigator2::SetupHierarchy(), and G4Navigator::SetupHierarchy().
|
inline |
Referenced by G4LogicalVolume().
| void G4LogicalVolume::SetVisAttributes | ( | const G4VisAttributes & | VA | ) |
Definition at line 682 of file G4LogicalVolume.cc.
| void G4LogicalVolume::SetVisAttributes | ( | const G4VisAttributes * | pVA | ) |
Definition at line 692 of file G4LogicalVolume.cc.
Referenced by G4tgbVolume::ConstructG4LogVol(), G4BuildGeom(), G4GDMLReadStructure::GetWorldVolume(), G4VVisCommandGeometrySet::SetLVVisAtts(), G4VisCommandGeometryRestore::SetNewValue(), G4ScoringBox::SetupGeometry(), and G4ScoringCylinder::SetupGeometry().
|
inline |
Referenced by G4RunManager::ReOptimize(), and G4VoxelisationHelper::UndertakeOptimisation().
| void G4LogicalVolume::TerminateWorker | ( | G4LogicalVolume * | ptrMasterObject | ) |
This method is similar to the destructor. It is used by each worker thread to achieve the partial effect as that of the master thread.
Definition at line 215 of file G4LogicalVolume.cc.
Referenced by G4GeometryWorkspace::DestroyWorkspace().
| G4int G4LogicalVolume::TotalVolumeEntities | ( | ) | const |
Returns the total number of physical volumes (replicated or placed) in the tree represented by the current logical volume.
Definition at line 535 of file G4LogicalVolume.cc.
| void G4LogicalVolume::UpdateMaterial | ( | G4Material * | pMaterial | ) |
Sets the material and corresponding Material-Cuts-Couple. This method is invoked by G4Navigator while it is navigating through material parameterisation.
Definition at line 462 of file G4LogicalVolume.cc.
Referenced by G4ParameterisedNavigation::LevelLocate(), G4RegularNavigation::LevelLocate(), G4ITNavigator1::LocateGlobalPointAndSetup(), G4ITNavigator2::LocateGlobalPointAndSetup(), G4Navigator::LocateGlobalPointAndSetup(), G4ITNavigator1::SetupHierarchy(), G4ITNavigator2::SetupHierarchy(), and G4Navigator::SetupHierarchy().