public final class GarfieldHitConverter extends Driver
Most of this machinery will become unnecessary once proper digitization packages are available, and standard two-dimensional tracker hit interface is specified.
Driver.AbortRunException, Driver.NextEventException
Modifier and Type | Field and Description |
---|---|
private double |
barrelTiling |
(package private) double |
distanceCut |
private double |
endcapTiling |
(package private) List<String> |
inputCollectionNames |
private boolean |
modeFromOutsideIn |
private boolean |
modeUseVXD |
(package private) String |
outputCollectionName |
private double |
simpleError |
HLEVEL_DEFAULT, HLEVEL_FULL, HLEVEL_HIGH, HLEVEL_NORMAL, HLEVEL_OFF
Constructor and Description |
---|
GarfieldHitConverter() |
Modifier and Type | Method and Description |
---|---|
private double |
barrelTrackerZ(double z,
int end,
int layer)
Very black magic
|
private boolean |
findAdjacentHit(SimTrackerHit newHit,
ArrayList<GarfieldHit> oldHitList)
Returns true if a GarfieldHit exists in the supplied
oldHitList
that is too close to the newHit , so the two should be merged. |
private int |
getGarfieldLayerID(SimTrackerHit hit)
Garfield-specific tracking layer numbering:
from innermost VXD layer to outermost Tracker layer, barrels first.
|
private boolean |
is3D(SimTrackerHit hit)
Returns true if hit supplied as an argument has information about
all three coordinates (this implementation is very detector and
package specific).
|
private boolean |
isEven(int i) |
private boolean |
isVXD(SimTrackerHit hit)
Returns true if the hit is in vertex detector.
|
void |
process(EventHeader event)
Process event, and put created list of GarfieldHits into the event.
|
void |
set(String name)
Set any boolean parameter to true.
|
void |
set(String name,
boolean value)
Set any boolean parameter.
|
void |
set(String name,
double value)
Set any double parameter.
|
void |
set(String name,
String 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
String outputCollectionName
double distanceCut
private double barrelTiling
private double endcapTiling
private double simpleError
private boolean modeFromOutsideIn
private boolean modeUseVXD
public void set(String name, String value)
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 set(String name, boolean value)
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 set(String name)
set(String, boolean)
for a list of parameters that can be set with this method.name
- Name of parameter to be setNoSuchParameterException
- 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 set(String name, double value)
name
- Name of parameter to be setvalue
- 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)
process
in class Driver
event
- The event to be processedDriver.NextEventException
,
Driver.AbortRunException
private boolean findAdjacentHit(SimTrackerHit newHit, ArrayList<GarfieldHit> oldHitList)
oldHitList
that is too close to the newHit
, so the two should be merged.
newHit
is then added to the list of raw hits associated with that
GarfieldHit.
This is a temporary solution to get rid of multiple adjacent hits due to delta rays -
should be replaced by proper digitization later.private int getGarfieldLayerID(SimTrackerHit hit)
private double barrelTrackerZ(double z, int end, int layer)
private boolean is3D(SimTrackerHit hit)
private boolean isEven(int i)
private boolean isVXD(SimTrackerHit hit)
Copyright © 2016 Linear Collider Detector (LCD). All rights reserved.