View Javadoc

1   package org.lcsim.mc.fast.tracking;
2   
3   import hep.physics.matrix.SymmetricMatrix;
4   import hep.physics.vec.Hep3Vector;
5   
6   interface TrackParameters extends Hep3Vector {
7       double getD0();
8   
9       /**
10       * Get the error matrix
11       * @see #getTrackParameter
12       */
13      SymmetricMatrix getErrorMatrix();
14  
15      double[] getMomentum();
16  
17      double getOmega();
18  
19      double getPX();
20  
21      double getPY();
22  
23      double getPZ();
24  
25      double getPhi0();
26  
27      double getPtot();
28  
29      double getTanL();
30  
31      /**
32       * Get an individual track parameter. <br>
33       *
34       * The track parameters for LCD are defined as follows
35       * <table>
36       * <tr>
37       * <th>Index</th>
38       * <th>Meaning</th>
39       * </tr>
40       * <tr>
41       * <td>0</td>
42       * <td>d0 = XY impact parameter</td>
43       * <tr>
44       * <tr>
45       * <td>1</td>
46       * <td>phi0</td>
47       * <tr>
48       * </td>
49       * <tr>
50       * <tr>
51       * <td>2</td>
52       * <td>omega = 1/curv.radius (negative for q/abs(q) > 0)</td>
53       * <tr>
54       * <tr>
55       * <td>3</td>
56       * <td>z0 = z of track (z impact parameter)</td>
57       * <tr>
58       * <tr>
59       * <td>4</td>
60       * <td>s = tan lambda</td>
61       * <tr>
62       * </table>
63       * @param i The index of the track parameter
64       * @return The track parameter with the specified index
65       */
66      double getTrackParameter(int i);
67  
68      /**
69       * Get the track parameters as an array
70       * @see #getTrackParameter
71       */
72      double[] getTrackParameters();
73  
74      int getUnitCharge();
75  
76      double getZ0();
77  }