public class GeometryInfo extends Object implements IGeometryInfo
Modifier and Type | Field and Description |
---|---|
(package private) IGeometryInfoContainer |
childIGeometryInfos |
(package private) IDetectorElement |
de |
(package private) Hep3Vector |
globalPosition |
(package private) ITransform3D |
globalToLocal |
(package private) ITransform3D |
localToGlobal |
(package private) ILogicalVolume |
logicalVolume |
(package private) IGeometryInfo |
parentIGeometryInfo |
(package private) ITransform3D |
parentToLocal |
(package private) IPhysicalVolumePath |
path |
Constructor and Description |
---|
GeometryInfo(IDetectorElement de)
Creates a ghost volume with no support
in the geometry tree.
|
GeometryInfo(IDetectorElement de,
ILogicalVolume lv)
Creates an orphan volume with a LogicalVolume
but no support in the geometry tree.
|
GeometryInfo(IDetectorElement de,
IPhysicalVolumePath support)
This constructor associates this GeometryInfo
with a node in the geometry tree.
|
Modifier and Type | Method and Description |
---|---|
IGeometryInfoContainer |
getChildGeometries()
Get an
IGeometryInfoContainer with the child DetectorElement's IGeometryInfo objects. |
IDetectorElement |
getDetectorElement()
Return the associated
DetectorElement . |
ITransform3D |
getGlobalToLocal()
Get the combined global to local transform.
|
ITransform3D |
getLocalToGlobal()
Get the combined local to global transform.
|
ILogicalVolume |
getLogicalVolume()
Get the associated
ILogicalVolume . |
ITransform3D |
getParentToLocal()
Get the transformation from parent geometry
into local geometry.
|
IPhysicalVolumePath |
getPath()
Get the
IPhysicalVolumePath assigned to this GeometryInfo. |
IPhysicalVolumePath |
getPath(Hep3Vector globalPoint)
Get the
IPhysicalVolumePath at a global point. |
String |
getPathString()
|
IPhysicalVolume |
getPhysicalVolume()
Get the associated
IPhysicalVolume or
null if none exists. |
IPhysicalVolume |
getPhysicalVolume(Hep3Vector globalPoint)
Get the PhysicalVolume at the global point
using the IPhysicalVolumePath of this IGeometryInfo.
|
Hep3Vector |
getPosition()
Get the center position of the DetectorElement in global coordinates.
|
boolean |
hasLogicalVolume()
True if this IGeometryInfo has an associated LogicalVolume.
|
boolean |
hasPath()
True if this IGeometryInfo has an associated full path
or geometry node.
|
Inside |
inside(Hep3Vector globalPoint)
Check if the global point is inside this volume
by transforming the point from global to local coordinates
and seeing if the resulting point is inside this DetectorElement's
solid.
|
boolean |
isOrphan() |
IGeometryInfo |
parentGeometry()
Get the parent DetectorElement's IGeometryInfo.
|
private void |
setup(IDetectorElement de,
ILogicalVolume logicalVolume,
IPhysicalVolumePath support)
This method provides a single point of entry
for setting up a GeometryInfo object.
|
private void |
setupPath(IPhysicalVolumePath path) |
Hep3Vector |
transformGlobalToLocal(Hep3Vector global_point)
Transform the global point from global coordinates to local.
|
Hep3Vector |
transformLocalToGlobal(Hep3Vector local_point)
Transform a local point into global coordinates.
|
Hep3Vector |
transformParentToLocal(Hep3Vector parentPoint)
Transform point in parent geometry to local coordinate system.
|
IDetectorElement de
IGeometryInfoContainer childIGeometryInfos
IGeometryInfo parentIGeometryInfo
IPhysicalVolumePath path
ILogicalVolume logicalVolume
ITransform3D globalToLocal
ITransform3D localToGlobal
ITransform3D parentToLocal
Hep3Vector globalPosition
public GeometryInfo(IDetectorElement de)
de
- The associated DetectorElement.public GeometryInfo(IDetectorElement de, ILogicalVolume lv)
de
- The associated DetectorElement.public GeometryInfo(IDetectorElement de, IPhysicalVolumePath support)
de
- support
- private void setup(IDetectorElement de, ILogicalVolume logicalVolume, IPhysicalVolumePath support)
de
- The DetectorElement that owns this GeometryInfo.lv
- The associated LogicalVolume.support
- The path into the geometry that is associated
with this DetectorElement.private void setupPath(IPhysicalVolumePath path)
public IGeometryInfoContainer getChildGeometries()
IGeometryInfo
IGeometryInfoContainer
with the child DetectorElement's IGeometryInfo objects.getChildGeometries
in interface IGeometryInfo
public IPhysicalVolumePath getPath(Hep3Vector globalPoint)
IGeometryInfo
IPhysicalVolumePath
at a global point.getPath
in interface IGeometryInfo
globalPoint
- A point in global coordinates.public ILogicalVolume getLogicalVolume()
IGeometryInfo
ILogicalVolume
.getLogicalVolume
in interface IGeometryInfo
public IPhysicalVolume getPhysicalVolume(Hep3Vector globalPoint)
IGeometryInfo
getPhysicalVolume
in interface IGeometryInfo
globalPoint
- A point in global coordinates.public IPhysicalVolume getPhysicalVolume()
IGeometryInfo
IPhysicalVolume
or
null
if none exists.getPhysicalVolume
in interface IGeometryInfo
public Hep3Vector getPosition()
IGeometryInfo
getPosition
in interface IGeometryInfo
public IPhysicalVolumePath getPath()
IGeometryInfo
IPhysicalVolumePath
assigned to this GeometryInfo.
This path points to a unique node in the geometry tree
and determines the basic global to local transform
of the DetectorElement.getPath
in interface IGeometryInfo
public ITransform3D getGlobalToLocal()
IGeometryInfo
getGlobalToLocal
in interface IGeometryInfo
public Hep3Vector transformGlobalToLocal(Hep3Vector global_point)
IGeometryInfo
transformGlobalToLocal
in interface IGeometryInfo
public Inside inside(Hep3Vector globalPoint)
inside
in interface IGeometryInfo
globalPoint
- A global point.public ITransform3D getLocalToGlobal()
IGeometryInfo
getLocalToGlobal
in interface IGeometryInfo
ITransform3D
public Hep3Vector transformLocalToGlobal(Hep3Vector local_point)
IGeometryInfo
transformLocalToGlobal
in interface IGeometryInfo
local_point
- A local point.public IGeometryInfo parentGeometry()
IGeometryInfo
parentGeometry
in interface IGeometryInfo
null
if none exists.public ITransform3D getParentToLocal()
IGeometryInfo
getParentToLocal
in interface IGeometryInfo
public Hep3Vector transformParentToLocal(Hep3Vector parentPoint)
IGeometryInfo
transformParentToLocal
in interface IGeometryInfo
parentPoint
- A point in the parent coordinate system.public boolean isOrphan()
public IDetectorElement getDetectorElement()
IGeometryInfo
DetectorElement
.getDetectorElement
in interface IGeometryInfo
public boolean hasLogicalVolume()
IGeometryInfo
hasLogicalVolume
in interface IGeometryInfo
null
LogicalVolume.public boolean hasPath()
IGeometryInfo
hasPath
in interface IGeometryInfo
public String getPathString()
IGeometryInfo
getPathString
in interface IGeometryInfo
Copyright © 2016 Linear Collider Detector (LCD). All rights reserved.