pyg4ometry.geant4.AssemblyVolume

Classes

AssemblyVolume

AssemblyVolume : similar to a logical volume but does not have a sense of

Module Contents

class pyg4ometry.geant4.AssemblyVolume.AssemblyVolume(name, registry=None, addRegistry=True)

AssemblyVolume : similar to a logical volume but does not have a sense of shape, material or field :param name: of assembly volume :type name: str :param registry: :type registry: :param addRegistry: :type addRegistry: bool

type = 'assembly'
name
daughterVolumes = []
_daughterVolumesDict
registry
overlapChecked = False
__repr__()
add(physicalVolume)
_getDaughterMeshesByName(name)
_getDaughterMeshesByIndex(index)
_getDaughterMeshes()

Get daughter meshes for overlap checking. return [daughterMesh,..],[daughterBoundingMesh,..][daughterName,…]

_getPVMeshes(pv)

Can technically return more than one mesh if the daughter is also an assembly.

_getPhysicalDaughterMesh(pv, warn=True)

Return a (cloned from the lv) mesh of a given pv with rotation,scale, translation evaluated.

clipGeometry(newSolid, rotation=(0, 0, 0), position=(0, 0, 0), runit='rad', punit='mm', replace=False, depth=0, solidUsageCount=_defaultdict(int), lvUsageCount=_defaultdict(int))

Clip the geometry to newSolid, placed with rotation and position.

extent(includeBoundingSolid=True)
depth(depth=0)

Depth for LV-PV tree

getAABBMesh()

return CSG.core (symmetric around the origin) axis aligned bounding box mesh

logicalVolume(material='G4_Galactic', solidName='worldSolid')

Return an logical volume of this this assembly volume, in effect adding a cuboid solid and material of this logical volume, retaining all of the relative daughter placements.

makeWorldVolume(material='G4_Galactic')
dumpStructure(depth=0)