G4LogicalVolume Class Reference

#include <G4LogicalVolume.hh>

List of all members.


Detailed Description

Definition at line 134 of file G4LogicalVolume.hh.

Public Member Functions

 G4LogicalVolume (G4VSolid *pSolid, G4Material *pMaterial, const G4String &name, G4FieldManager *pFieldMgr=0, G4VSensitiveDetector *pSDetector=0, G4UserLimits *pULimits=0, G4bool optimise=true)
 ~G4LogicalVolume ()
G4String GetName () const
void SetName (const G4String &pName)
G4int GetNoDaughters () const
G4VPhysicalVolumeGetDaughter (const G4int i) const
void AddDaughter (G4VPhysicalVolume *p)
G4bool IsDaughter (const G4VPhysicalVolume *p) const
G4bool IsAncestor (const G4VPhysicalVolume *p) const
void RemoveDaughter (const G4VPhysicalVolume *p)
void ClearDaughters ()
G4int TotalVolumeEntities () const
G4VSolidGetSolid () const
void SetSolid (G4VSolid *pSolid)
G4MaterialGetMaterial () const
void SetMaterial (G4Material *pMaterial)
void UpdateMaterial (G4Material *pMaterial)
G4double GetMass (G4bool forced=false, G4bool propagate=true, G4Material *parMaterial=0)
G4FieldManagerGetFieldManager () const
void SetFieldManager (G4FieldManager *pFieldMgr, G4bool forceToAllDaughters)
G4VSensitiveDetectorGetSensitiveDetector () const
void SetSensitiveDetector (G4VSensitiveDetector *pSDetector)
G4UserLimitsGetUserLimits () const
void SetUserLimits (G4UserLimits *pULimits)
G4SmartVoxelHeaderGetVoxelHeader () const
void SetVoxelHeader (G4SmartVoxelHeader *pVoxel)
G4double GetSmartless () const
void SetSmartless (G4double s)
G4bool IsToOptimise () const
void SetOptimisation (G4bool optim)
G4bool IsRootRegion () const
void SetRegionRootFlag (G4bool rreg)
G4bool IsRegion () const
void SetRegion (G4Region *reg)
G4RegionGetRegion () const
void PropagateRegion ()
const G4MaterialCutsCoupleGetMaterialCutsCouple () const
void SetMaterialCutsCouple (G4MaterialCutsCouple *cuts)
G4bool operator== (const G4LogicalVolume &lv) const
const G4VisAttributesGetVisAttributes () const
void SetVisAttributes (const G4VisAttributes *pVA)
void SetVisAttributes (const G4VisAttributes &VA)
G4FastSimulationManagerGetFastSimulationManager () const
void SetBiasWeight (G4double w)
G4double GetBiasWeight () const
 G4LogicalVolume (__void__ &)

Private Types

typedef std::vector< G4VPhysicalVolume * > G4PhysicalVolumeList

Private Member Functions

 G4LogicalVolume (const G4LogicalVolume &)
G4LogicalVolumeoperator= (const G4LogicalVolume &)

Private Attributes

G4PhysicalVolumeList fDaughters
G4FieldManagerfFieldManager
G4MaterialfMaterial
G4String fName
G4VSensitiveDetectorfSensitiveDetector
G4VSolidfSolid
G4UserLimitsfUserLimits
G4SmartVoxelHeaderfVoxel
G4bool fOptimise
G4bool fRootRegion
G4double fSmartless
G4double fMass
const G4VisAttributesfVisAttributes
G4RegionfRegion
G4MaterialCutsCouplefCutsCouple
G4double fBiasWeight


Member Typedef Documentation

typedef std::vector<G4VPhysicalVolume*> G4LogicalVolume::G4PhysicalVolumeList [private]

Definition at line 136 of file G4LogicalVolume.hh.


Constructor & Destructor Documentation

G4LogicalVolume::G4LogicalVolume ( G4VSolid pSolid,
G4Material pMaterial,
const G4String name,
G4FieldManager pFieldMgr = 0,
G4VSensitiveDetector pSDetector = 0,
G4UserLimits pULimits = 0,
G4bool  optimise = true 
)

Definition at line 57 of file G4LogicalVolume.cc.

