public class TrackerHitConverter extends Driver
TrackerCluster
or TrackerHit
objects into a collection of org.lcsim.event.TrackerHit
objects.
See the description of set(java.lang.String, java.lang.Object)
method for details on how to specify input and
output collections. If this Driver is run on TrackerClusters, it first generates
TrackerHits internally, using the TrackerHitMaker
set through a call to
set("HIT_MAKER", hitMaker), and then converts them into OldTrackerHits.
Creation of OldTrackerHit objects is done either by convert(TrackerHit hit)
(for pixels and sensors for which getStereoPartners(Sensor) method of the
corresponding Segmenter returns null) or by
cross(TrackerHit hit1, TrackerHit hit2)
method. A user can override either of these
methods to control what position and covariance matrix are assigned to newly created
OldTrackerHits.
If getStereoPartners(Sensor) method returns an empty list (default behavior
of RegionSegmenter
) for a given Sensor object, and that Sensor contains
strips, no OldTrackerHits will be produced from clusters on that sensor.
Driver.AbortRunException, Driver.NextEventException
Modifier and Type | Field and Description |
---|---|
private String |
_clusterMapName |
private double |
_errFlat |
private TrackerHitMaker |
_hitMaker |
private String |
_hitMapName |
private boolean |
_notInit |
private String |
_outListName |
protected SegmentationManager |
_segMan |
private double |
_stereoTolerance |
private Hep3Vector |
unitU |
HLEVEL_DEFAULT, HLEVEL_FULL, HLEVEL_HIGH, HLEVEL_NORMAL, HLEVEL_OFF
Constructor and Description |
---|
TrackerHitConverter() |
Modifier and Type | Method and Description |
---|---|
protected OldTrackerHit |
convert(TrackerHit hit)
Creates a new OldTrackerHit given TrackerHit.
|
protected OldTrackerHit |
cross(TrackerHit hit1,
TrackerHit hit2)
Creates a new OldTrackerHit from a pair of TrackerHits in stereo layers.
|
private void |
init(EventHeader event) |
void |
process(EventHeader event)
Called by the framework to process an event.
|
void |
set(String name,
Object value)
Set any String parameter.
|
add, clearStatistics, contains, detectorChanged, drivers, endOfData, getConditionsManager, getHistogramLevel, getLogger, getName, getRandom, printStatistics, processChildren, remove, resume, setHistogramLevel, setLogLevel, setRandom, startOfData, suspend
private boolean _notInit
private String _hitMapName
private String _clusterMapName
private String _outListName
protected SegmentationManager _segMan
private TrackerHitMaker _hitMaker
private double _stereoTolerance
private double _errFlat
private Hep3Vector unitU
private void init(EventHeader event)
public void set(String name, Object value)
TrackerHitMaker
object to be used by this converter.
TrackerHitMakerBasic
will be used
if the hit maker is not set explicitly.name
- Name of parameter to be set. Case is ignored.value
- Value to be assigned to the parameter.NoSuchParameterException
- Thrown if the supplied parameter name is unknown.
Subclasses may catch this exception after a call to super.set()
and set their own parameters.public void process(EventHeader event)
Driver
super.process(event)
to cause the child processes to be executed.
In addition the process event call can throw some special exceptions:
process
in class Driver
event
- The event to be processedDriver.NextEventException
,
Driver.AbortRunException
protected OldTrackerHit cross(TrackerHit hit1, TrackerHit hit2)
The implementation assumes that hits provided as arguments are both segment-like, and belong to parallel Sensors (local reference frame W axes parallel) with non-parallel strips (U axes are not parallel). If any of these assumptions is not true, null will be returned and error message printed. Otherwise, the method will try to find an intersection in U,V plane (ignoring W difference between the sensors). If successful, the returned OldTrackerHit will have U and V coordinates corresponding to that intersection, and W coordinate will be half way between sensor planes. If hits do not cross, the method returns null.
protected OldTrackerHit convert(TrackerHit hit)
Copyright © 2016 Linear Collider Detector (LCD). All rights reserved.