View Javadoc

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 }