Class Track

All Implemented Interfaces:
Serializable, Cloneable, Comparable<Track>, Iterable<Cross>, Collection<Cross>, List<Cross>, RandomAccess

public class Track extends Trajectory implements Comparable<Track>
A class representing track candidates in the CVT. A track has a trajectory represented by an ensemble of geometrical state vectors along its path, a charge and a momentum
Author:
ziegler
See Also:
  • Constructor Details

    • Track

      public Track(Helix helix)
    • Track

      public Track(Seed seed)
    • Track

      public Track(Seed seed, KFitter kf)
    • Track

      public Track(Seed seed, KFitter kf, int pid)
  • Method Details

    • getQ

      public int getQ()
      Returns:
      the charge
    • setQ

      public void setQ(int _Q)
      Sets the charge
      Parameters:
      _Q - the charge
    • getPt

      public double getPt()
    • setPt

      public void setPt(double _Pt)
    • getPz

      public double getPz()
    • setPz

      public void setPz(double _Pz)
    • getSerialversionuid

      public static long getSerialversionuid()
    • getP

      public double getP()
      Returns:
      the total momentum value
    • setP

      public void setP(double _P)
      Sets the total momentum value
      Parameters:
      _P - the total momentum value
    • getSecondaryHelix

      public Helix getSecondaryHelix()
    • setSecondaryHelix

      public void setSecondaryHelix(Helix secondaryHelix)
    • getSecondaryChi2

      public double getSecondaryChi2()
    • setSecondaryChi2

      public void setSecondaryChi2(double secondaryChi2)
    • getSecondaryNDF

      public int getSecondaryNDF()
    • setSecondaryNDF

      public void setSecondaryNDF(int secondaryNDF)
    • getSeed

      public Seed getSeed()
    • setSeed

      public final void setSeed(Seed seed)
    • setPXYZ

      public final void setPXYZ()
      Sets the track helical track parameters P, Pt, Pz
    • update_Crosses

      public void update_Crosses(int trackId, double xb, double yb)
      Updates the crosses positions based on trajectories or helix
      Parameters:
      trackId -
    • update_Clusters

      public void update_Clusters(int trackId)
    • containsCross

      public boolean containsCross(Cross cross)
      Parameters:
      cross - the cross
      Returns:
      a boolean to indicate if a cross belongs to the track
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface Collection<Cross>
      Specified by:
      equals in interface List<Cross>
      Overrides:
      equals in class ArrayList<Cross>
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Collection<Cross>
      Specified by:
      hashCode in interface List<Cross>
      Overrides:
      hashCode in class ArrayList<Cross>
    • compareTo

      public int compareTo(Track tr)
      Specified by:
      compareTo in interface Comparable<Track>
    • isGood

      public boolean isGood()
      Check if track passes basic quality cuts
      Returns:
    • betterThan

      public boolean betterThan(Track o)
      Compare this track quality with the given track based on NDF and Chi2
      Parameters:
      o - the other track
      Returns:
      true if this track quality is better than the given track
    • overlapWith

      public boolean overlapWith(Track o)
      Check track overlaps with the given track an overlaps is detected if the tracks share at least two crosses
      Parameters:
      o - the other track
      Returns:
      true if this track overlaps with the given track, false otherwise
    • getTrackPosAtCTOF

      public Point3D getTrackPosAtCTOF()
    • setTrackPosAtCTOF

      public void setTrackPosAtCTOF(Point3D _TrackPointAtCTOFRadius)
    • getTrackDirAtCTOF

      public Vector3D getTrackDirAtCTOF()
    • setTrackDirAtCTOF

      public void setTrackDirAtCTOF(Vector3D _TrackDirAtCTOFRadious)
    • getPathToCTOF

      public double getPathToCTOF()
    • setPathToCTOF

      public void setPathToCTOF(double _pathLength)
    • getPID

      public int getPID()
    • setPID

      public void setPID(int _PID)
    • getNDF

      public int getNDF()
    • setNDF

      public final void setNDF(int _NDF)
    • getChi2

      public double getChi2()
    • setChi2

      public final void setChi2(double _Chi2)
    • getChi2Prob

      public double getChi2Prob()
    • getKFIterations

      public int getKFIterations()
    • setKFIterations

      public void setKFIterations(int iter)
    • getKFTrajectories

      public Map<Integer,AKFitter.HitOnTrack> getKFTrajectories()
    • setKFTrajectories

      public final void setKFTrajectories(Map<Integer,AKFitter.HitOnTrack> trajectory)
    • getStatus

      public int getStatus()
    • setStatus

      public void setStatus(int passKFFlag)
    • getTrackCovMat

      public double[][] getTrackCovMat()
      Returns:
      the trackCovMat
    • setTrackCovMat

      public void setTrackCovMat(double[][] trackCovMat)
      Parameters:
      trackCovMat - the trackCovMat to set
    • findTrajectory

      public void findTrajectory(Swim swimmer, List<Surface> outer)
    • getTempId

      public int getTempId()
    • setTempId

      public void setTempId(int _tempId)
    • removeOverlappingTracks

      public static void removeOverlappingTracks(List<Track> tracks)
    • checkForOverlaps

      public static void checkForOverlaps(List<Track> tracks, String msg)
    • toString

      public String toString()
      Overrides:
      toString in class AbstractCollection<Cross>