pyg4ometry.fluka.body¶
Set of classes for FLUKA bodies.
Classes¶
Rectangular Parallelepiped |
|
General Rectangular Parallelepiped |
|
Sphere |
|
Right Circular Cylinder |
|
Right Elliptical Cylinder |
|
Truncated Right-angled Cone |
|
Ellipsoid of Revolution |
|
Right Angle Wedge |
|
Base class representing a body as defined in FLUKA |
|
Arbitrary Convex Polyhedron |
|
Infinite half-space delimited by the x-y plane (perpendicular to the z-axis) |
|
Infinite half-space delimited by the x-y plane (perpendicular to the y-axis) |
|
Infinite half-space delimited by the x-y plane (perpendicular to the x-axis) |
|
Infinite half-space delimited by the x-y plane (perpendicular to the z-axis) Generic infinite half-space. |
|
Infinite Circular Cylinder parallel to the x-axis |
|
Infinite Circular Cylinder parallel to the y-axis |
|
Infinite Circular Cylinder parallel to the z-axis |
|
Infinite Elliptical Cylinder parallel to the x-axis |
|
Infinite Elliptical Cylinder parallel to the y-axis |
|
Infinite Elliptical Cylinder parallel to the z-axis |
|
Generic quadric |
Module Contents¶
- class pyg4ometry.fluka.body.RPP(name, xmin, xmax, ymin, ymax, zmin, zmax, transform=None, flukaregistry=None, addRegistry=True, comment='')¶
Bases:
BodyMixinRectangular Parallelepiped
- Parameters:
- name¶
- lower¶
- upper¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- lengths()¶
- geant4Solid(reg, aabb=None)¶
- __repr__()¶
- _withLengthSafety(safety, reg)¶
- flukaFreeString()¶
- hash()¶
- class pyg4ometry.fluka.body.BOX(name, vertex, edge1, edge2, edge3, transform=None, flukaregistry=None, addRegistry=True, comment='')¶
Bases:
BodyMixinGeneral Rectangular Parallelepiped
- Parameters:
- name¶
- vertex¶
- edge1¶
- edge2¶
- edge3¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- lengths()¶
- geant4Solid(greg, aabb=None)¶
- __repr__()¶
- _withLengthSafety(safety, reg)¶
- flukaFreeString()¶
- hash()¶
- class pyg4ometry.fluka.body.SPH(name, point, radius, transform=None, flukaregistry=None, comment='')¶
Bases:
BodyMixinSphere
- Parameters:
- name¶
- point¶
- radius¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- geant4Solid(reg, aabb=None)¶
- __repr__()¶
- _withLengthSafety(safety, reg)¶
- flukaFreeString()¶
- hash()¶
- class pyg4ometry.fluka.body.RCC(name, face, direction, radius, transform=None, flukaregistry=None, comment='')¶
Bases:
BodyMixinRight Circular Cylinder
- Parameters:
- name¶
- face¶
- direction¶
- radius¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- geant4Solid(reg, aabb=None)¶
- __repr__()¶
- _withLengthSafety(safety, reg)¶
- flukaFreeString()¶
- hash()¶
- class pyg4ometry.fluka.body.REC(name, face, direction, semiminor, semimajor, transform=None, flukaregistry=None, comment='')¶
Bases:
BodyMixinRight Elliptical Cylinder
- Parameters:
- name¶
- face¶
- direction¶
- semiminor¶
- semimajor¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- geant4Solid(reg, aabb=None)¶
- __repr__()¶
- _withLengthSafety(safety, reg)¶
- flukaFreeString()¶
- hash()¶
- class pyg4ometry.fluka.body.TRC(name, major_centre, direction, major_radius, minor_radius, transform=None, flukaregistry=None, comment='')¶
Bases:
BodyMixinTruncated Right-angled Cone
- Parameters:
- name¶
- major_centre¶
- direction¶
- major_radius¶
- minor_radius¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- geant4Solid(registry, aabb=None)¶
- __repr__()¶
- _withLengthSafety(safety, reg)¶
- flukaFreeString()¶
- hash()¶
- class pyg4ometry.fluka.body.ELL(name, focus1, focus2, length, transform=None, flukaregistry=None, comment='')¶
Bases:
BodyMixinEllipsoid of Revolution
- Parameters:
- name¶
- focus1¶
- focus2¶
- length¶
- transform¶
- comment¶
- semimajor¶
- centre(aabb=None)¶
- rotation()¶
- _linearEccentricity()¶
- _semiminor()¶
- geant4Solid(greg, aabb=None)¶
- __repr__()¶
- _withLengthSafety(safety, reg)¶
- flukaFreeString()¶
- hash()¶
- class pyg4ometry.fluka.body.WED(name, vertex, edge1, edge2, edge3, transform=None, flukaregistry=None, comment='')¶
Bases:
_WED_RAWRight Angle Wedge
- class pyg4ometry.fluka.body.RAW(name, vertex, edge1, edge2, edge3, transform=None, flukaregistry=None, comment='')¶
Bases:
_WED_RAWBase class representing a body as defined in FLUKA
- __doc__¶
- class pyg4ometry.fluka.body.ARB(name, vertices, facenumbers, transform=None, flukaregistry=None, comment='')¶
Bases:
BodyMixinArbitrary Convex Polyhedron
- Parameters:
name (str) – of body
vertices (list) – Eight vertices which make up the polyhedron as [[x1, y1, z1], [x2, y2, z2], …]. There must be eight even if only six or seven vertices are needed to make up the polydedron.
facenumbers (float) – The faces of the polyhedron expressed as floats where each digit of the float refers to one of the vertices which makes up that face. Six must always be provided as [1234,8765, …], even if only four or five faces are needed. Any unneeded faces must be set to 0 (no less than 4 sides). Note that the references to the vertices are not zero-counting. The order of the vertices denoted in the facenumbers must be either all clockwise or all anticlockwise, which if not obeyed will result in erroneous output without warning.
- name¶
- vertices¶
- facenumbers¶
- transform¶
- comment¶
- _nfaces = 6¶
- zeros = []¶
- centre(aabb=None)¶
- rotation()¶
- _faceNumbersToZeroCountingIndices()¶
- _extent()¶
- geant4Solid(greg, aabb=None)¶
- _toTesselatedSolid(verticesAndPolygons, greg, addRegistry)¶
- _getVerticesAndPolygons()¶
- _toVerticesAndPolygons(reverse)¶
- __repr__()¶
- _withLengthSafety(safety, reg)¶
- flukaFreeString()¶
- hash()¶
- class pyg4ometry.fluka.body.XYP(name, z, transform=None, flukaregistry=None, comment='')¶
Bases:
_HalfSpaceMixinInfinite half-space delimited by the x-y plane (perpendicular to the z-axis)
- Parameters:
- name¶
- z¶
- transform¶
- comment¶
- __repr__()¶
- _withLengthSafety(safety, reg)¶
- flukaFreeString()¶
- hash()¶
- toPlane()¶
- class pyg4ometry.fluka.body.XZP(name, y, transform=None, flukaregistry=None, comment='')¶
Bases:
_HalfSpaceMixinInfinite half-space delimited by the x-y plane (perpendicular to the y-axis)
- Parameters:
- name¶
- y¶
- transform¶
- comment¶
- __repr__()¶
- _withLengthSafety(safety, reg)¶
- flukaFreeString()¶
- hash()¶
- toPlane()¶
- class pyg4ometry.fluka.body.YZP(name, x, transform=None, flukaregistry=None, comment='')¶
Bases:
_HalfSpaceMixinInfinite half-space delimited by the x-y plane (perpendicular to the x-axis)
- Parameters:
- name¶
- x¶
- transform¶
- comment¶
- __repr__()¶
- _withLengthSafety(safety, reg)¶
- flukaFreeString()¶
- hash()¶
- toPlane()¶
- class pyg4ometry.fluka.body.PLA(name, normal, point, transform=None, flukaregistry=None, comment='')¶
Bases:
_HalfSpaceMixinInfinite half-space delimited by the x-y plane (perpendicular to the z-axis) Generic infinite half-space.
- Parameters:
- name¶
- normal¶
- point¶
- transform¶
- comment¶
- rotation()¶
- __repr__()¶
- _withLengthSafety(safety, reg=None)¶
- flukaFreeString()¶
- hash()¶
- toPlane()¶
- class pyg4ometry.fluka.body.XCC(name, y, z, radius, transform=None, flukaregistry=None, comment='')¶
Bases:
_InfiniteCylinderMixin,_ShiftableCylinderMixinInfinite Circular Cylinder parallel to the x-axis
- Parameters:
- name¶
- y¶
- z¶
- radius¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- __repr__()¶
- _withLengthSafety(safety, reg=None)¶
- flukaFreeString()¶
- hash()¶
- point()¶
- direction()¶
- class pyg4ometry.fluka.body.YCC(name, z, x, radius, transform=None, flukaregistry=None, comment='')¶
Bases:
_InfiniteCylinderMixin,_ShiftableCylinderMixinInfinite Circular Cylinder parallel to the y-axis
- Parameters:
- name¶
- z¶
- x¶
- radius¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- __repr__()¶
- _withLengthSafety(safety, reg=None)¶
- flukaFreeString()¶
- hash()¶
- point()¶
- direction()¶
- class pyg4ometry.fluka.body.ZCC(name, x, y, radius, transform=None, flukaregistry=None, comment='')¶
Bases:
_InfiniteCylinderMixin,_ShiftableCylinderMixinInfinite Circular Cylinder parallel to the z-axis
- Parameters:
- name¶
- x¶
- y¶
- radius¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- __repr__()¶
- _withLengthSafety(safety, reg=None)¶
- flukaFreeString()¶
- hash()¶
- point()¶
- direction()¶
- class pyg4ometry.fluka.body.XEC(name, y, z, ysemi, zsemi, transform=None, flukaregistry=None, comment='')¶
Bases:
BodyMixin,_ShiftableCylinderMixinInfinite Elliptical Cylinder parallel to the x-axis
- Parameters:
- name¶
- y¶
- z¶
- ysemi¶
- zsemi¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- geant4Solid(reg, aabb=None)¶
- __repr__()¶
- _withLengthSafety(safety, reg=None)¶
- flukaFreeString()¶
- hash()¶
- class pyg4ometry.fluka.body.YEC(name, z, x, zsemi, xsemi, transform=None, flukaregistry=None, comment='')¶
Bases:
BodyMixin,_ShiftableCylinderMixinInfinite Elliptical Cylinder parallel to the y-axis
- Parameters:
- name¶
- z¶
- x¶
- zsemi¶
- xsemi¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- geant4Solid(reg, aabb=None)¶
- __repr__()¶
- _withLengthSafety(safety, reg=None)¶
- flukaFreeString()¶
- hash()¶
- class pyg4ometry.fluka.body.ZEC(name, x, y, xsemi, ysemi, transform=None, flukaregistry=None, comment='')¶
Bases:
BodyMixin,_ShiftableCylinderMixinInfinite Elliptical Cylinder parallel to the z-axis
- Parameters:
- name¶
- x¶
- y¶
- xsemi¶
- ysemi¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- geant4Solid(reg, aabb=None)¶
- __repr__()¶
- _withLengthSafety(safety, reg=None)¶
- flukaFreeString()¶
- hash()¶
- class pyg4ometry.fluka.body.QUA(name, cxx, cyy, czz, cxy, cxz, cyz, cx, cy, cz, c, transform=None, flukaregistry=None, comment='', **kwargs)¶
Bases:
BodyMixinGeneric quadric
- Parameters:
name (str) – of body
cxx (float) – x^2 coefficient
cyy (float) – y^2 coefficient
czz (float) – z^2 coefficient
cxy (float) – xy coefficient
cxz (float) – xz coefficient
cyz (float) – yz coefficient
cx (float) – x coefficient
cy (float) – y coefficient
cz (float) – z coefficient
c (constant) – constant
- name¶
- cxx¶
- cyy¶
- czz¶
- cxy¶
- cxz¶
- cyz¶
- cx¶
- cy¶
- cz¶
- c¶
- transform¶
- comment¶
- centre(aabb=None)¶
- rotation()¶
- coefficientsMatrix()¶
- static _quadricMatrixToCoefficients(matrix)¶
- mesh(lower, upper, capping=True)¶
- geant4Solid(reg, aabb=None)¶
- _withLengthSafety(safety, reg=None)¶
- __repr__()¶
- flukaFreeString()¶
- hash()¶