public abstract class AbstractSegmenter extends Object implements Segmenter
ForwardingSegmenter
s and RegionSegmenter
s that
can be chained together to describe virtual segmentation of the entire detector.
A ForwardingSegmenter can have any number of daughter segmenters, each
handling a particular part of the detector. Each daughter is either another
ForwardingSegmenter, or a RegionSegmenter that does the actual
Sensor
object creation, and assigns an integer ID (postfix) to
each Sensor within the region it is responsible for. The result is a tree
of segmenters, with ForwardingSegmenters at its top and intermediate nodes,
and RegionSegmenters as its leaves. SegmentationManager
automatically
assigns prefixes to all RegionSegmenters, making sure that SensorID
they assign to Sensors are unique within the whole detector.
See org.lcsim.contrib.onoprien.tracking.ExampleDriver1
for an example of
chaining several different segmenters.
Modifier and Type | Field and Description |
---|---|
protected int |
_postfixLength |
protected int |
_postfixMask |
protected int |
_prefix |
protected int |
_prefixTemplate |
Constructor and Description |
---|
AbstractSegmenter() |
Modifier and Type | Method and Description |
---|---|
(package private) static int |
getIdSize(int maxID)
Returns the number of bits required to hold an integer between 0 and maxID.
|
static List<IDetectorElement> |
getLeaves(IDetectorElement del)
Returns a list of sensitive lowest-level decendents of the diven detector element.
|
protected abstract int |
getNativePostfixLength()
Returns minimum number of bits required to hold any postfix that can be used
by this Segmenter.
|
protected int |
getPrefix()
Get prefix used by this OldSegmenter.
|
protected int |
idToPostfix(int sensorID)
Extract postfix from full SensorID.
|
protected int |
postfixToID(int postfix)
Convert postfix to full SensorID.
|
(package private) void |
setPrefix(int prefix)
Set prefix for this Segmenter.
|
(package private) void |
setPrefix(int prefix,
int postfixLength)
Set pretfix value and postfix length for this Segmenter.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
detectorChanged, getSensor, getSensorID, getSensorIDs, getStereoPartners
protected int _prefix
protected int _postfixLength
protected int _postfixMask
protected int _prefixTemplate
void setPrefix(int prefix)
void setPrefix(int prefix, int postfixLength)
protected abstract int getNativePostfixLength()
protected final int getPrefix()
protected final int postfixToID(int postfix)
protected final int idToPostfix(int sensorID)
static int getIdSize(int maxID)
public static List<IDetectorElement> getLeaves(IDetectorElement del)
Copyright © 2016 Linear Collider Detector (LCD). All rights reserved.