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 }