References G4LogicalVolumeStore::Register(), SetMaterial(), SetName(), SetSensitiveDetector(), SetSolid(), and SetUserLimits().

Here is the call graph for this function:

G4LogicalVolume::~G4LogicalVolume (  ) 

Definition at line 100 of file G4LogicalVolume.cc.

References G4LogicalVolumeStore::DeRegister(), fRegion, fRootRegion, G4LogicalVolumeStore::GetInstance(), and G4Region::RemoveRootLogicalVolume().

Here is the call graph for this function:

G4LogicalVolume::G4LogicalVolume ( __void__ &   ) 

Definition at line 84 of file G4LogicalVolume.cc.

References G4LogicalVolumeStore::Register().

Here is the call graph for this function:

G4LogicalVolume::G4LogicalVolume ( const G4LogicalVolume  )  [private]


Member Function Documentation

void G4LogicalVolume::AddDaughter ( G4VPhysicalVolume p  )  [inline]

Referenced by G4PVDivision::G4PVDivision(), G4PVPlacement::G4PVPlacement(), and G4PVReplica::G4PVReplica().

void G4LogicalVolume::ClearDaughters (  )  [inline]

G4double G4LogicalVolume::GetBiasWeight (  )  const [inline]

Referenced by G4ReflectionFactory::CreateReflectedLV().

G4VPhysicalVolume* G4LogicalVolume::GetDaughter ( const G4int  i  )  const [inline]

Referenced by G4Region::BelongsTo(), G4SmartVoxelHeader::BuildNodes(), G4GeometryManager::BuildOptimisations(), G4SmartVoxelHeader::BuildReplicaVoxels(), G4PVPlacement::CheckOverlaps(), G4VoxelNavigation::ComputeSafety(), G4ReplicaNavigation::ComputeSafety(), G4ParameterisedNavigation::ComputeSafety(), G4NormalNavigation::ComputeSafety(), G4VoxelNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4RegularNavigation::ComputeStep(), G4ParameterisedNavigation::ComputeStep(), G4NormalNavigation::ComputeStep(), G4GeometryManager::DeleteOptimisations(), G4SmartVoxelHeader::G4SmartVoxelHeader(), G4GeomTestOvershootList::GetDaughter(), G4GeomTestOverlapList::GetDaughter1(), G4GeomTestOverlapList::GetDaughter2(), G4RegularNavigation::LevelLocate(), G4ParameterisedNavigation::LevelLocate(), G4ReflectionFactory::ReflectDaughters(), G4ProductionCutsTable::ScanAndSetCouple(), G4Region::ScanVolumeTree(), SetFieldManager(), G4GeomTestVolume::TestOneLine(), G4GeomTestVolume::TestRecursiveCartGrid(), G4GeomTestVolume::TestRecursiveCylinder(), and G4GeomTestVolume::TestRecursiveLine().

G4FastSimulationManager* G4LogicalVolume::GetFastSimulationManager (  )  const [inline]

Referenced by G4FastSimulationManagerProcess::AtRestGetPhysicalInteractionLength(), GFlashHitMaker::make(), and G4FastSimulationManagerProcess::PostStepGetPhysicalInteractionLength().

G4FieldManager* G4LogicalVolume::GetFieldManager (  )  const [inline]

Referenced by G4ReflectionFactory::CreateReflectedLV(), G4PropagatorInField::FindAndSetFieldManager(), and SetFieldManager().

G4double G4LogicalVolume::GetMass ( G4bool  forced = false,
G4bool  propagate = true,
G4Material parMaterial = 0 
)

Definition at line 199 of file G4LogicalVolume.cc.

References G4VSolid::ComputeDimensions(), FatalException, fDaughters, fMass, fMaterial, fName, fSolid, G4cerr, G4endl, G4Exception(), G4VSolid::GetCubicVolume(), G4Material::GetDensity(), GetMass(), GetMaterial(), and GetSolid().

Referenced by GetMass(), and G4ASCIITreeSceneHandler::RequestPrimitives().

Here is the call graph for this function:

G4Material* G4LogicalVolume::GetMaterial (  )  const [inline]

