1 package org.lcsim.event; 2 3 /** 4 * The LCIO TrackState interface. 5 * 6 * @author gaede, engels 7 * @author Jeremy McCormick 8 * @version $Id: TrackState.java,v 1.2 2012/06/18 23:02:14 jeremy Exp $ 9 */ 10 public interface TrackState 11 { 12 // TrackState location codes. 13 public final static int AtOther = 0; // Any location other than the ones defined below. 14 public final static int AtIP = 1; 15 public final static int AtFirstHit = 2; 16 public final static int AtLastHit = 3; 17 public final static int AtCalorimeter = 4; 18 public final static int AtVertex = 5; 19 public final static int LastLocation = AtVertex; 20 21 /** 22 * The location of the track state. 23 * Location can be set to: AtIP, AtFirstHit, AtLastHit, AtCalorimeter, AtVertex, AtOther 24 */ 25 public int getLocation(); 26 27 /** 28 * Impact paramter of the track in (r-phi). 29 */ 30 public double getD0(); 31 32 /** 33 * Phi of the track at the reference point. 34 * @see getReferencePoint 35 */ 36 public double getPhi(); 37 38 /** 39 * Omega is the signed curvature of the track in [1/mm]. 40 * The sign is that of the particle's charge. 41 */ 42 public double getOmega(); 43 44 /** 45 * Impact paramter of the track in (r-z). 46 */ 47 public double getZ0(); 48 49 /** 50 * Lambda is the dip angle of the track in r-z at the reference point. 51 * @see getReferencePoint 52 */ 53 public double getTanLambda(); 54 55 /** 56 * Get the ordered list of 5 LCIO track parameters. 57 * @return The track parameters as a double array of size 5. 58 */ 59 public double[] getParameters(); 60 61 /** 62 * Covariance matrix of the track parameters. Stored as lower triangle matrix where 63 * the order of parameters is: d0, phi, omega, z0, tan(lambda). 64 * So we have cov(d0,d0), cov( phi, d0 ), cov( phi, phi), ... 65 * @return A double array of size 15 containing the covariance matrix of the track parameters. 66 */ 67 public double[] getCovMatrix(); 68 69 /** 70 * Reference point of the track parameters. 71 * The default for the reference point is the point of closest approach. 72 * @return The reference point of the track parameters as a double array of size 3. 73 */ 74 public double[] getReferencePoint(); 75 76 public double[] getMomentum(); 77 78 /** 79 * Get an individual track parameter. 80 * They are returned by the following keys: 81 * 0 = d0 82 * 1 = phi 83 * 2 = omega 84 * 3 = z0 85 * 4 = tanLambda 86 * This order is defined in BaseTrack. 87 * @return The track parameters. 88 */ 89 public double getParameter(int iparam); 90 }