View Javadoc

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  }