Referenced by G4VPVParameterisation::ComputeMaterial(), G4ReflectionFactory::CreateReflectedLV(), GetMass(), G4Transportation::PostStepDoIt(), G4CoupledTransportation::PostStepDoIt(), G4VXTRenergyLoss::PostStepDoIt(), G4ErrorFreeTrajState::PropagateErrorIoni(), G4ErrorFreeTrajState::PropagateErrorMSC(), G4ProductionCutsTable::ScanAndSetCouple(), and G4Region::ScanVolumeTree().

const G4MaterialCutsCouple* G4LogicalVolume::GetMaterialCutsCouple (  )  const [inline]

Referenced by G4Transportation::PostStepDoIt(), and G4CoupledTransportation::PostStepDoIt().

G4String G4LogicalVolume::GetName (  )  const [inline]

Referenced by G4HepRepFileSceneHandler::AddHepRepInstance(), G4HepRepSceneHandler::AddSolid(), G4SmartVoxelHeader::BuildNodes(), G4GeometryManager::BuildOptimisations(), G4SmartVoxelHeader::BuildReplicaVoxels(), G4PVPlacement::CheckOverlaps(), G4PVParameterised::CheckOverlaps(), checkVol(), G4PhysicalVolumeModel::CreateCurrentAttValues(), G3Division::CreatePVReplica(), G4ReflectionFactory::CreateReflectedLV(), G4RadioactiveDecay::DecayIt(), G4RunManagerKernel::DefineWorldVolume(), G4RadioactiveDecay::DeselectAVolume(), G4ReflectionFactory::Divide(), G4TrajectoryDrawByOriginVolume::Draw(), G4TrajectoryOriginVolumeFilter::Evaluate(), G4BuildGeom(), G4PVReplica::G4PVReplica(), G4HepRepSceneHandler::getGeometryInstance(), G4PolarizedCompton::GetMeanFreePath(), G4eplusPolarizedAnnihilation::GetMeanFreePath(), G4ReflectionFactory::Place(), G4PolarizedCompton::PostStepGetPhysicalInteractionLength(), G4eplusPolarizedAnnihilation::PostStepGetPhysicalInteractionLength(), G4ReflectionFactory::ReflectDaughters(), G4ReflectionFactory::ReflectPVDivision(), G4ReflectionFactory::ReflectPVPlacement(), G4ReflectionFactory::ReflectPVReplica(), G4ReflectionFactory::Replicate(), G4ASCIITreeSceneHandler::RequestPrimitives(), G4PolarizedComptonModel::SampleSecondaries(), G4Region::ScanVolumeTree(), G4RadioactiveDecay::SelectAllVolumes(), G4RadioactiveDecay::SelectAVolume(), G4VisCommandGeometryRestore::SetNewValue(), and G4PolarizationManager::SetVolumePolarization().

G4int G4LogicalVolume::GetNoDaughters (  )  const [inline]

Referenced by G4Region::BelongsTo(), G4SmartVoxelHeader::BuildNodes(), G4GeometryManager::BuildOptimisations(), G4SmartVoxelHeader::BuildReplicaVoxels(), G4SmartVoxelHeader::BuildVoxels(), G4PVPlacement::CheckOverlaps(), G4VoxelNavigation::ComputeSafety(), G4ReplicaNavigation::ComputeSafety(), G4NormalNavigation::ComputeSafety(), G4VoxelNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4NormalNavigation::ComputeStep(), G4DrawVoxels::ComputeVoxelPolyhedra(), G4GeometryManager::DeleteOptimisations(), G4PhysicalVolumeModel::DescribeAndDescend(), G4DrawVoxels::DrawVoxels(), G4PVReplica::G4PVReplica(), G4SmartVoxelHeader::G4SmartVoxelHeader(), G4AssemblyVolume::MakeImprint(), G4ReflectionFactory::ReflectDaughters(), G4ASCIITreeSceneHandler::RequestPrimitives(), G4ProductionCutsTable::ScanAndSetCouple(), G4Region::ScanVolumeTree(), SetFieldManager(), G4GeomTestVolume::TestOneLine(), G4GeomTestVolume::TestRecursiveCartGrid(), G4GeomTestVolume::TestRecursiveCylinder(), and G4GeomTestVolume::TestRecursiveLine().

