Specifications



Class name:
G4GeometryManager

Category: Geometry
Documentation:
A class responsible for managing high level objects in
the geometrical
subsystem, notably including opening and closing
(`locking') the geometry, and creating/deleting
optimisation information for G4Navigator.

Export Control: Public
Cardinality: 1
Hierarchy:
Superclasses: none
Public Uses:
G4LogicalVolume

Public Interface:
Operations:
CloseGeometry (G4bool)
GetInstance ( )
OpenGeometry ( )

Private Interface:
Has-A Relationships:
G4GeometryManager fgInstance

Operations:
BuildOptimisations ( )
DeleteOptimisations ( )

State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
BuildOptimisations

Private member of: G4GeometryManager
Return Class: void
Documentation:
Build all necessary optimisation info. Currently
consists of looping over all defined logical volumes
and creating smart voxels.

Concurrency: Sequential



Operation name:
CloseGeometry

Public member of: G4GeometryManager
Return Class: G4bool
Arguments:
G4bool pOptimize=true
Documentation:
Close (`lock') the geometry: perform sanity and
`completion' checks, and optionally build optimisation
information.

Concurrency: Sequential



Operation name:
DeleteOptimisations

Private member of: G4GeometryManager
Return Class: void
Documentation:
Destroy any optimisation info created by
BuildOptimisations. Currently consists of looping over
all created logical volumes and deleting any smart
voxels.

Concurrency: Sequential



Operation name:
GetInstance

Public member of: G4GeometryManager
Return Class: G4GeometryManager*
Documentation:
Return ptr to the singleton geometry manager

Concurrency: Sequential



Operation name:
OpenGeometry

Public member of: G4GeometryManager
Return Class: void
Documentation:
Open (`unlock') the geometry and remove optimisation
information if present.

Concurrency: Sequential



Class name:
G4RotationMatrixStore

Category: Geometry
Documentation:
Responsible for storing and providing access to all
rotation matrices

Export Control: Public
Cardinality: 1
Hierarchy:
Superclasses: none
Private Interface:
Has-A Relationships:
G4RotationMatrixStore fgInstance
G4RotationMatrix frotationMatrices

State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4LogicalVolume

Category: Geometry
Documentation:
Represents a leaf node or unpositioned subtree in the
geometry hierarchy. It may have daughters ascribed to
it, and is responsible for retrieval of the physical
and tracking attributes of the physical volume that it
represents. [material, visualisation attribute,
solid..]

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Uses:
G4LogicalVolumeStore

Public Interface:
Operations:
AddDaughter (G4VPhysicalVolume*)
GetDaughter (G4int)
GetMagneticField ( )
GetMaterial ( )
GetName ( )
GetNoDaughters ( )
GetSensitiveDetector ( )
GetSolid ( )
GetUserLimits ( )
GetVoxelHeader ( )
IsDaughter (G4VPhysicalVolume*)
RemoveDaughter (G4VPhysicalVolume*)
SetMagneticField (G4MagneticField*)
SetMaterial (G4Material*)
SetName (G4String&)
SetSensitiveDetector (G4SensitiveDetector*)
SetSolid (G4VSolid)
SetUserLimits (G4UserLimits*)
SetVoxelHeader (G4VoxelHeader*)
operator== (const G4LogicalVolume)

Private Interface:
Has-A Relationships:
G4VPhysicalVolume fdaughters
The volumes positioned inside the logical
volume

G4MagneticField fmagneticField
G4Material fmaterial
G4String fname
G4SensitiveDetector fsensitive
Hit calculation

G4VSolid fsolid
G4UserLimits fuserLimits
G4SmartVoxelHeader fvoxel
Pure tracking optimisation information


State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
AddDaughter

Public member of: G4LogicalVolume
Arguments:
G4VPhysicalVolume* p
Concurrency: Sequential



Operation name:
GetDaughter

Public member of: G4LogicalVolume
Return Class: G4PhysicalVolume*
Arguments:
G4int n
Concurrency: Sequential



Operation name:
GetMagneticField

Public member of: G4LogicalVolume
Return Class: G4MagneticField*
Documentation:
Gets current magentic field

Concurrency: Sequential



Operation name:
GetMaterial

Public member of: G4LogicalVolume
Return Class: G4Material*
Documentation:
Gets current material

Concurrency: Sequential



Operation name:
GetName

Public member of: G4LogicalVolume
Return Class: G4String
Documentation:
Returns the name of the logical volume

Concurrency: Sequential



Operation name:
GetNoDaughters

Public member of: G4LogicalVolume
Return Class: G4int
Concurrency: Sequential



Operation name:
GetSensitiveDetector

Public member of: G4LogicalVolume
Return Class: G4SensitiveDetector*
Documentation:
Gets current sensitive detector

Concurrency: Sequential



Operation name:
GetSolid

Public member of: G4LogicalVolume
Return Class: G4VSolid*
Concurrency: Sequential



Operation name:
GetUserLimits

Public member of: G4LogicalVolume
Return Class: G4UserLimits*
Documentation:
Gets current user limits

Concurrency: Sequential



Operation name:
GetVoxelHeader

Public member of: G4LogicalVolume
Return Class: G4VoxelHeader*
Documentation:
Get current voxel header

Concurrency: Sequential



Operation name:
IsDaughter

Public member of: G4LogicalVolume
Return Class: G4bool
Arguments:
G4VPhysicalVolume* p
Concurrency: Sequential



Operation name:
RemoveDaughter

Public member of: G4LogicalVolume
Return Class: void
Arguments:
G4VPhysicalVolume* p
Concurrency: Sequential



Operation name:
SetMagneticField

Public member of: G4LogicalVolume
Return Class: void
Arguments:
G4MagneticField* pField
Documentation:
Stes magnetic field

Concurrency: Sequential



Operation name:
SetMaterial

Public member of: G4LogicalVolume
Return Class: void
Arguments:
G4Material* pMaterial
Documentation:
Sets material

Concurrency: Sequential



Operation name:
SetName

Public member of: G4LogicalVolume
Return Class: void
Arguments:
G4String& pName
Concurrency: Sequential



Operation name:
SetSensitiveDetector

Public member of: G4LogicalVolume
Return Class: void
Arguments:
G4SensitiveDetector* pSDetector
Documentation:
Sets sensitive detector

Concurrency: Sequential



Operation name:
SetSolid

Public member of: G4LogicalVolume
Arguments:
G4VSolid solid
Concurrency: Sequential



Operation name:
SetUserLimits

Public member of: G4LogicalVolume
Return Class: void
Arguments:
G4UserLimits* pULimits
Concurrency: Sequential



Operation name:
SetVoxelHeader

Public member of: G4LogicalVolume
Return Class: void
Arguments:
G4VoxelHeader* pVoxel
Documentation:
Sets current voxel header

Concurrency: Sequential



Operation name:
operator==

Public member of: G4LogicalVolume
Return Class: G4bool
Arguments:
const G4LogicalVolume &lv
Documentation:
Returns true if lv has the same address as the current
object.

Concurrency: Sequential



Class name:
G4MagneticField

Category: Geometry
Documentation:
Responsible for the magnetic field in each volume,
including the calculation of particle trajectories in
the field. In cases where a geometric
step limits the particle's step, the distance
calculated is guaranteed to be to a boundary.

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4UserLimits

Category: Geometry
Documentation:
Responsible for user limits on step size

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4LogicalVolumeStore

Category: Geometry
Documentation:
Responsible for storing and providing access to all
logical volumes

Export Control: Public
Cardinality: 1
Hierarchy:
Superclasses: none
Private Interface:
Has-A Relationships:
G4LogicalVolumeStore fgInstance
G4LogicalVolume fvolumes
The managed volumes



State machine: No
Concurrency: Sequential
Persistence: Transient




Class name:
G4Navigator

Category: Geometry
Documentation:
A class for use by the tracking management, able to
obtain/calculate dynamic tracking time information such
as the distance to the next volume, or to find the
physical volume containing agiven point in the world
reference system. The navigator maintains a
transformation history and other information to
optimise the tracking time performance.

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
ComputeLocalAxis (const G4ThreeVector&)
ComputeStep (G4ThreeVector, G4ThreeVector,
G4double, G4double)
CreateGRSSolid ( )
CreateGRSVolume ( )
CreateTouchableHistory ( )
GetCurrentLocalCoordinate ( )
GetCurrentLocalDirection ( )
GetWorldVolume ( )
LocateGlobalPointAndSetup (const G4ThreeVector&, G4bool)
LocateGlobalPointAndSetup (const G4ThreeVector&,
const G4TouchableHistory&)
NetRotation ( )
NetTranslation ( )
SetGeometricallyLimitedStep ( )
SetWorldVolume (G4VPhysicalVolume*)

Private Interface:
Has-A Relationships:
G4NavigationHistory fHistory
G4NormalNavigation fnormalNav
G4ParameterisedNavigation fparamNav
G4ReplicaNavigation freplicaNav
G4VPhysicalVolume ftopPhysical
A link to the topmost physical volume in
the detector. It must be positioned at
the origin and unrotated.


G4VoxelNavigation fvoxelNav

State machine: Yes
Concurrency: Sequential
Persistence: Transient



Operation name:
ComputeLocalAxis

Public member of: G4Navigator
Return Class: G4ThreeVector
Arguments:
const G4ThreeVector& pVec
Documentation:
Returns vector rotated into current local reference
system

Concurrency: Sequential



Operation name:
ComputeStep

Public member of: G4Navigator
Return Class: G4double
Arguments:
G4ThreeVector globalpoint
G4ThreeVector direction
G4double pCurrentProposedStepLength
G4double &newSafety
Documentation:
Calculate the distance to the next boundary intersected
along the specified NORMALISED vector direction and
from the specified point in the global coordiante
system. LocateGlobalPointAndSetup must have been
called with the same global point prior to this call.
The isotropic distance to the nearest boundary is also
calculated (usually an underesitmate). The current
proposed step length is used to avoid intersection
calculations: if it can be determined that the nearest
boundary is >pCurrentProposedStepLength away, kInfinity
is returned together with the computed isotropic safety
distance. Geometry must be closed.

Semantics:
Object diagram: Distance Computation

Concurrency: Sequential



Operation name:
CreateGRSSolid

Public member of: G4Navigator
Return Class: G4GRSSolid*
Documentation:
Returns touchable solid of current volume

Concurrency: Sequential



Operation name:
CreateGRSVolume

Public member of: G4Navigator
Return Class: G4GRSVolume*
Documentation:
Returns touchable version of current volume

Concurrency: Sequential



Operation name:
CreateTouchableHistory

Public member of: G4Navigator
Return Class: G4TouchableHistory*
Documentation:
Returns touchable of current volume, including
hierarchy all history information

Concurrency: Sequential



Operation name:
GetCurrentLocalCoordinate

Public member of: G4Navigator
Return Class: G4ThreeVector
Documentation:
Return the local coordinate of the current track,
realtive to its containing volume.

Concurrency: Sequential



Operation name:
GetCurrentLocalDirection

Public member of: G4Navigator
Return Class: G4ThreeVector
Documentation:
Return the `current' track's direction relative to its
containing physical volume

Concurrency: Sequential



Operation name:
GetWorldVolume

Public member of: G4Navigator
Return Class: G4VPhysicalVolume*
Documentation:
Return the current world (`topmost') volume

Concurrency: Sequential



Operation name:
LocateGlobalPointAndSetup

Public member of: G4Navigator
Return Class: G4PhysicalVolume*
Arguments:
const G4ThreeVector& p
G4bool pRelativeSearch=true
Documentation:
Search the geometrical hierarchy for the volumes
deepest in the hierarchy containing the point in the
global coordinate space. Makes use of no previous/state
information. Returns the physical volume containing the
point, with all previous mothers correctly setup. If
pRelativeSearch is set to true, the search begin is the
geometrical hierarchy at the location of the last
located point, or the endpoint of the previous step if
SetGeometricallyLimitedStep() has been called
immediately before. Geometry must be closed.

Semantics:
Object diagram: Point Location

Concurrency: Sequential



Operation name:
LocateGlobalPointAndSetup

Public member of: G4Navigator
Return Class: G4VPhysicalVolume*
Arguments:
const G4ThreeVector& globalPoint
const G4TouchableHistory& history
Documentation:
Locate a point in the hierarchy starting from the
`state'/position stored in the history

Concurrency: Sequential



Operation name:
NetRotation

Public member of: G4Navigator
Return Class: G4RotationMatrix
Documentation:
Returns current net rotation

Concurrency: Sequential



Operation name:
NetTranslation

Public member of: G4Navigator
Return Class: G4ThreeVector
Documentation:
Returns current net translation

Concurrency: Sequential



Operation name:
SetGeometricallyLimitedStep

Public member of: G4Navigator
Return Class: void
Documentation:
Inform the navigator that the previous step calculated
by the geometry was taken in its entirety

Concurrency: Sequential



Operation name:
SetWorldVolume

Public member of: G4Navigator
Return Class: G4bool
Arguments:
G4VPhysicalVolume* pWorld
Documentation:
Set the world (`topmost') volume. This must be
positioned at (0,0,0) and unrotated

Concurrency: Sequential



Class name:
G4NavigationHistory

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
BackLevel ( )
Clear ( )
GetDepth ( )
GetTopReplicaNo ( )
GetTopTransform ( )
GetTopVolume ( )
GetTopVolumeType ( )
NewLevel ( )
Reset ( )

State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
BackLevel

Public member of: G4NavigationHistory
Concurrency: Sequential



Operation name:
Clear

Public member of: G4NavigationHistory
Concurrency: Sequential



Operation name:
GetDepth

Public member of: G4NavigationHistory
Concurrency: Sequential



Operation name:
GetTopReplicaNo

Public member of: G4NavigationHistory
Concurrency: Sequential



Operation name:
GetTopTransform

Public member of: G4NavigationHistory
Concurrency: Sequential



Operation name:
GetTopVolume

Public member of: G4NavigationHistory
Concurrency: Sequential



Operation name:
GetTopVolumeType

Public member of: G4NavigationHistory
Concurrency: Sequential



Operation name:
NewLevel

Public member of: G4NavigationHistory
Concurrency: Sequential



Operation name:
Reset

Public member of: G4NavigationHistory
Concurrency: Sequential



Class name:
G4NormalNavigation

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
ComputeStep ( )
LevelLocate ( )

State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
ComputeStep

Public member of: G4NormalNavigation
Concurrency: Sequential



Operation name:
LevelLocate

Public member of: G4NormalNavigation
Concurrency: Sequential



Class name:
G4VoxelNavigation

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
ComputeStep ( )
LevelLocate ( )
VoxelLocate ( )

Private Interface:
Operations:
ComputeVoxelSafety ( )
LocateNextVoxel ( )
VoxelSubLevelSetup ( )

State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
ComputeStep

Public member of: G4VoxelNavigation
Concurrency: Sequential



Operation name:
ComputeVoxelSafety

Private member of: G4VoxelNavigation
Concurrency: Sequential



Operation name:
LevelLocate

Public member of: G4VoxelNavigation
Concurrency: Sequential



Operation name:
LocateNextVoxel

Private member of: G4VoxelNavigation
Concurrency: Sequential



Operation name:
VoxelLocate

Public member of: G4VoxelNavigation
Concurrency: Sequential



Operation name:
VoxelSubLevelSetup

Private member of: G4VoxelNavigation
Concurrency: Sequential



Class name:
G4ReplicaNavigation

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
BackLocate ( )
ComputeStep ( )
ComputeTransform ( )
DistanceToOut ( )
Inside ( )
LevelLocate ( )

Private Interface:
Operations:
DistanceToOutPhi ( )
DistanceToOutRad ( )
VoxelLocate ( )

State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
BackLocate

Public member of: G4ReplicaNavigation
Concurrency: Sequential



Operation name:
ComputeStep

Public member of: G4ReplicaNavigation
Concurrency: Sequential



Operation name:
ComputeTransform

Public member of: G4ReplicaNavigation
Concurrency: Sequential



Operation name:
DistanceToOut

Public member of: G4ReplicaNavigation
Concurrency: Sequential



Operation name:
DistanceToOutPhi

Private member of: G4ReplicaNavigation
Concurrency: Sequential



Operation name:
DistanceToOutRad

Private member of: G4ReplicaNavigation
Concurrency: Sequential



Operation name:
Inside

Public member of: G4ReplicaNavigation
Concurrency: Sequential



Operation name:
LevelLocate

Public member of: G4ReplicaNavigation
Concurrency: Sequential



Operation name:
VoxelLocate

Private member of: G4ReplicaNavigation
Concurrency: Sequential



Class name:
G4ParameterisedNavigation

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
ComputeStep ( )
LevelLocate ( )
VoxelLocate ( )

Private Interface:
Operations:
ComputeVoxelSafety ( )
LocateNextVoxel ( )

State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
ComputeStep

Public member of: G4ParameterisedNavigation
Concurrency: Sequential



Operation name:
ComputeVoxelSafety

Private member of: G4ParameterisedNavigation
Concurrency: Sequential



Operation name:
LevelLocate

Public member of: G4ParameterisedNavigation
Concurrency: Sequential



Operation name:
LocateNextVoxel

Private member of: G4ParameterisedNavigation
Concurrency: Sequential



Operation name:
VoxelLocate

Public member of: G4ParameterisedNavigation
Concurrency: Sequential



Class name:
G4VPhysicalVolume

Category: Geometry
Documentation:
Represents one or many volumes positioned within and
relative to a mother volume.

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
GetCopyNo ( )
GetLogicalVolume ( )
GetMother ( )
GetName ( )
GetParameterisation ( )
GetReplicationData (EAxis&, G4int&, G4double&,
G4double&, G4bool&)
GetRotation ( )
GetRotation ( )
GetTranslation ( )
IsMany ( )
IsReplicated ( )
SetLogicalVolume (G4LogicalVolume*)
SetMother (G4VPhysicalVolume*)
SetName (G4String&)
SetRotation (G4RotationMatrix*)
SetTranslation (const G4ThreeVector&)
Setup (G4VPhysicalVolume*)
operator== (const G4VPhysicalVolume)

Private Interface:
Has-A Relationships:
G4LogicalVolume flogical
The logical volume representing the
physical and tracking attributes of the
volume

G4VPhysicalVolume fmother
The current mother volume

G4String fname
G4RotationMatrix frot
G4ThreeVector ftrans

State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
GetCopyNo

Public member of: G4VPhysicalVolume
Return Class: G4int
Documentation:
Return the copy number of the volume

Concurrency: Sequential



Operation name:
GetLogicalVolume

Public member of: G4VPhysicalVolume
Return Class: G4LogicalVolume*
Documentation:
Return the logical volume (subtree) that is positioned.

Concurrency: Sequential



Operation name:
GetMother

Public member of: G4VPhysicalVolume
Return Class: G4VPhysicalVolume*
Documentation:
Return the volumes *currently active* mother

Concurrency: Sequential



Operation name:
GetName

Public member of: G4VPhysicalVolume
Return Class: G4String
Documentation:
Returns the volume's name

Concurrency: Sequential



Operation name:
GetParameterisation

Public member of: G4VPhysicalVolume
Return Class: G4VPVParameterisation*
Documentation:
Returns parameterisation object

Concurrency: Sequential



Operation name:
GetReplicationData

Public member of: G4VPhysicalVolume
Arguments:
EAxis& axis
G4int& nReplicas
G4double& width
G4double& offset
G4bool& consuming
Documentation:
Returns information about replication: axis, no of
replications, width, offset, and whether consuming
(completely filling the mother volume)

Concurrency: Sequential



Operation name:
GetRotation

Public member of: G4VPhysicalVolume
Return Class: const G4RotationMatrix*
Documentation:
Returns current rotation matrix (possbily null =>
no/identity rotation)

Concurrency: Sequential



Operation name:
GetRotation

Public member of: G4VPhysicalVolume
Return Class: G4RotationMatrix*
Documentation:
Returns (non const) ptr to current rotation

Concurrency: Sequential



Operation name:
GetTranslation

Public member of: G4VPhysicalVolume
Return Class: const G4ThreeVector&
Documentation:
Returns current translation

Concurrency: Sequential



Operation name:
IsMany

Public member of: G4VPhysicalVolume
Return Class: G4bool
Documentation:
Returns true if the volume is MANY

Concurrency: Sequential



Operation name:
IsReplicated

Public member of: G4VPhysicalVolume
Return Class: G4bool
Documentation:
Returns true if volume represents many touchables

Concurrency: Sequential



Operation name:
SetLogicalVolume

Public member of: G4VPhysicalVolume
Arguments:
G4LogicalVolume* pLogical
Concurrency: Sequential



Operation name:
SetMother

Public member of: G4VPhysicalVolume
Arguments:
G4VPhysicalVolume* pMother
Concurrency: Sequential



Operation name:
SetName

Public member of: G4VPhysicalVolume
Arguments:
G4String& pName
Concurrency: Sequential



Operation name:
SetRotation

Public member of: G4VPhysicalVolume
Return Class: void
Arguments:
G4RotationMatrix* pRot
Documentation:
Set current rotation matrix ptr

Concurrency: Sequential



Operation name:
SetTranslation

Public member of: G4VPhysicalVolume
Return Class: void
Arguments:
const G4ThreeVector& v
Concurrency: Sequential



Operation name:
Setup

Public member of: G4VPhysicalVolume
Return Class: void
Arguments:
G4VPhysicalVolume* pMother
Documentation:
Calculate the mother-> local (self) transformation for
the volume, and perform any necessary setup.

Concurrency: Sequential



Operation name:
operator==

Public member of: G4VPhysicalVolume
Return Class: G4bool
Arguments:
const G4VPhysicalVolume &p
Documentation:
Returns true if objects have same address

Concurrency: Sequential



Class name:
G4PVPlacement

Category: Geometry
Documentation:
A physical volume corresponding to a single touchable
detector element.

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VPhysicalVolume
Private Interface:
Has-A Relationships:
G4int fcopyNo
For (users) unique identification

G4bool fmany
Flag for booleans


State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4PVReplica

Category: Geometry
Documentation:
Represents many touchable detector elements differing
only in their
positioning. The elements' positions are calculated by
means of a simple
linear formula, and the elements completely fill the
containing mother volume.

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VPhysicalVolume
Private Interface:
Has-A Relationships:
EAxis faxis
The axis along which replication occurs

G4int fnReplicas
The number of replications

G4double foffset
The offset of the first replication along
the axis (only required for phi
replication)

G4double fwidth
The width of each replication along the
axis


State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4PVIndexed

Category: Geometry
Documentation:
A volume able to perform simple changes to its shape
and representing
a single touchable detector element. [Corresponds to
GSPOSP]

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4PVPlacement
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4PVParameterised

Category: Geometry
Documentation:
Represnts many touchable detector elements. Each
element's position is
calculated as per G4PVDivision, and each element's
shape can be modified by means of a user supplied
formula.

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4PVReplica
Private Interface:
Has-A Relationships:
G4VPVParameterisation fparam
The parameterisation object


State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4VPVParameterisation

Category: Geometry
Documentation:
Parameterisation class able to tcompute the
transformation and (indirectly) the dimensions of
parameterised volumes, given a replication number.

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
ComputeDimensions (G4Box&, G4int,
G4VPhysicalVolume*)
ComputeDimensions (G4Tubs&, G4int,
G4VPhysicalVolume*)
ComputeTransformation (G4Transform&, G4int)

State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
ComputeDimensions

Public member of: G4VPVParameterisation
Arguments:
G4Box& pBox
G4int n
G4VPhysicalVolume* pRep
Documentation:
Compute the dimensions of the G4Box of given
replication number and (parameterised) physical volume.

Concurrency: Sequential



Operation name:
ComputeDimensions

Public member of: G4VPVParameterisation
Arguments:
G4Tubs& pTubs
G4int n
G4VPhysicalVolume* pRep
Documentation:
Compute the dimensions of the G4Tubs of given
replication number and (parameterised) physical volume.

Concurrency: Sequential



Operation name:
ComputeTransformation

Public member of: G4VPVParameterisation
Arguments:
G4Transform& pTrans
G4int n
Documentation:
Compute the transformation of the specified
replication

Concurrency: Sequential
The parameterisation object




Class name:
MyCustomG4PVParameterisation

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VPVParameterisation
State machine: No
Concurrency: Sequential
Persistence: Transient
The volumes positioned inside the logical volume

The logical volume representing the physical and tracking
attributes of the volume



Class name:
G4Box

Category: Geometry
Documentation:
A cuboid of given half lengths dx dy dz. The box is
centred on the origin with sides parallel to the x/y/z
axes appropriately.

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSolid
Public Interface:
Operations:
G4Box (const G4String, G4double, G4double, G4double)

Protected Interface:
Operations:
CalculateRotatedVertices (const G4Transform)

Private Interface:
Has-A Relationships:
G4double fDx
The x half-length

G4double fDy
The y half-length

G4double fDz
The z half-length


State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
CalculateRotatedVertices

Protected member of: G4Box
Return Class: G4ThreeVectorList*
Arguments:
const G4Transform &pTransform
Documentation:
Create the list of transformed vertices in the format
required for G4VSolid::ClipCrossSection and
ClipBetweenSections

Concurrency: Sequential



Operation name:
G4Box

Public member of: G4Box
Arguments:
const G4String &pName
G4double pX
G4double pY
G4double pZ
Documentation:
Construct a box with the given name and half lengths.

Concurrency: Sequential



Class name:
G4Tubs

Category: Geometry
Documentation:
A tube or tube segment with curved sides parallel to
the z-axis. The tube has a specified half-length along
the z axis, about which it is centred, and a given
minimum and maximum radius. A minimum radius of 0
signifies a filled tube /cylinder. The tube segment is
specified by starting and delta
angles for phi, with 0 being the +x axis, 90 or PI/2
the +z axis. A delta angle of 360 or 2PI signifies a
complete, unsegmented tube/cylinder.

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSolid
Public Interface:
Operations:
G4Tubs (const G4String, G4double, G4double,
G4double, G4double, G4bool)

Protected Interface:
Operations:
CalculateRotatedVertices (const G4Transform)

Private Interface:
Has-A Relationships:
G4double fDPhi
The delta angle in radians. 2PI if the
tube is unsegmented.

G4double fDz
The z half-length

G4double fRMax
The maximum radius

G4double fRMin
The minimum radius

G4double fSPhi
The starting phi angle in radians,
adjusted such the fSPhi+fDPhi-2PI


State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
CalculateRotatedVertices

Protected member of: G4Tubs
Return Class: G4ThreeVectorList*
Arguments:
const G4Transform &pTransform
Documentation:
Create the list of transformed vertices in the format
required for G4VSolid::ClipCrossSection and
ClipBetweenSections. Perform this by fitting a mesh
around the tube.

Concurrency: Sequential



Operation name:
G4Tubs

Public member of: G4Tubs
Arguments:
const G4String &pName
G4double pRMin
G4double pRMax
G4double pDz
G4double pDPhi
G4bool pRadians=false
Documentation:
Constrcut a tubs with the given name and dimensions. If
pRadians=true, the angles are provided is radians, else
degrees are assumed. The angles are converted to
radians internally.

Concurrency: Sequential



Class name:
G4HalfSpaceSolid

Category: Geometry
Documentation:
A solid created by the boolean AND of 1 or more half
space surfaces

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSolid
Public Interface:
Has-A Relationships:
G4VHalfSpaceSurface

State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4BREPSolid

Category: Geometry
Documentation:
A solid creted by an abitrary set of finite surfaces

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSolid
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4Torus

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSolid
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4Trd

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSolid
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4Cons

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSolid
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4Sphere

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSolid
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4Trap

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSolid
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4GTra

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSolid
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4VHalfSpaceSurface

Category: Geometry
Documentation:
A mathemetical surface, possibly infinite, with the
space on given side defined as being `inside'

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4HalfSpacePlane

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VHalfSpaceSurface
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4VSweptSolid

Category: Geometry
Documentation:
A solid created by performing a 3D transformation on a
finite planar face

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSolid
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4ExtrudedSolid

Category: Geometry
Documentation:
A solid generated by extruding a planar face along a
specified axis

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSweptSolid
Private Interface:
Has-A Relationships:
G4PlanarFace

State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4RotatedSolid

Category: Geometry
Documentation:
A solid generated by rotating a planar face about a
specified axis

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VSweptSolid
Private Interface:
Has-A Relationships:
G4PlanarFace

State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4HalfSpaceSpherical

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VHalfSpaceSurface
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4HalfSpaceConical

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VHalfSpaceSurface
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4HalfSpaceCylindrical

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: G4VHalfSpaceSurface
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4PlanarFace

Category: Geometry
Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4SolidStore

Category: Geometry
Documentation:
Responsible for storing and providing access to all
solids

Export Control: Public
Cardinality: 1
Hierarchy:
Superclasses: none
Private Interface:
Has-A Relationships:
G4SolidStore fgInstance
G4VSolid fsolids

State machine: No
Concurrency: Sequential
Persistence: Transient



Class name:
G4VSolid

Category: Geometry
Documentation:
Represents position independent geomeetrical entities,
having
only a `shape'

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Uses:
G4SolidStore
G4VoxelLimits

Public Interface:
Operations:
CalculateExtent (const EAxis, const G4VoxelLimits&,
const G4Transform&, G4double&, G4double&)
ComputeDimensions ( )
DistanceToIn (const G4ThreeVector&)
DistanceToIn (const G4ThreeVector&,
const G4ThreeVector&)
DistanceToOut (const G4ThreeVector&)
DistanceToOut (const G4ThreeVector&,
const G4ThreeVector&, const G4bool,
G4bool*, G4ThreeVector*)
G4VSolid (const G4String)
Inside (const G4ThreeVector&)
SurfaceNormal (const G4ThreeVector&)
operator== (const G4VSolid)
~G4VSolid ( )

Protected Interface:
Operations:
CalculateClippedPolygonExtent (G4ThreeVectorList&,
const G4VoxelLimits, const EAxis,
G4double, G4double)
ClipBetweenSections (G4ThreeVectorList,
const G4int, const G4VoxelLimits&,
const EAxis, G4double, G4double)
ClipCrossSection (G4ThreeVectorList, const G4int,
const G4VoxelLimits, const EAxis,
G4double, G4double)
ClipPolygon (G4ThreeVectorList, const G4VoxelLimits)

Private Interface:
Has-A Relationships:
G4String fname

Operations:
ClipPolygonToSimpleLimits (G4ThreeVectorList,
G4ThreeVectorList, const G4VoxelLimits)

State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
CalculateClippedPolygonExtent

Protected member of: G4VSolid
Return Class: void
Arguments:
G4ThreeVectorList& &pPolygon
const G4VoxelLimits &pVoxelLimit
const EAxis pAxis
G4double &pMin
G4double &pMax
Documentation:
Calculate the maximum and minimum extents of the convex
polygon pPolygon along the axis pAxis, within the
limits pVoxelLimit.

If the minimum is pMax, pMax is set to the new
maximum.

Modifications to pPolygon ARE made - it is left in an
undefined state.

Concurrency: Sequential



Operation name:
CalculateExtent

Public member of: G4VSolid
Return Class: G4bool
Arguments:
const EAxis pAxis
const G4VoxelLimits& pVoxelLimit
const G4Transform& pTransform
G4double& pMin
G4double& pMax
Documentation:
Calculate the minimum and maximum extent of the solid,
when under the specified transform, and within the
specified limits. If the solid does is not intersected
by the region, return false, else return true.

Concurrency: Sequential



Operation name:
ClipBetweenSections

Protected member of: G4VSolid
Return Class: void
Arguments:
G4ThreeVectorList *pVertices
const G4int pSectionIndex
const G4VoxelLimits& &pVoxelLimit
const EAxis pAxis
G4double &pMin
G4double &pMax
Documentation:
Calculate the maximum and minimum extents of the
polygon joining the CrossSections at
pSectionIndex->pSectionIndex+3 and
pSectionIndex+4->pSectionIndex+7 in the list pVertices,
within the boundaries of the voxxel limits pVoxelLimit.

If the minimum is pMax, pMax is set to the new
maximum.

No modifications are made to pVertices.

Concurrency: Sequential



Operation name:
ClipCrossSection

Protected member of: G4VSolid
Return Class: void
Arguments:
G4ThreeVectorList *pVertices
const G4int pSectionIndex
const G4VoxelLimits &pVoxelLimit
const EAxis pAxis
G4double &pMin
G4double &pMax
Documentation:
Calculate the maximum and minimum extents of the
polygon described by the vertices: pSectionIndex->
pSectionIndex+1 ->pSectionIndex+3 -> pSectionIndex in
the list pVertices.

If the minimum is pMax, pMax is set to the
new maximum.

No modifications are made to pVertices.

Concurrency: Sequential



Operation name:
ClipPolygon

Protected member of: G4VSolid
Return Class: void
Arguments:
G4ThreeVectorList &pPolygon
const G4VoxelLimits &pVoxelLimit
Documentation:
Clip the specified convex polygon to the given limits,
where the polygon is described by the vertices at
(0),(1),...,(n),(0) in pPolygon.

If the polygon is completely clipped away, the polygon
is cleared.

Concurrency: Sequential



Operation name:
ClipPolygonToSimpleLimits

Private member of: G4VSolid
Return Class: void
Arguments:
G4ThreeVectorList &pPolygon
G4ThreeVectorList &outputPolygon
const G4VoxelLimits &pVoxelLimit
Documentation:
Clip the specified convex polygon to the given limits,
storing the result in outputPolygon. The voxel limits
must be limits in one plane only - this is achieve by
having only x or y or z limits, and either the minimum
or maximum limit set yo 0+kInfinity respectively.

Concurrency: Sequential



Operation name:
ComputeDimensions

Public member of: G4VSolid
Documentation:
By using the paramterisation object, compute the
dimensions of the solid for the given replication
number. Dispatches to the relevant ComputeDimensions
function of the replication object, so that the
replication object obtains type of solid

Concurrency: Sequential



Operation name:
DistanceToIn

Public member of: G4VSolid
Return Class: G4double
Arguments:
const G4ThreeVector& p
const G4ThreeVector& v
Documentation:
Return distance along the normalised vector v to the
shape, from the point at offset p. If there is no
intersection, return kInfinity. The first intersection
resulting from `leaving' a surface/volume is discarded.
Henacs, tolerant ofpoints on surface of shape.

Concurrency: Sequential



Operation name:
DistanceToIn

Public member of: G4VSolid
Return Class: G4double
Arguments:
const G4ThreeVector& p
Documentation:
Calculate distance to nearest surface of shape from an
outside point. The distance can be an underestimate.

Concurrency: Sequential



Operation name:
DistanceToOut

Public member of: G4VSolid
Return Class: G4double
Arguments:
const G4ThreeVector& p
const G4ThreeVector& v
const G4bool calcNorm=false
G4bool* validNorm=0
G4ThreeVector* n=0
Documentation:
Return distance along the nomalised vector v to the
shape, from a point at an offset p inside or on the
surface of the shape. Intersections with surfaces, with
the point is *
Arguments:
G4LogicalVolume* pVolume
G4VoxelLimits pLimits
const G4VolumeNosVector *pCandidates
EAxis pAxis
Documentation:
Compute the best axis for slicing at the current depth,
within the current limits, and build the corresponding
nodes.

Concurrency: Sequential



Operation name:
BuildVoxels

Protected member of: G4SmartVoxelHeader
Return Class: void
Arguments:
G4LogicalVolume* pVolume
G4VoxelLimits pLimits
const G4VolumeNosVector *pCandidates
Documentation:
Build and redine voxels between specified limits,
considering only the physical volumes `pCandidates'

Semantics:
Object diagram: Voxel Construction (G4VoxelHeader::BuildVoxels)

Concurrency: Sequential



Operation name:
CalculateQuality

Protected member of: G4SmartVoxelHeader
Return Class: G4double
Arguments:
G4ProxyVector *pSlice
Documentation:
Calculate the "quality value" for the specified vector
of voxels. The value returned should be >0 and such
that the smaller the number the higher the quality of
the slice. pSlice must consist of SmartVoxelNodeProxies
only

Concurrency: Sequential



Operation name:
CollectEquivalentHeaders

Protected member of: G4SmartVoxelHeader
Return Class: void
Documentation:
Collect common headers, deleting all but one to save
memory, and adjust stored slice ptrs appropriately

Concurrency: Sequential



Operation name:
CollectEquivalentNodes

Protected member of: G4SmartVoxelHeader
Return Class: void
Documentation:
Coolect common nodes, deleting all butone to save
memory, and adjusting stored slice ptrs.

Concurrency: Sequential



Operation name:
G4SmartVoxelHeader

Public member of: G4SmartVoxelHeader
Arguments:
G4LogicalVolume *pVolume
const G4int pSlice=0
Documentation:
Constructor for topmost header, to begin voxel
construction at a given logical volume.

Semantics:
Object diagram: Voxel Construction

Concurrency: Sequential



Operation name:
G4SmartVoxelHeader

Protected member of: G4SmartVoxelHeader
Arguments:
G4LogicalVolume *pVolume
const G4VoxelLimits &pLimits
G4VolumeNosVector *pCandidates
G4int pSlice=0
Concurrency: Sequential



Operation name:
GetAxis

Public member of: G4SmartVoxelHeader
Return Class: EAxis
Documentation:
Return the current division axis

Concurrency: Sequential



Operation name:
GetMaxEquivalentSliceNo

Public member of: G4SmartVoxelHeader
Return Class: G4int
Documentation:
Return the max equivalents slice no

Concurrency: Sequential



Operation name:
GetMaxExtent

Public member of: G4SmartVoxelHeader
Return Class: G4double
Documentation:
Return the maximum coordinate limit along the current
axis

Concurrency: Sequential



Operation name:
GetMinEquivalentSliceNo

Public member of: G4SmartVoxelHeader
Return Class: G4int
Documentation:
Returns the minimum equivalent slice no

Concurrency: Sequential



Operation name:
GetMinExtent

Public member of: G4SmartVoxelHeader
Return Class: G4double
Documentation:
Return the minimum coordinate limit along the current
axis

Concurrency: Sequential



Operation name:
GetNoSlices

Public member of: G4SmartVoxelHeader
Return Class: G4int
Documentation:
Return the no of slices along the current axis

Concurrency: Sequential



Operation name:
GetSlice

Public member of: G4SmartVoxelHeader
Return Class: G4VSmartVoxelProxy*
Arguments:
G4int n
Documentation:
Return ptr to the proxy for the nth slice (numbering
from 0, no bounds checking)

Concurrency: Sequential



Operation name:
RefineNodes

Protected member of: G4SmartVoxelHeader
Return Class: void
Arguments:
G4LogicalVolume *pVolume
G4VoxelLimits pLimits
Documentation:
Examine each contained node, refine (create a
replacement additional dimension of voxels) when there
is more than one voxel in the slice.

Concurrency: Sequential



Operation name:
SetMaxEquivalentSliceNo

Public member of: G4SmartVoxelHeader
Arguments:
G4int pSlice
Documentation:
Sets the maximum equivalent sliceno

Concurrency: Sequential



Operation name:
SetMinEquivalentSliceNo

Public member of: G4SmartVoxelHeader
Arguments:
G4int pSlice
Documentation:
Stes the minimum equivalent slice no

Concurrency: Sequential



Operation name:
operator==

Public member of: G4SmartVoxelHeader
Return Class: G4bool
Arguments:
const G4SmartVoxelHeader &pHead
Documentation:
Equality operator. Return true if the contents of the
headers (and their related nodes/headers) are equal.

Concurrency: Sequential



Operation name:
~G4SmartVoxelHeader

Public member of: G4SmartVoxelHeader
Documentation:
Destroy header and underlying nodes/headers

Concurrency: Sequential



Class name:
G4SmartVoxelProxy

Category: Geometry
Documentation:
A class for proxying for either smart voxel headers or
nodes. Get functionality is provided proxy type
checking: GetHeader fails when proxying for a node.

Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
G4SmartVoxelProxy (G4SmartVoxelHeader)
G4SmartVoxelProxy (G4SmartVoxelNode)
GetHeader ( )
GetNode ( )
IsHeader ( )
IsNode ( )

Private Interface:
Has-A Relationships:
G4SmartVoxelHeader fheader
G4SmartVoxelNode fnode

State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
G4SmartVoxelProxy

Public member of: G4SmartVoxelProxy
Arguments:
G4SmartVoxelHeader *pHeader
Documentation:
Proxy for the specifed header

Concurrency: Sequential



Operation name:
G4SmartVoxelProxy

Public member of: G4SmartVoxelProxy
Arguments:
G4SmartVoxelNode *pNode
Documentation:
Proxy for the psicifed node

Concurrency: Sequential



Operation name:
GetHeader

Public member of: G4SmartVoxelProxy
Documentation:
Return ptr to Header if proxying for a header, else
call G4Exception

Concurrency: Sequential



Operation name:
GetNode

Public member of: G4SmartVoxelProxy
Documentation:
Return ptr to node if proxying for a node, else call
G4Exception

Concurrency: Sequential



Operation name:
IsHeader

Public member of: G4SmartVoxelProxy
Return Class: G4bool
Documentation:
Returns true if proxying for a header

Concurrency: Sequential



Operation name:
IsNode

Public member of: G4SmartVoxelProxy
Return Class: G4bool
Documentation:
Returns ture if proxying for a node

Concurrency: Sequential



Class name:
G4SmartVoxelNode

Category: Geometry
Documentation:
A single virtual division, containing the physical
volumes inside
its boundaries and those of its parents


Export Control: Public
Cardinality: n
Hierarchy:
Superclasses: none
Public Interface:
Operations:
GetContents ( )
GetMaxEquivalentSliceNo ( )
GetMinEquivalentSliceNo ( )
GetNoContained ( )
Insert ( )
IsRefined ( )
SetMaxEquivalentSliceNo (G4int)
SetMinEquivalentSliceNo (G4int)

Private Interface:
Has-A Relationships:
G4int fcontents
G4int fmaxEquivalent
The maximum equivalent slice no

G4int fminEquivalent
The minimum equivalent slice no


State machine: No
Concurrency: Sequential
Persistence: Transient



Operation name:
GetContents

Public member of: G4SmartVoxelNode
Documentation:
Return the contents of the virtual slice

Concurrency: Sequential



Operation name:
GetMaxEquivalentSliceNo

Public member of: G4SmartVoxelNode
Documentation:
Returns greatest slice no of neighbouring slices with
same contents

Concurrency: Sequential



Operation name:
GetMinEquivalentSliceNo

Public member of: G4SmartVoxelNode
Documentation:
Returns smallest slice no of neighbouring slices with
same contents

Concurrency: Sequential



Operation name:
GetNoContained

Public member of: G4SmartVoxelNode
Return Class: G4int
Documentation:
Return no of volumes contained by the node

Concurrency: Sequential



Operation name:
Insert

Public member of: G4SmartVoxelNode
Documentation:
Add a physical volume to the nodes contents

Concurrency: Sequential



Operation name:
IsRefined

Public member of: G4SmartVoxelNode
Return Class: G4bool
Documentation:
Return true if the specified node is sufficiently
refined (pEnd to the volume
described by the current limits. Return true if theline
remains after clipping, else false, and leave the
vectors in an undefined state.

Concurrency: Sequential



Operation name:
G4VoxelLimits

Public member of: G4VoxelLimits
Documentation:
Constructor. Initialise to be unlimited

Concurrency: Sequential



Operation name:
GetMaxExtent

Public member of: G4VoxelLimits
Return Class: G4double
Arguments:
EAxis pAxis
Documentation:
Return maximum limit along specified axis, kInfinity if
not limited

Concurrency: Sequential



Operation name:
GetMaxXExtent

Public member of: G4VoxelLimits
Concurrency: Sequential



Operation name:
GetMaxYExtent

Public member of: G4VoxelLimits
Concurrency: Sequential



Operation name:
GetMaxZExtent

Public member of: G4VoxelLimits
Concurrency: Sequential



Operation name:
GetMinExtent

Public member of: G4VoxelLimits
Return Class: G4double
Arguments:
EAxis pAxis
Documentation:
Return minimum limit along specified axis, kInifinty if
not limited

Concurrency: Sequential



Operation name:
GetMinXExtent

Public member of: G4VoxelLimits
Concurrency: Sequential



Operation name:
GetMinYExtent

Public member of: G4VoxelLimits
Concurrency: Sequential



Operation name:
GetMinZExtent

Public member of: G4VoxelLimits
Concurrency: Sequential



Operation name:
Inside

Public member of: G4VoxelLimits
Return Class: G4bool
Arguments:
G4ThreeVector& pVec
Documentation:
Return true if the specified vector is inside/on
boundaries of limits

Concurrency: Sequential



Operation name:
IsLimited

Public member of: G4VoxelLimits
Return Class: G4bool
Arguments:
EAxis PAxis
Documentation:
Returns true if specified axis is limited

Concurrency: Sequential



Operation name:
IsLimited

Public member of: G4VoxelLimits
Return Class: G4bool
Documentation:
Returns true if any axis is limited

Concurrency: Sequential



Operation name:
IsXLimited

Public member of: G4VoxelLimits
Return Class: G4bool
Concurrency: Sequential



Operation name:
IsYLimited

Public member of: G4VoxelLimits
Return Class: G4bool
Concurrency: Sequential



Operation name:
IsZLimited

Public member of: G4VoxelLimits
Return Class: G4bool
Concurrency: Sequential



Operation name:
OutCode

Public member of: G4VoxelLimits
Return Class: G4int
Arguments:
const G4ThreeVector& pVec
Documentation:
Calculate the `outcode' for the specified vector.
Intended for use during clipping against the limits.
The bits are set given the following conditions:

0 pVec.x()fxAxisMax && IsXlimited()

and similarly 2-3 for y and 4-5 for z limits

Concurrency: Sequential