]>
Commit | Line | Data |
---|---|---|
55739e9e | 1 | // $Id$ |
2 | //* This file is property of and copyright by the ALICE HLT Project * | |
3 | //* ALICE Experiment at CERN, All rights reserved. * | |
4 | //* See cxx source for full Copyright notice * | |
5 | ||
e7a2234a | 6 | #ifndef ALIHLTEXTERNALTRACKPARAM_H |
7 | #define ALIHLTEXTERNALTRACKPARAM_H | |
55739e9e | 8 | |
4662eff8 | 9 | #include "AliHLTDataTypes.h" |
55739e9e | 10 | #include "AliHLTStdIncludes.h" |
11 | ||
12 | /** | |
13 | * @struct AliHLTExternalTrackParam | |
14 | * This in a struct for tracks which are closer to the format used by offline. | |
15 | * The offline parametrisation we find in AliExternalTrackParam class. | |
16 | * The covariance matrix is in Double_t since this is the format in AliExternalTrackParam. | |
17 | * This saves time in translating from Float_t to Double_t. The other values has to be copied | |
18 | * anyway, so these can be Float_t for saveing space.The charge is now removed and the Pt has a sign. | |
19 | * | |
e7a2234a | 20 | * The array of points is just appended to the structure. The member of array size 0 |
21 | * is not supported by all compilers. An open issue is that the code can not work if | |
22 | * the array size is 1, this was just added in order to make it compile. | |
55739e9e | 23 | * @ingroup alihlt_component_datatypes |
24 | */ | |
25 | struct AliHLTExternalTrackParam | |
26 | { | |
e7a2234a | 27 | Float_t fAlpha; // azimuthal angle of reference frame |
28 | Float_t fX; // x: radial distance | |
29 | Float_t fY; // local Y-coordinate of a track (cm) | |
30 | Float_t fZ; // local Z-coordinate of a track (cm) | |
31 | Float_t fSinPsi; // local sine of the track momentum azimuthal angle | |
32 | Float_t fTgl; // tangent of the track momentum dip angle | |
33 | Float_t fq1Pt; // 1/pt (1/(GeV/c)) | |
34 | Float_t fC[15]; // covariance matrix | |
35 | Float_t fLastX; // x of last point | |
36 | Float_t fLastY; // y of last point | |
37 | Float_t fLastZ; // z of last point | |
38 | Int_t fTrackID;// track id | |
39 | UInt_t fFlags; // flags | |
40 | UInt_t fNPoints;// number of points | |
55739e9e | 41 | #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC) |
e7a2234a | 42 | UInt_t fPointIDs[1]; // array of points |
55739e9e | 43 | #else |
e7a2234a | 44 | UInt_t fPointIDs[0]; // array of points |
55739e9e | 45 | #endif |
46 | }; | |
47 | ||
48 | typedef struct AliHLTExternalTrackParam AliHLTExternalTrackParam; | |
49 | ||
50 | struct AliHLTTracksData { | |
e7a2234a | 51 | AliHLTUInt32_t fCount; // number of tracklets |
55739e9e | 52 | #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC) |
e7a2234a | 53 | AliHLTExternalTrackParam fTracklets[1]; // array of tracklets |
55739e9e | 54 | #else |
e7a2234a | 55 | AliHLTExternalTrackParam fTracklets[]; // array of tracklets |
55739e9e | 56 | #endif |
57 | }; | |
58 | ||
59 | typedef struct AliHLTTracksData AliHLTTracksData; | |
60 | ||
61 | #endif |