G4Region* G4LogicalVolume::GetRegion (  )  const [inline]

Referenced by G4HepRepFileSceneHandler::AddHepRepInstance(), G4Region::BelongsTo(), G4PhysicalVolumeModel::CreateCurrentAttValues(), G4ReflectionFactory::CreateReflectedLV(), G4RunManagerKernel::DefineWorldVolume(), G4FastTrack::FRecordsAffineTransformation(), G4HepRepSceneHandler::getGeometryInstance(), G4VTransitionRadiation::GetMeanFreePath(), G4VTransitionRadiation::PostStepDoIt(), G4ReflectionFactory::ReflectLV(), G4ProductionCutsTable::ScanAndSetCouple(), G4SteppingManager::Stepping(), and G4MSSteppingAction::UserSteppingAction().

G4VSensitiveDetector* G4LogicalVolume::GetSensitiveDetector (  )  const [inline]

Referenced by G4ReflectionFactory::CreateReflectedLV(), GFlashHitMaker::make(), G4Transportation::PostStepDoIt(), G4CoupledTransportation::PostStepDoIt(), and G4ASCIITreeSceneHandler::RequestPrimitives().

G4double G4LogicalVolume::GetSmartless (  )  const [inline]

Referenced by G4SmartVoxelHeader::BuildNodes().

G4VSolid* G4LogicalVolume::GetSolid (  )  const [inline]

Referenced by G4HepRepFileSceneHandler::AddHepRepInstance(), G4ReplicaNavigation::BackLocate(), G4PhantomParameterisation::BuildContainerSolid(), G4SmartVoxelHeader::BuildNodes(), G4SmartVoxelHeader::BuildReplicaVoxels(), G4SmartVoxelHeader::BuildVoxelsWithinLimits(), G4PVDivision::CheckAndSetParameters(), G4PVPlacement::CheckOverlaps(), G4PVParameterised::CheckOverlaps(), G4VoxelNavigation::ComputeSafety(), G4ReplicaNavigation::ComputeSafety(), G4ParameterisedNavigation::ComputeSafety(), G4NormalNavigation::ComputeSafety(), G4PhantomParameterisation::ComputeSolid(), G4VPVParameterisation::ComputeSolid(), G4VNestedParameterisation::ComputeSolid(), G4VoxelNavigation::ComputeStep(), G4ReplicaNavigation::ComputeStep(), G4ParameterisedNavigation::ComputeStep(), G4NormalNavigation::ComputeStep(), G4Navigator::ComputeStep(), G4RegularNavigation::ComputeStepSkippingEqualMaterials(), G4DrawVoxels::ComputeVoxelPolyhedra(), G4TheRayTracer::CreateBitMap(), G4PhysicalVolumeModel::CreateCurrentAttValues(), G3Division::CreatePVReplica(), G4ReflectionFactory::CreateReflectedLV(), G4VisManager::Draw(), G4FastTrack::FRecordsAffineTransformation(), G4HepRepSceneHandler::getGeometryInstance(), GetMass(), G4TransportationManager::GetParallelWorld(), G4Navigator::LocateGlobalPointAndSetup(), G4VXTRenergyLoss::PostStepDoIt(), G4PSSphereSurfaceFlux::ProcessHits(), G4PSSphereSurfaceCurrent::ProcessHits(), G4PSPassageCellFlux::ProcessHits(), G4PSFlatSurfaceFlux::ProcessHits(), G4PSFlatSurfaceCurrent::ProcessHits(), G4PSDoseDeposit::ProcessHits(), G4PSCylinderSurfaceFlux::ProcessHits(), G4PSCylinderSurfaceCurrent::ProcessHits(), G4PSCellFlux::ProcessHits(), G4PVDivision::SetParameterisation(), and G4GeomTestVolume::TestOneLine().

G4UserLimits* G4LogicalVolume::GetUserLimits (  )  const [inline]

Referenced by G4ReflectionFactory::CreateReflectedLV(), G4UserSpecialCuts::PostStepGetPhysicalInteractionLength(), G4StepLimiter::PostStepGetPhysicalInteractionLength(), MinEkineCuts::PostStepGetPhysicalInteractionLength(), and MaxTimeCuts::PostStepGetPhysicalInteractionLength().

