public interface IDetectorElement extends Identifiable
IDetectorElementStore
,
IDetectorElementContainer
,
IGeometryInfo
,
Identifiable
,
IIdentifier
,
IParameters
,
IReadout
Modifier and Type | Method and Description |
---|---|
void |
clearReadouts()
Clear the
IReadout of this DetectorElement and recursively visit and clear the children.. |
<T extends IDetectorElement> |
findAncestors(Class<T> klass)
Find ancestors matching a class.
|
<T extends IDetectorElement> |
findDescendants(Class<T> klass)
Find descendants matching a class.
|
IDetectorElement |
findDetectorElement(Hep3Vector globalPoint)
Locate the deepest DetectorElement containing a global point starting with this DetectorElement and traversing into its children.
|
IDetectorElementContainer |
findDetectorElement(IIdentifier id)
Locate a child detector element by
IIdentifier . |
IDetectorElement |
findDetectorElement(String pathString)
Locate a child detector element given a slash-separated list of DetectorElement names.
|
IDetectorElement |
findDetectorElement(String[] path)
Locate a child detector element given an ordered list of DetectorElement names.
|
IDetectorElementContainer |
getAncestry()
A list of parents from the top to this one.
|
IDetectorElementContainer |
getChildren()
Get a container with the DetectorElement's children.
|
IGeometryInfo |
getGeometry()
Get the geometric information for this node, including the volume center position and global and local transformations.
|
IIdentifier |
getIdentifier()
Get the identifier of this DE.
|
IIdentifierHelper |
getIdentifierHelper()
Get the
IIdentifierHelper associated with this object. |
String |
getName()
Get the name of this DetectorElement.
|
IParameters |
getParameters()
The named parameters associated to this instance.
|
IDetectorElement |
getParent()
Get the parent element of this node.
|
IReadout |
getReadout()
Get the readout associated with this DetectorElement, or
null if the DetectorElement has no associated readout. |
boolean |
hasChildren()
True if the DetectorElement has children.
|
boolean |
hasGeometryInfo() |
boolean |
hasReadout()
|
void |
initialize()
This method should be called externally to perform initialization after all child elements have been added.
|
boolean |
isAncestor(IDetectorElement de)
True if the DetectorElement is an ancestor of this one.
|
boolean |
isDescendant(IDetectorElement de)
True if the DetectorElement is a descendant of this one.
|
boolean |
isSensitive()
True if the DetectorElement's PhysicalVolume is flagged as sensitive.
|
void |
setIdentifier(IIdentifier id)
Set the identifier of this DE.
|
void |
setParent(IDetectorElement parent)
Set the parent DetectorElement.
|
void |
traverseAncestors(IDetectorElementVisitor visitor)
Visit this and ancestors.
|
void |
traverseDescendantsPostOrder(IDetectorElementVisitor visitor)
Recrusive post-order tree traversal of this
IDetectorElement . |
void |
traverseDescendantsPreOrder(IDetectorElementVisitor visitor)
Recursive pre-order tree traversal of this
IDetectorElement . |
getExpandedIdentifier
IGeometryInfo getGeometry()
IDetectorElement getParent()
DetectorElement
has no parent.null
if the DetectorElement has no parent.IDetectorElementContainer getChildren()
boolean hasChildren()
String getName()
void setIdentifier(IIdentifier id)
id
- IIdentifier getIdentifier()
getIdentifier
in interface Identifiable
IIdentifierHelper getIdentifierHelper()
Identifiable
IIdentifierHelper
associated with this object.getIdentifierHelper
in interface Identifiable
void setParent(IDetectorElement parent)
parent
- The parent DetectorElement.boolean hasGeometryInfo()
IGeometryInfo
has been created; False if IGeometryInfo
is null
.IDetectorElement findDetectorElement(Hep3Vector globalPoint)
Detector
to find the deepest node within the complete detector.
This method is not on GeometryInfo
, because a DetectorElement is allowed to have a null
GeometryInfo if it is a simple container without a geometry path, i.e. a ghost
volume.null
if point is not contained within this DetectorElement or its children.IDetectorElementContainer findDetectorElement(IIdentifier id)
IIdentifier
.id
- The IIdentifier
of the DetectorElement
.IDetectorElement
to the ID.IDetectorElement findDetectorElement(String pathString)
pathString
- IDetectorElement findDetectorElement(String[] path)
path
- IReadout getReadout()
null
if the DetectorElement has no associated readout.boolean hasReadout()
IParameters getParameters()
IParameters
IDetectorElementContainer getAncestry()
IDetectorElement
in the hierarchy. The last memory of the list will be this
IDetectorElement
.IDetectorElementContainer
boolean isAncestor(IDetectorElement de)
void clearReadouts()
IReadout
of this DetectorElement
and recursively visit and clear the children..boolean isDescendant(IDetectorElement de)
de
- A DetectorElement to search for in descendants.IDetectorElement
,
IDetectorElementContainer
void traverseDescendantsPreOrder(IDetectorElementVisitor visitor)
IDetectorElement
.visitor
- A visitor interface to perform some action on the node.void traverseDescendantsPostOrder(IDetectorElementVisitor visitor)
IDetectorElement
.visitor
- A visitor interface to perform some action on the node.void traverseAncestors(IDetectorElementVisitor visitor)
visitor
- <T extends IDetectorElement> List<T> findAncestors(Class<T> klass)
klass
- Class to match.<T extends IDetectorElement> List<T> findDescendants(Class<T> klass)
klass
- The class of the descendant DetectorElement.boolean isSensitive()
void initialize()
Copyright © 2016 Linear Collider Detector (LCD). All rights reserved.