When Pt is bad defined (ex. no field), the multiple scattering effect is calculated...
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCTrackSegmentData.h
1 // @(#) $Id$
2 // Original: AliHLTTrackSegmentData.h,v 1.7 2005/03/31 04:48:59 cvetan 
3
4 #ifndef ALIHLTTPCTRACKSEGMENTDATA_H
5 #define ALIHLTTPCTRACKSEGMENTDATA_H
6
7 //* This file is property of and copyright by the ALICE HLT Project        * 
8 //* ALICE Experiment at CERN, All rights reserved.                         *
9 //* See cxx source for full Copyright notice                               *
10
11 #include "AliHLTTPCRootTypes.h"
12
13 /**
14  * @struct AliHLTTPCTrackSegmentData
15  * Primitive data exchange structure for TPC tracks.
16  *
17  * @ingroup alihlt_tpc_datastructs
18  */
19 struct AliHLTTPCTrackSegmentData
20     {
21       /** x coordinate of the first point assigned to track segment */
22       Float_t fX;                                                          ///
23       /** y coordinate of the first point assigned to track segment */
24       Float_t fY;                                                          ///
25       /** z coordinate of the first point assigned to track segment */
26       Float_t fZ;                                                          ///
27       /** x coordinate of the last point assigned to track segment */
28       Float_t fLastX;                                                      ///
29       /** y coordinate of the last point assigned to track segment */
30       Float_t fLastY;                                                      ///
31       /** z coordinate of the last point assigned to track segment */
32       Float_t fLastZ;                                                      ///
33       /** transvers momentum at first point */
34       Double_t fPt;                                                        ///
35       /** local sine of the track momentum azimuthal angle at first point */
36       Double_t fPsi;                                                       ///
37       /** tangent of the track momentum dip angle at first point */
38       Double_t fTgl;                                                       ///
39       /** error at first point */
40       Double_t fY0err;                                                     ///
41       /** error at first point */
42       Double_t fZ0err;                                                     ///
43       /** error at first point */
44       Double_t fPterr;                                                     ///
45       /** error at first point */
46       Double_t fPsierr;                                                    ///
47       /** error at first point */
48       Double_t fTglerr;                                                    ///
49       /** total charge */
50       Int_t fCharge;                                                       ///
51 #ifdef INCLUDE_TPC_HOUGH
52 #ifdef ROWHOUGHPARAMS
53       /* needed for PDC */
54       UInt_t  fWeight;                // hough tracking parameters, deprecated
55       Int_t  fTrackID;                // hough tracking parameters, deprecated
56       Int_t  fRowRange1;              // hough tracking parameters, deprecated
57       Int_t  fRowRange2;              // hough tracking parameters, deprecated
58       Int_t  fSector;                 // hough tracking parameters, deprecated
59       Float_t  fPID;                  // hough tracking parameters, deprecated
60       Float_t  fBinX;                 // hough tracking parameters, deprecated
61       Float_t  fBinY;                 // hough tracking parameters, deprecated
62       Float_t  fBinXSize;             // hough tracking parameters, deprecated
63       Float_t  fBinYSize;             // hough tracking parameters, deprecated
64 #endif
65 #endif // INCLUDE_TPC_HOUGH
66       /** number of points attached in the following array */
67       UInt_t  fNPoints;                                                    ///
68 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
69       /** array of assigned points */
70       UInt_t  fPointIDs[1];                                                ///
71 #else
72       /** array of assigned points */
73       UInt_t  fPointIDs[0];                                                ///
74 #endif
75     };
76
77 typedef struct AliHLTTPCTrackSegmentData AliHLTTPCTrackSegmentData;
78
79 /**
80  * @struct AliHLTTPCTrackSegmentDataV1
81  * Former structure track segments, valid until July 2008
82  * revision 27415
83  *
84  * @ingroup alihlt_tpc_datastructs
85  */
86 struct AliHLTTPCTrackSegmentDataV1
87     {
88       /** x coordinate of the first point assigned to track segment */
89       Float_t fX;                                                          ///
90       /** y coordinate of the first point assigned to track segment */
91       Float_t fY;                                                          ///
92       /** z coordinate of the first point assigned to track segment */
93       Float_t fZ;                                                          ///
94       /** x coordinate of the last point assigned to track segment */
95       Float_t fLastX;                                                      ///
96       /** y coordinate of the last point assigned to track segment */
97       Float_t fLastY;                                                      ///
98       /** z coordinate of the last point assigned to track segment */
99       Float_t fLastZ;                                                      ///
100       /** transvers momentum at first point */
101       Double_t fPt;                                                        ///
102       /** local sine of the track momentum azimuthal angle at first point */
103       Double_t fPsi;                                                       ///
104       /** tangent of the track momentum dip angle at first point */
105       Double_t fTgl;                                                       ///
106       /** error at first point */
107       Double_t fPterr;                                                     ///
108       /** error at first point */
109       Double_t fPsierr;                                                    ///
110       /** error at first point */
111       Double_t fTglerr;                                                    ///
112       /** total charge */
113       Int_t fCharge;                                                       ///
114       /** number of points attached in the following array */
115       UInt_t  fNPoints;                                                    ///
116 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
117       /** array of assigned points */
118       UInt_t  fPointIDs[1];                                                ///
119 #else
120       /** array of assigned points */
121       UInt_t  fPointIDs[0];                                                ///
122 #endif
123     };
124
125 typedef struct AliHLTTPCTrackSegmentDataV1 AliHLTTPCTrackSegmentDataV1;
126
127 #endif /* _ALIHLTTPCTRACKSEGMENTDATA_H_ */