const G4VisAttributes* G4LogicalVolume::GetVisAttributes (  )  const [inline]

Referenced by G4RayTrajectory::AppendStep(), G4ReflectionFactory::CreateReflectedLV(), G4PhysicalVolumeModel::DescribeAndDescend(), G4BuildGeom(), G4VVisCommandGeometrySet::SetLVVisAtts(), and G4VisCommandGeometryRestore::SetNewValue().

G4SmartVoxelHeader* G4LogicalVolume::GetVoxelHeader (  )  const [inline]

Referenced by G4GeometryManager::BuildOptimisations(), G4Navigator::ComputeSafety(), G4DrawVoxels::CreatePlacedPolyhedra(), G4GeometryManager::DeleteOptimisations(), G4RegularNavigation::LevelLocate(), G4ParameterisedNavigation::LevelLocate(), G4Navigator::LocateGlobalPointAndSetup(), and G4Navigator::LocateGlobalPointWithinVolume().

G4bool G4LogicalVolume::IsAncestor ( const G4VPhysicalVolume p  )  const

Definition at line 141 of file G4LogicalVolume.cc.

References fDaughters, and IsDaughter().

Referenced by G4WeightWindowStore::IsInWorld(), and G4IStore::IsInWorld().

Here is the call graph for this function:

G4bool G4LogicalVolume::IsDaughter ( const G4VPhysicalVolume p  )  const [inline]

Referenced by IsAncestor().

G4bool G4LogicalVolume::IsRegion (  )  const [inline]

Referenced by G4ReflectionFactory::CreateReflectedLV().

G4bool G4LogicalVolume::IsRootRegion (  )  const [inline]

Referenced by G4HepRepFileSceneHandler::AddHepRepInstance(), G4PhysicalVolumeModel::CreateCurrentAttValues(), G4FastTrack::FRecordsAffineTransformation(), G4HepRepSceneHandler::getGeometryInstance(), and G4ReflectionFactory::ReflectLV().

G4bool G4LogicalVolume::IsToOptimise (  )  const [inline]

Referenced by G4GeometryManager::BuildOptimisations().

G4LogicalVolume& G4LogicalVolume::operator= ( const G4LogicalVolume  )  [private]

G4bool G4LogicalVolume::operator== ( const G4LogicalVolume lv  )  const

void G4LogicalVolume::PropagateRegion (  )  [inline]

void G4LogicalVolume::RemoveDaughter ( const G4VPhysicalVolume p  )  [inline]

Referenced by G4PhysicalVolumeStore::DeRegister().

void G4LogicalVolume::SetBiasWeight ( G4double  w  )  [inline]

void G4LogicalVolume::SetFieldManager ( G4FieldManager pFieldMgr,
G4bool  forceToAllDaughters 
)

Definition at line 115 of file G4LogicalVolume.cc.

References fFieldManager, GetDaughter(), GetFieldManager(), G4VPhysicalVolume::GetLogicalVolume(), GetNoDaughters(), and SetFieldManager().

Referenced by SetFieldManager().

Here is the call graph for this function:

void G4LogicalVolume::SetMaterial ( G4Material pMaterial  )  [inline]

Referenced by G4LogicalVolume().

void G4LogicalVolume::SetMaterialCutsCouple ( G4MaterialCutsCouple cuts  )  [inline]

Referenced by G4ProductionCutsTable::ScanAndSetCouple().

void G4LogicalVolume::SetName ( const G4String pName  )  [inline]

Referenced by G4LogicalVolume().

void G4LogicalVolume::SetOptimisation ( G4bool  optim  )  [inline]

void G4LogicalVolume::SetRegion ( G4Region reg  )  [inline]

Referenced by G4RunManagerKernel::DefineWorldVolume(), and G4Region::ScanVolumeTree().

void G4LogicalVolume::SetRegionRootFlag ( G4bool  rreg  )  [inline]

Referenced by G4Region::AddRootLogicalVolume(), and G4Region::RemoveRootLogicalVolume().

void G4LogicalVolume::SetSensitiveDetector ( G4VSensitiveDetector pSDetector  )  [inline]

Referenced by G4LogicalVolume(), and G4ScoringBox::SetupGeometry().

