1 package org.lcsim.event; 2 3 import hep.physics.matrix.SymmetricMatrix; 4 5 import java.util.List; 6 7 8 /** 9 * Represents a found (reconstructed) track 10 * 11 * @author tonyj 12 * @version $Id: Track.java,v 1.13 2012/09/05 18:23:20 jeremy Exp $ 13 */ 14 15 public interface Track 16 { 17 int getCharge(); 18 19 /** 20 * @deprecated Use TrackState method instead. 21 * @return 22 */ 23 @Deprecated 24 double[] getReferencePoint(); 25 26 /** 27 * @deprecated Use TrackState method instead. 28 * @return 29 */ 30 @Deprecated 31 double getReferencePointX(); 32 33 /** 34 * @deprecated Use TrackState method instead. 35 * @return 36 */ 37 @Deprecated 38 double getReferencePointY(); 39 40 /** 41 * @deprecated Use TrackState method instead. 42 * @return 43 */ 44 @Deprecated 45 double getReferencePointZ(); 46 47 boolean isReferencePointPCA(); 48 49 /** 50 * @deprecated Use TrackState method instead. 51 * @return 52 */ 53 @Deprecated 54 double[] getMomentum(); 55 56 // Hep3Vector momentum(); 57 // SpacePoint referencePoint(); 58 /** 59 * @deprecated Use TrackState method instead. 60 * @return 61 */ 62 @Deprecated 63 double getPX(); 64 65 /** 66 * @deprecated Use TrackState method instead. 67 * @return 68 */ 69 @Deprecated 70 double getPY(); 71 72 /** 73 * @deprecated Use TrackState method instead. 74 * @return 75 */ 76 @Deprecated 77 double getPZ(); 78 79 // MCParticle getMCParticle(); 80 81 /** 82 * Returns true if the track has been successfully fitted 83 */ 84 boolean fitSuccess(); 85 86 /** 87 * Get an individual track parameter 88 * 89 * The track parameters for LCD are defined as follows <table> 90 * <tr> 91 * <th>Index</th> 92 * <th>Meaning</th> 93 * </tr> 94 * <tr> 95 * <td> 0 </td> 96 * <td> d0 = XY impact parameter </td> 97 * <tr> 98 * <tr> 99 * <td> 1 </td> 100 * <td> phi0 </td> 101 * <tr> </td> 102 * <tr> 103 * <tr> 104 * <td> 2 </td> 105 * <td> omega = 1/curv.radius (negative for negative tracks) </td> 106 * <tr> 107 * <tr> 108 * <td> 3 </td> 109 * <td> z0 = z of track origin (z impact parameter) </td> 110 * <tr> 111 * <tr> 112 * <td> 4 </td> 113 * <td> s = tan lambda </td> 114 * <tr> </table> Parameters according to <a 115 * href="../util/swim/doc-files/L3_helix.pdf">the L3 conventions</a><br /> 116 * 117 * @param i 118 * The index of the track parameter 119 * @return The track parameter with the specified index 120 * @deprecated Use TrackState method instead. 121 */ 122 @Deprecated 123 double getTrackParameter(int i); 124 125 /** 126 * Get the track parameters as an array 127 * 128 * @see #getTrackParameter 129 * 130 * @deprecated Use TrackState method instead. 131 */ 132 @Deprecated 133 double[] getTrackParameters(); 134 135 /** 136 * Get the error matrix 137 * 138 * @see #getTrackParameter 139 * 140 * @deprecated Use TrackState method instead. 141 */ 142 @Deprecated 143 SymmetricMatrix getErrorMatrix(); 144 145 /** 146 * Get the Chi Squared for the track fit 147 * 148 * @see #getNDF 149 * @return Chi Squared 150 */ 151 double getChi2(); 152 153 /** 154 * Get the numbers of degrees of freedom for the fit 155 * 156 * @see #getChi2 157 * @return The number of degrees of freedom 158 */ 159 int getNDF(); 160 161 double getdEdx(); 162 163 double getdEdxError(); 164 165 double getRadiusOfInnermostHit(); 166 167 int[] getSubdetectorHitNumbers(); 168 169 List<Track> getTracks(); 170 171 List<TrackerHit> getTrackerHits(); 172 173 int getType(); 174 175 List<TrackState> getTrackStates(); 176 }