      integer WTRACK_WORD
      parameter (WTRACK_WORD = 10*FLOAT_WORD)

      structure /wtrack_struct/
        DFLOAT px      !Px
        DFLOAT py      !Py
        DFLOAT pz      !Pz
        DFLOAT E       !E
        DFLOAT x       !x
        DFLOAT y       !y
        DFLOAT z       !z
        DFLOAT pt      !Pt = sqrt(px**2 + py**2)
        DFLOAT p       !Momentum
        DFLOAT q       !Charge
      end structure

c    Reconstructed charged tracks. Since there are two representations
c    (central and forward tracks) we adopt a standard parametrization of
c    a 4-momentum and a 3-position.

#include "const.inc"
#include "wtrack_struct.inc"

      structure /offline_track_struct/
        record /wtrack_struct/ w  !Track parameters
        DFLOAT mass         !Mass
        DFLOAT cov(7,7)     !Covariance matrix
        integer icov        !0 ==> covariance matrix not defined
                            !1 ==> covariance matrix defined
        integer hep         !Pos. of corresp. track in HEPEVT list
        integer origin      !1 = forward, 2 = central
        integer pos         !Pos. of track in central or forward list
      end structure
#endif
#include "offline_track_struct.inc"

c    Offline reconstructed charged tracks.

      integer trk_off_max
      parameter (trk_off_max = 400)

      integer trk_off_num                       !Number of tracks
      record /offline_track_struct/ trk_off     !Track parameters

      common /trk_off1/
     *  trk_off_num

      common /trk_off2/
     *  trk_off(trk_off_max)
 
-
-
-
-
-
--
-
-
-
-
-
-
-
--

-
-
-
 
 typedef struct _wtrack_struct {
        double px;      
        double py;      
        double pz;      
        double E;       
        double x;       
        double y;       
        double z;       
        double pt;      
        double p;      
        double q;       
} wtrack_struct;
 
typedef struct _offline_track_struct {
        wtrack_struct w;
        double mass;        
        double cov[7][7];   
        int icov;       
        int hep;        
        int origin;      
        int pos;        
}offline_track_struct; 


#define TRK_OFF_MAX 400 
extern struct trk_off1 {
  int trk_off_num;
}trk_off1_;

extern struct trk_off2 {
   offline_track_struct trk_off[TRK_OFF_MAX];
}trk_off2_;
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
    
