public class TrackUtils extends Object
Modifier and Type | Class and Description |
---|---|
private static class |
TrackUtils.LayerComparator |
Modifier and Type | Field and Description |
---|---|
private static org.apache.commons.math3.util.Pair<org.lcsim.event.EventHeader,org.lcsim.event.RelationalTable> |
hitToRotatedCache |
private static org.apache.commons.math3.util.Pair<org.lcsim.event.EventHeader,org.lcsim.event.RelationalTable> |
hitToStripsCache |
Modifier | Constructor and Description |
---|---|
private |
TrackUtils()
Private constructor to make class static only
|
Modifier and Type | Method and Description |
---|---|
static double |
ArcTan(double x,
double y) |
static double |
calculateCurvature(double p,
double q,
double B) |
static double |
calculatePhi(double px,
double py) |
static double |
calculatePhi(double x,
double y,
double xc,
double yc,
double sign) |
static double |
calculateTanLambda(double pz,
double p) |
static double |
Cos(double arg) |
static void |
cut(int[] cuts,
EventQuality.Cut bit) |
static Hep3Vector |
extrapolateHelixToXPlane(org.lcsim.fit.helicaltrack.HelicalTrackFit htf,
double x)
Extrapolate helix to a position along the x-axis.
|
static Hep3Vector |
extrapolateHelixToXPlane(org.lcsim.event.Track track,
double x)
Extrapolate track to a position along the x-axis.
|
static Hep3Vector |
extrapolateHelixToXPlane(org.lcsim.event.TrackState track,
double x) |
static Hep3Vector |
extrapolateTrack(org.lcsim.fit.helicaltrack.HelicalTrackFit helix,
double z)
Deprecated.
|
static Hep3Vector |
extrapolateTrack(org.lcsim.event.Track track,
double z)
Deprecated.
|
static Hep3Vector |
extrapolateTrack(org.lcsim.event.Track track,
double z,
org.lcsim.geometry.Detector detector)
Extrapolate track to given position, using dipole position from geometry.
|
static Hep3Vector |
extrapolateTrack(org.lcsim.event.TrackState track,
double z)
Deprecated.
|
static Hep3Vector |
extrapolateTrackPositionToSensor(org.lcsim.event.Track track,
HpsSiSensor sensor,
List<HpsSiSensor> sensors,
double bfield) |
static org.lcsim.event.base.BaseTrackState |
extrapolateTrackUsingFieldMap(org.lcsim.event.Track track,
double startPositionX,
double endPositionX,
double stepSize,
org.lcsim.geometry.FieldMap fieldMap)
Backward compatibility function for
extrapolateTrackUsingFieldMap
. |
static org.lcsim.event.base.BaseTrackState |
extrapolateTrackUsingFieldMap(org.lcsim.event.TrackState track,
double startPositionX,
double endPosition,
double stepSize,
double epsilon,
org.lcsim.geometry.FieldMap fieldMap) |
static org.lcsim.event.base.BaseTrackState |
extrapolateTrackUsingFieldMap(org.lcsim.event.TrackState track,
double startPositionX,
double endPosition,
double stepSize,
org.lcsim.geometry.FieldMap fieldMap)
Iteratively extrapolates a track to a specified value of x (z in detector
frame) using the full 3D field map.
|
static Pair<Hep3Vector,Hep3Vector> |
extrapolateTrackUsingFieldMapRK(org.lcsim.event.TrackState ts,
Hep3Vector startPosition,
double distanceZ,
double stepSize,
org.lcsim.geometry.FieldMap fM) |
static double |
findTriangleArea(double x0,
double y0,
double x1,
double y1,
double x2,
double y2) |
static Hep3Vector |
getBField(org.lcsim.geometry.Detector detector) |
static int |
getCharge(org.lcsim.event.Track track) |
static double |
getCosTheta(org.lcsim.event.Track track) |
static double |
getCosTheta(org.lcsim.event.TrackState track) |
static SymmetricMatrix |
getCovarianceAtNewRefPoint(double[] newRefPoint,
double[] __refPoint,
double[] par,
SymmetricMatrix helixcov) |
static double |
getDoca(org.lcsim.event.Track track) |
static double |
getDoca(org.lcsim.event.TrackState track) |
static Hep3Vector |
getHelixPlaneIntercept(org.lcsim.fit.helicaltrack.HelicalTrackFit helfit,
HelicalTrackStripGbl strip,
double bfield)
Calculate the point of interception between the helix and a plane in
space.
|
static Hep3Vector |
getHelixPlaneIntercept(org.lcsim.fit.helicaltrack.HelicalTrackFit helfit,
Hep3Vector unit_vec_normal_to_plane,
Hep3Vector point_on_plane,
double bfield)
Calculate the point of interception between the helix and a plane in
space.
|
static Hep3Vector |
getHelixPlaneIntercept(org.lcsim.fit.helicaltrack.HelicalTrackFit helfit,
Hep3Vector unit_vec_normal_to_plane,
Hep3Vector point_on_plane,
double bfield,
double initial_s) |
static Hep3Vector |
getHelixPlanePositionIter(org.lcsim.fit.helicaltrack.HelicalTrackFit helix,
Hep3Vector origin,
Hep3Vector normal,
double eps)
Deprecated.
|
private static Hep3Vector |
getHelixPosAtX(org.lcsim.fit.helicaltrack.HelicalTrackFit helix,
double x)
Deprecated.
|
static int[] |
getHitsInTopBottom(org.lcsim.event.Track track) |
static org.lcsim.event.RelationalTable |
getHitToRotatedTable(org.lcsim.event.EventHeader event) |
static org.lcsim.event.RelationalTable |
getHitToStripsTable(org.lcsim.event.EventHeader event) |
static org.lcsim.fit.helicaltrack.HelicalTrackFit |
getHTF(double[] par) |
static org.lcsim.fit.helicaltrack.HelicalTrackFit |
getHTF(org.lcsim.event.MCParticle mcp,
double Bz)
Transform MCParticle into a Helix object.
|
static org.lcsim.fit.helicaltrack.HelicalTrackFit |
getHTF(org.lcsim.event.MCParticle mcp,
Hep3Vector origin,
double Bz)
Transform MCParticle into a
HelicalTrackFit object. |
static org.lcsim.fit.helicaltrack.HelicalTrackFit |
getHTF(org.lcsim.event.Track track) |
static org.lcsim.fit.helicaltrack.HelicalTrackFit |
getHTF(org.lcsim.event.TrackState state) |
static double |
getIsolation(org.lcsim.event.TrackerHit strip,
org.lcsim.event.TrackerHit otherStrip,
org.lcsim.event.RelationalTable hitToStrips,
org.lcsim.event.RelationalTable hitToRotated)
Compute strip isolation, defined as the minimum distance to another strip
in the same sensor.
|
static Double[] |
getIsolations(org.lcsim.event.Track trk,
org.lcsim.event.RelationalTable hitToStrips,
org.lcsim.event.RelationalTable hitToRotated) |
static Double[] |
getIsolations(org.lcsim.event.Track trk,
org.lcsim.event.RelationalTable hitToStrips,
org.lcsim.event.RelationalTable hitToRotated,
int layers)
Make an array with isolations for all 12 strip layers.
|
static int |
getLayer(org.lcsim.event.TrackerHit strip) |
static org.lcsim.event.MCParticle |
getMatchedTruthParticle(org.lcsim.event.Track track) |
static Hep3Vector |
getMomentum(double omega,
double phi0,
double tanL,
double magneticField) |
static double[] |
getParametersAtNewRefPoint(double[] newRefPoint,
double[] __refPoint,
double[] parameters)
Change reference point of helix (following L3 Internal Note 1666.)
|
static double[] |
getParametersAtNewRefPoint(double[] newRefPoint,
HpsHelicalTrackFit helicalTrackFit)
Change reference point of helix (following L3 Internal Note 1666.)
|
static double[] |
getParametersAtNewRefPoint(double[] newRefPoint,
org.lcsim.event.TrackState trkState)
Change reference point of helix (following L3 Internal Note 1666.)
|
static double[] |
getParametersFromPointAndMomentum(Hep3Vector point,
Hep3Vector momentum,
int charge,
double BField) |
static double[] |
getParametersFromPointAndMomentum(Hep3Vector point,
Hep3Vector momentum,
int charge,
double BField,
boolean writeIt)
Deprecated.
|
static double |
getPhi(org.lcsim.event.Track track,
Hep3Vector position) |
static double |
getPhi(org.lcsim.event.TrackState track,
Hep3Vector position) |
static double |
getPhi0(org.lcsim.event.Track track) |
static double |
getPhi0(org.lcsim.event.TrackState track) |
static Hep3Vector |
getPoint(double doca,
double phi0,
double z0) |
static double |
getR(org.lcsim.event.Track track) |
static double |
getR(org.lcsim.event.TrackState track) |
static double |
getSinTheta(org.lcsim.event.Track track) |
static double |
getSinTheta(org.lcsim.event.TrackState track) |
static List<org.lcsim.event.TrackerHit> |
getStripHits(org.lcsim.event.Track track,
org.lcsim.event.RelationalTable hitToStrips,
org.lcsim.event.RelationalTable hitToRotated) |
static double |
getTanLambda(org.lcsim.event.Track track) |
static double |
getTanLambda(org.lcsim.event.TrackState track) |
static org.lcsim.event.base.BaseTrackState |
getTrackExtrapAtEcal(org.lcsim.event.Track track,
org.lcsim.geometry.FieldMap fieldMap)
Get position of a track extrapolated to the ECAL face in the HPS test run
2012
|
static org.lcsim.event.base.BaseTrackState |
getTrackExtrapAtEcal(org.lcsim.event.TrackState track,
org.lcsim.geometry.FieldMap fieldMap) |
static org.lcsim.event.base.BaseTrackState |
getTrackExtrapAtEcalRK(org.lcsim.event.Track trk,
org.lcsim.geometry.FieldMap fM) |
static org.lcsim.event.base.BaseTrackState |
getTrackExtrapAtEcalRK(org.lcsim.event.Track trk,
org.lcsim.geometry.FieldMap fM,
double stepSize) |
static org.lcsim.event.base.BaseTrackState |
getTrackExtrapAtEcalRK(org.lcsim.event.TrackState ts,
org.lcsim.geometry.FieldMap fM) |
static org.lcsim.event.base.BaseTrackState |
getTrackExtrapAtEcalRK(org.lcsim.event.TrackState ts,
org.lcsim.geometry.FieldMap fM,
double stepSize) |
static Hep3Vector |
getTrackPositionAtEcal(org.lcsim.event.Track track)
Deprecated.
|
static Hep3Vector |
getTrackPositionAtEcal(org.lcsim.event.TrackState track)
Deprecated.
|
static Hep3Vector |
getTrackPositionAtHarp(org.lcsim.event.Track track)
Deprecated.
|
static org.lcsim.event.TrackState |
getTrackStateAtECal(org.lcsim.event.Track trk) |
static org.lcsim.event.TrackState |
getTrackStateAtLocation(org.lcsim.event.Track trk,
int location)
Port of Track.getTrackState(int location) from the C++ LCIO API.
|
static double |
getTrackTime(org.lcsim.event.Track track,
org.lcsim.event.RelationalTable hitToStrips,
org.lcsim.event.RelationalTable hitToRotated) |
static double |
getTrackTimeSD(org.lcsim.event.Track track,
org.lcsim.event.RelationalTable hitToStrips,
org.lcsim.event.RelationalTable hitToRotated) |
static org.lcsim.util.swim.Trajectory |
getTrajectory(Hep3Vector p0,
org.lcsim.spacegeom.SpacePoint r0,
double q,
double B) |
static double |
getX0(double doca,
double phi0) |
static double |
getX0(org.lcsim.event.Track track) |
static double |
getX0(org.lcsim.event.TrackState track) |
static double |
getY0(double doca,
double phi0) |
static double |
getY0(org.lcsim.event.Track track) |
static double |
getY0(org.lcsim.event.TrackState track) |
static double |
getZ0(org.lcsim.event.Track track) |
static double |
getZ0(org.lcsim.event.TrackState track) |
static Hep3Vector |
globalToSensor(Hep3Vector trkpos,
HpsSiSensor sensor) |
static boolean |
hasSharedHits(org.lcsim.event.Track track,
List<org.lcsim.event.Track> tracklist) |
static boolean |
hasSharedStrips(org.lcsim.event.Track track1,
org.lcsim.event.Track track2,
org.lcsim.event.RelationalTable hitToStrips,
org.lcsim.event.RelationalTable hitToRotated)
Tells if there are shared 2D hits between tracks
|
static boolean |
hasTopBotHit(org.lcsim.event.Track track) |
static boolean |
isBottomTrack(org.lcsim.fit.helicaltrack.HelicalTrackFit htf) |
static boolean |
isBottomTrack(org.lcsim.event.Track track,
int minhits) |
static boolean |
isGoodTrack(org.lcsim.event.Track track,
List<org.lcsim.event.Track> tracklist,
EventQuality.Quality trk_quality) |
static boolean |
isSharedHit(org.lcsim.event.TrackerHit hit,
List<org.lcsim.event.Track> othertracks) |
static boolean |
isSharedHit(org.lcsim.event.TrackerHit hit,
org.lcsim.event.Track track) |
static int |
isTopOrBottomTrack(org.lcsim.event.Track track,
int minhits) |
static boolean |
isTopTrack(org.lcsim.fit.helicaltrack.HelicalTrackFit htf) |
static boolean |
isTopTrack(org.lcsim.event.Track track,
int minhits) |
static org.lcsim.fit.helicaltrack.HelicalTrackHit |
makeHelicalTrackHitFromTrackerHit(org.lcsim.event.TrackerHit hit) |
static org.lcsim.recon.tracking.seedtracker.SeedTrack |
makeSeedTrackFromBaseTrack(org.lcsim.event.Track track) |
static org.lcsim.event.Track |
mostSharedHitTrack(org.lcsim.event.Track track,
List<org.lcsim.event.Track> tracklist)
Number of shared 3D hits between tracks
|
static int |
numberOfSharedHits(org.lcsim.event.Track track,
List<org.lcsim.event.Track> tracklist)
Number of shared 3D hits between tracks
|
static int |
numberOfSharedHits(org.lcsim.event.Track track1,
org.lcsim.event.Track track2)
Number of shared 3D hits between two tracks
|
static int |
numberOfSharedStrips(org.lcsim.event.Track track1,
org.lcsim.event.Track track2,
org.lcsim.event.RelationalTable hitToStrips,
org.lcsim.event.RelationalTable hitToRotated)
Number of 2D hits shared between tracks
|
static int |
passTrackSelections(org.lcsim.event.Track track,
List<org.lcsim.event.Track> tracklist,
EventQuality.Quality trk_quality) |
static double |
Power(double arg,
double pow) |
static double |
Sec(double arg) |
static boolean |
sensorContainsTrack(Hep3Vector trackPosition,
org.lcsim.detector.tracker.silicon.SiSensor sensor) |
static double |
Sin(double arg) |
static List<org.lcsim.event.TrackerHit> |
sortHits(Collection<org.lcsim.event.TrackerHit> hits) |
static double |
Tan(double arg) |
static void |
writeTrajectory(Hep3Vector momentum,
Hep3Vector position,
int q,
double bField,
String outFile) |
private static org.apache.commons.math3.util.Pair<org.lcsim.event.EventHeader,org.lcsim.event.RelationalTable> hitToStripsCache
private static org.apache.commons.math3.util.Pair<org.lcsim.event.EventHeader,org.lcsim.event.RelationalTable> hitToRotatedCache
public static Hep3Vector extrapolateTrackPositionToSensor(org.lcsim.event.Track track, HpsSiSensor sensor, List<HpsSiSensor> sensors, double bfield)
public static Hep3Vector extrapolateHelixToXPlane(org.lcsim.event.Track track, double x)
track
- x
- public static Hep3Vector extrapolateHelixToXPlane(org.lcsim.event.TrackState track, double x)
public static double[] getParametersFromPointAndMomentum(Hep3Vector point, Hep3Vector momentum, int charge, double BField)
@Deprecated public static double[] getParametersFromPointAndMomentum(Hep3Vector point, Hep3Vector momentum, int charge, double BField, boolean writeIt) throws FileNotFoundException
FileNotFoundException
public static double[] getParametersAtNewRefPoint(double[] newRefPoint, org.lcsim.event.TrackState trkState)
newRefPoint
- - The new reference point in XYpublic static double[] getParametersAtNewRefPoint(double[] newRefPoint, HpsHelicalTrackFit helicalTrackFit)
newRefPoint
- - The new reference point in XYpublic static double[] getParametersAtNewRefPoint(double[] newRefPoint, double[] __refPoint, double[] parameters)
newRefPoint
- - The new reference point in XYpublic static SymmetricMatrix getCovarianceAtNewRefPoint(double[] newRefPoint, double[] __refPoint, double[] par, SymmetricMatrix helixcov)
public static Hep3Vector extrapolateHelixToXPlane(org.lcsim.fit.helicaltrack.HelicalTrackFit htf, double x)
htf
- x
- public static double getPhi(org.lcsim.event.Track track, Hep3Vector position)
public static double getX0(org.lcsim.event.Track track)
public static double getR(org.lcsim.event.Track track)
public static double getY0(org.lcsim.event.Track track)
public static double getDoca(org.lcsim.event.Track track)
public static double getPhi0(org.lcsim.event.Track track)
public static double getZ0(org.lcsim.event.Track track)
public static double getTanLambda(org.lcsim.event.Track track)
public static double getSinTheta(org.lcsim.event.Track track)
public static double getCosTheta(org.lcsim.event.Track track)
public static double getPhi(org.lcsim.event.TrackState track, Hep3Vector position)
public static double getX0(org.lcsim.event.TrackState track)
public static double getX0(double doca, double phi0)
public static double getR(org.lcsim.event.TrackState track)
public static double getY0(org.lcsim.event.TrackState track)
public static double getY0(double doca, double phi0)
public static double getDoca(org.lcsim.event.TrackState track)
public static double getPhi0(org.lcsim.event.TrackState track)
public static double getZ0(org.lcsim.event.TrackState track)
public static Hep3Vector getPoint(double doca, double phi0, double z0)
public static double getTanLambda(org.lcsim.event.TrackState track)
public static double getSinTheta(org.lcsim.event.TrackState track)
public static double getCosTheta(org.lcsim.event.TrackState track)
public static int getCharge(org.lcsim.event.Track track)
public static Hep3Vector getHelixPlaneIntercept(org.lcsim.fit.helicaltrack.HelicalTrackFit helfit, Hep3Vector unit_vec_normal_to_plane, Hep3Vector point_on_plane, double bfield)
helfit
- - helixunit_vec_normal_to_plane
- - unit vector normal to the planepoint_on_plane
- - point on the planebfield
- - magnetic field valuepublic static Hep3Vector getHelixPlaneIntercept(org.lcsim.fit.helicaltrack.HelicalTrackFit helfit, Hep3Vector unit_vec_normal_to_plane, Hep3Vector point_on_plane, double bfield, double initial_s)
public static Hep3Vector getHelixPlaneIntercept(org.lcsim.fit.helicaltrack.HelicalTrackFit helfit, HelicalTrackStripGbl strip, double bfield)
helfit
- - helixstrip
- - strip cluster that will define the planebfield
- - magnetic field value@Deprecated public static Hep3Vector getTrackPositionAtHarp(org.lcsim.event.Track track)
track
- public static org.lcsim.event.base.BaseTrackState getTrackExtrapAtEcal(org.lcsim.event.Track track, org.lcsim.geometry.FieldMap fieldMap)
track
- public static org.lcsim.event.base.BaseTrackState getTrackExtrapAtEcal(org.lcsim.event.TrackState track, org.lcsim.geometry.FieldMap fieldMap)
public static org.lcsim.event.base.BaseTrackState getTrackExtrapAtEcalRK(org.lcsim.event.TrackState ts, org.lcsim.geometry.FieldMap fM)
public static org.lcsim.event.base.BaseTrackState getTrackExtrapAtEcalRK(org.lcsim.event.TrackState ts, org.lcsim.geometry.FieldMap fM, double stepSize)
public static org.lcsim.event.base.BaseTrackState getTrackExtrapAtEcalRK(org.lcsim.event.Track trk, org.lcsim.geometry.FieldMap fM, double stepSize)
public static org.lcsim.event.base.BaseTrackState getTrackExtrapAtEcalRK(org.lcsim.event.Track trk, org.lcsim.geometry.FieldMap fM)
@Deprecated public static Hep3Vector extrapolateTrack(org.lcsim.event.Track track, double z)
track
- - to be extrapolatedz
- @Deprecated public static Hep3Vector getTrackPositionAtEcal(org.lcsim.event.Track track)
@Deprecated public static Hep3Vector getTrackPositionAtEcal(org.lcsim.event.TrackState track)
@Deprecated public static Hep3Vector extrapolateTrack(org.lcsim.event.TrackState track, double z)
track
- - to be extrapolatedz
- public static Hep3Vector extrapolateTrack(org.lcsim.event.Track track, double z, org.lcsim.geometry.Detector detector)
track
- - position along the x-axis of the helix in lcsim coordinates@Deprecated public static Hep3Vector extrapolateTrack(org.lcsim.fit.helicaltrack.HelicalTrackFit helix, double z)
helix
- - to be extrapolatedz
- - position along the x-axis of the helix in lcsim coordiantes@Deprecated public static Hep3Vector getHelixPlanePositionIter(org.lcsim.fit.helicaltrack.HelicalTrackFit helix, Hep3Vector origin, Hep3Vector normal, double eps)
helix
- input helix objectorigin
- of the plane to interceptnormal
- of the plane to intercepteps
- criteria on the distance to the plane before stopping
iteration@Deprecated private static Hep3Vector getHelixPosAtX(org.lcsim.fit.helicaltrack.HelicalTrackFit helix, double x)
public static double findTriangleArea(double x0, double y0, double x1, double y1, double x2, double y2)
public static boolean sensorContainsTrack(Hep3Vector trackPosition, org.lcsim.detector.tracker.silicon.SiSensor sensor)
public static int[] getHitsInTopBottom(org.lcsim.event.Track track)
public static boolean isTopTrack(org.lcsim.event.Track track, int minhits)
public static boolean isBottomTrack(org.lcsim.event.Track track, int minhits)
public static int isTopOrBottomTrack(org.lcsim.event.Track track, int minhits)
public static boolean hasTopBotHit(org.lcsim.event.Track track)
public static boolean isSharedHit(org.lcsim.event.TrackerHit hit, List<org.lcsim.event.Track> othertracks)
public static boolean isSharedHit(org.lcsim.event.TrackerHit hit, org.lcsim.event.Track track)
public static int numberOfSharedHits(org.lcsim.event.Track track, List<org.lcsim.event.Track> tracklist)
track
- tracklist
- public static int numberOfSharedHits(org.lcsim.event.Track track1, org.lcsim.event.Track track2)
track
- tracklist
- public static org.lcsim.event.Track mostSharedHitTrack(org.lcsim.event.Track track, List<org.lcsim.event.Track> tracklist)
track
- tracklist
- public static boolean hasSharedHits(org.lcsim.event.Track track, List<org.lcsim.event.Track> tracklist)
public static void cut(int[] cuts, EventQuality.Cut bit)
public static boolean isGoodTrack(org.lcsim.event.Track track, List<org.lcsim.event.Track> tracklist, EventQuality.Quality trk_quality)
public static int passTrackSelections(org.lcsim.event.Track track, List<org.lcsim.event.Track> tracklist, EventQuality.Quality trk_quality)
public static boolean isTopTrack(org.lcsim.fit.helicaltrack.HelicalTrackFit htf)
public static boolean isBottomTrack(org.lcsim.fit.helicaltrack.HelicalTrackFit htf)
public static org.lcsim.fit.helicaltrack.HelicalTrackFit getHTF(org.lcsim.event.MCParticle mcp, double Bz)
mcp
- MC particle to be transformedHelicalTrackFit
object based on the MC particlepublic static org.lcsim.fit.helicaltrack.HelicalTrackFit getHTF(org.lcsim.event.MCParticle mcp, Hep3Vector origin, double Bz)
HelicalTrackFit
object. Note that it
produces the HelicalTrackFit
parameters at nominal reference
point at origin and assumes that there is no field at x<0mcp
- - MC particle to be transformedorigin
- - origin to be used for the trackHelicalTrackFit
object based on the MC particlepublic static org.lcsim.fit.helicaltrack.HelicalTrackFit getHTF(org.lcsim.event.Track track)
public static org.lcsim.fit.helicaltrack.HelicalTrackFit getHTF(double[] par)
public static org.lcsim.fit.helicaltrack.HelicalTrackFit getHTF(org.lcsim.event.TrackState state)
public static org.lcsim.event.MCParticle getMatchedTruthParticle(org.lcsim.event.Track track)
public static org.lcsim.recon.tracking.seedtracker.SeedTrack makeSeedTrackFromBaseTrack(org.lcsim.event.Track track)
public static org.lcsim.fit.helicaltrack.HelicalTrackHit makeHelicalTrackHitFromTrackerHit(org.lcsim.event.TrackerHit hit)
public static org.lcsim.event.RelationalTable getHitToStripsTable(org.lcsim.event.EventHeader event)
public static org.lcsim.event.RelationalTable getHitToRotatedTable(org.lcsim.event.EventHeader event)
public static double getTrackTime(org.lcsim.event.Track track, org.lcsim.event.RelationalTable hitToStrips, org.lcsim.event.RelationalTable hitToRotated)
public static double getTrackTimeSD(org.lcsim.event.Track track, org.lcsim.event.RelationalTable hitToStrips, org.lcsim.event.RelationalTable hitToRotated)
public static List<org.lcsim.event.TrackerHit> getStripHits(org.lcsim.event.Track track, org.lcsim.event.RelationalTable hitToStrips, org.lcsim.event.RelationalTable hitToRotated)
public static List<org.lcsim.event.TrackerHit> sortHits(Collection<org.lcsim.event.TrackerHit> hits)
public static int numberOfSharedStrips(org.lcsim.event.Track track1, org.lcsim.event.Track track2, org.lcsim.event.RelationalTable hitToStrips, org.lcsim.event.RelationalTable hitToRotated)
track1
- track2
- hitToStrips
- hitToRotated
- public static boolean hasSharedStrips(org.lcsim.event.Track track1, org.lcsim.event.Track track2, org.lcsim.event.RelationalTable hitToStrips, org.lcsim.event.RelationalTable hitToRotated)
track1
- track2
- hitToStrips
- hitToRotated
- public static int getLayer(org.lcsim.event.TrackerHit strip)
public static double getIsolation(org.lcsim.event.TrackerHit strip, org.lcsim.event.TrackerHit otherStrip, org.lcsim.event.RelationalTable hitToStrips, org.lcsim.event.RelationalTable hitToRotated)
strip
- The strip whose isolation is being calculated.otherStrip
- The other strip in the stereo hit.hitToStrips
- hitToRotated
- public static Double[] getIsolations(org.lcsim.event.Track trk, org.lcsim.event.RelationalTable hitToStrips, org.lcsim.event.RelationalTable hitToRotated, int layers)
trk
- hitToStrips
- hitToRotated
- public static Double[] getIsolations(org.lcsim.event.Track trk, org.lcsim.event.RelationalTable hitToStrips, org.lcsim.event.RelationalTable hitToRotated)
public static org.lcsim.event.base.BaseTrackState extrapolateTrackUsingFieldMap(org.lcsim.event.Track track, double startPositionX, double endPositionX, double stepSize, org.lcsim.geometry.FieldMap fieldMap)
extrapolateTrackUsingFieldMap
.public static org.lcsim.event.base.BaseTrackState extrapolateTrackUsingFieldMap(org.lcsim.event.TrackState track, double startPositionX, double endPosition, double stepSize, org.lcsim.geometry.FieldMap fieldMap)
track
- The Track
object to extrapolate.startPositionX
- The position from which to start the extrapolation from. The
track will be extrapolated to this point using a constant
field.endPositionX
- The position to extrapolate the track to.stepSize
- The step size determining how far a track will be extrapolated
after every iteration.fieldMap
- The 3D field mapTrackState
at the final extrapolation point. Note that
the "Tracking" frame is used for the reference point coordinate
system.public static Pair<Hep3Vector,Hep3Vector> extrapolateTrackUsingFieldMapRK(org.lcsim.event.TrackState ts, Hep3Vector startPosition, double distanceZ, double stepSize, org.lcsim.geometry.FieldMap fM)
public static org.lcsim.event.base.BaseTrackState extrapolateTrackUsingFieldMap(org.lcsim.event.TrackState track, double startPositionX, double endPosition, double stepSize, double epsilon, org.lcsim.geometry.FieldMap fieldMap)
public static double calculatePhi(double x, double y, double xc, double yc, double sign)
public static double calculatePhi(double px, double py)
public static double calculateTanLambda(double pz, double p)
public static double calculateCurvature(double p, double q, double B)
public static org.lcsim.util.swim.Trajectory getTrajectory(Hep3Vector p0, org.lcsim.spacegeom.SpacePoint r0, double q, double B)
p0
- r0
- q
- B
- public static org.lcsim.event.TrackState getTrackStateAtLocation(org.lcsim.event.Track trk, int location)
trk
- A track.location
- A TrackState location constantpublic static org.lcsim.event.TrackState getTrackStateAtECal(org.lcsim.event.Track trk)
public static Hep3Vector getBField(org.lcsim.geometry.Detector detector)
public static double Sec(double arg)
public static double Power(double arg, double pow)
public static double Cos(double arg)
public static double Sin(double arg)
public static double Tan(double arg)
public static double ArcTan(double x, double y)
public static Hep3Vector getMomentum(double omega, double phi0, double tanL, double magneticField)
public static void writeTrajectory(Hep3Vector momentum, Hep3Vector position, int q, double bField, String outFile) throws FileNotFoundException
FileNotFoundException
public static Hep3Vector globalToSensor(Hep3Vector trkpos, HpsSiSensor sensor)
Copyright © 2019. All rights reserved.