/*  dst_track.idl              */
/*  Table: dst_track           */

/*  This table contains event reconstruction information about the
 *  charged particle trajectories (tracks) generated by each tracking detector;
 *  TPC, SVT, SSD, and the FTPC-East, West, which have been assigned the
 *  status of global tracks by global tracking analysis.  It is filled with 
 *  information for one event with one track per table row.  Track
 *  parameters are given in the global STAR coordinate system at various
 *  positions depending on the instantiation of this table.
 *
 *  Multiple instances of this table may be saved in the DST output.
 *  The first instance should correspond to tracks that use only the
 *  detector hits with the track parameters given at the first point.
 *  Refer to St_global_Maker for other specific instantiations.
 *  
 *  Description of selected variables:
 *  ----------------------------------
 *       det_id          Indicates which detector(s) contributed space
 *                       points to the track using the detector ID and 
 *                       global track definitions in StDetectorDefinitions.h
 *
 *       pid             Geant particle ID number for mass hypothesis
 *                       used in the tracking.  This is included for the
 *                       Kalman filter/fitter method.  The Geant PID code
 *                       is used here, rather than the Particle Data
 *                       Group's code, in order to include deuterons,
 *                       tritons, alphas.
 *
 *       covar[15]       Track fitting covariance matrix.  Kalman filter
 *                       code definition adopted here, where:
 *
 *                       ______|________________
 *                       phi*R |  1  2  3  4  5
 *                        z0   |  2  6  7  8  9
 *                       tanl  |  3  7 10 11 12    covar(i)
 *                        psi  |  4  8 11 13 14
 *                       q/pt  |  5  9 12 14 15
 *                       -----------------------
 *
 *                       and where phi  = atan2(y0,x0)
 *                                 R    = sqrt(x0*x0 + y0*y0)
 *                                 q/pt = icharge*invpt
 *
 *       chisq[2]        chi-square per degree of freedom where the
 *                       deg of freedom = (# pts used - # track params fit).
 *                       This may be the chi-square for the x-y circle fit
 *                       and the path-z linear fit.  Or this may be a
 *                       probability of chi-square. 
 */

 struct dst_track  {
  short      id;               /* Primary key                            */
  short      iflag;            /* bitmask quality information            */
  short      det_id;           /* Detector id information                */
  short      n_point;          /* number of points assigned to track,    */
                               /* SVT, TPC, FTPC component #s are packed */
  short      n_max_point;      /* maximum number of points possible,     */
                               /* SVT, TPC, FTPC component #s are packed */
  short      n_fit_point;      /* number of points used in fit,          */
                               /* SVT, TPC, FTPC component #s are packed */
  short      icharge;          /* Particle charge in units of |e|        */
  short      pid;              /* Geant particle ID for assumed mass     */
  long       id_start_vertex;  /* F.key to dst_vertex for starting vrtx. */
  float      x0;               /* x-coord. at start (cm)                 */
  float      y0;               /* y-coord. at start (cm)                 */
  float      z0;               /* z-coord. at start (cm)                 */
  float      psi;              /* azimuthal angle of pT vector (deg)     */
  float      tanl;             /* tan(dip) =pz/pt at start               */
  float      invpt;            /* 1/pt at start (GeV/c)^(-1)             */
  float      covar[15];        /* full covariance matrix                 */
  float      chisq[2];         /* Chi-square per degree of freedom       */
  float      x_first[3];       /* coord. of first measured point (cm)    */
  float      x_last[3];        /* coord. of last measured point (cm)     */
  float      length;           /* trk length from first to last pnt (cm) */
  float      impact;           /* impact parameter from prim. vertex (cm)*/
 } ;
/*  Last mod. for dst_track:   $Date: 1999/06/23 14:58:30 $ */