void G4LogicalVolume::SetSmartless ( G4double  s  )  [inline]

void G4LogicalVolume::SetSolid ( G4VSolid pSolid  )  [inline]

Referenced by G4LogicalVolume(), G4ParameterisedNavigation::LevelLocate(), G4Navigator::LocateGlobalPointAndSetup(), and G4Navigator::SetupHierarchy().

void G4LogicalVolume::SetUserLimits ( G4UserLimits pULimits  )  [inline]

Referenced by G4LogicalVolume().

void G4LogicalVolume::SetVisAttributes ( const G4VisAttributes VA  ) 

Definition at line 278 of file G4LogicalVolume.cc.

References fVisAttributes.

void G4LogicalVolume::SetVisAttributes ( const G4VisAttributes pVA  )  [inline]

Referenced by G4BuildGeom(), G4GDMLBase::getTopVolume(), G4VisCommandGeometryRestore::SetNewValue(), and G4ScoringBox::SetupGeometry().

void G4LogicalVolume::SetVoxelHeader ( G4SmartVoxelHeader pVoxel  )  [inline]

Referenced by G4GeometryManager::BuildOptimisations(), and G4GeometryManager::DeleteOptimisations().

G4int G4LogicalVolume::TotalVolumeEntities (  )  const

Definition at line 163 of file G4LogicalVolume.cc.

References fDaughters.

void G4LogicalVolume::UpdateMaterial ( G4Material pMaterial  )  [inline]

Referenced by G4RegularNavigation::LevelLocate(), G4ParameterisedNavigation::LevelLocate(), G4Navigator::LocateGlobalPointAndSetup(), and G4Navigator::SetupHierarchy().


Member Data Documentation

G4double G4LogicalVolume::fBiasWeight [private]

Definition at line 330 of file G4LogicalVolume.hh.

G4MaterialCutsCouple* G4LogicalVolume::fCutsCouple [private]

Definition at line 328 of file G4LogicalVolume.hh.

G4PhysicalVolumeList G4LogicalVolume::fDaughters [private]

Definition at line 299 of file G4LogicalVolume.hh.

Referenced by GetMass(), IsAncestor(), and TotalVolumeEntities().

G4FieldManager* G4LogicalVolume::fFieldManager [private]

Definition at line 301 of file G4LogicalVolume.hh.

Referenced by SetFieldManager().

G4double G4LogicalVolume::fMass [private]

Definition at line 322 of file G4LogicalVolume.hh.

Referenced by GetMass().

G4Material* G4LogicalVolume::fMaterial [private]

Definition at line 303 of file G4LogicalVolume.hh.

Referenced by GetMass().

G4String G4LogicalVolume::fName [private]

Definition at line 305 of file G4LogicalVolume.hh.

Referenced by GetMass().

G4bool G4LogicalVolume::fOptimise [private]

Definition at line 315 of file G4LogicalVolume.hh.

G4Region* G4LogicalVolume::fRegion [private]

Definition at line 326 of file G4LogicalVolume.hh.

Referenced by ~G4LogicalVolume().

G4bool G4LogicalVolume::fRootRegion [private]

Definition at line 317 of file G4LogicalVolume.hh.

Referenced by ~G4LogicalVolume().

G4VSensitiveDetector* G4LogicalVolume::fSensitiveDetector [private]

Definition at line 307 of file G4LogicalVolume.hh.

G4double G4LogicalVolume::fSmartless [private]

Definition at line 319 of file G4LogicalVolume.hh.

G4VSolid* G4LogicalVolume::fSolid [private]

Definition at line 309 of file G4LogicalVolume.hh.

Referenced by GetMass().

G4UserLimits* G4LogicalVolume::fUserLimits [private]

Definition at line 311 of file G4LogicalVolume.hh.

const G4VisAttributes* G4LogicalVolume::fVisAttributes [private]

Definition at line 324 of file G4LogicalVolume.hh.

Referenced by SetVisAttributes().

G4SmartVoxelHeader* G4LogicalVolume::fVoxel [private]

Definition at line 313 of file G4LogicalVolume.hh.


The documentation for this class was generated from the following files:
Generated on Sat Apr 12 06:27:05 2008 for Geant4 by  doxygen 1.4.7