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 *
6 #ifndef ALIHLTEXTERNALTRACKPARAM_H
7 #define ALIHLTEXTERNALTRACKPARAM_H
9 #include "AliHLTDataTypes.h"
10 #include "AliHLTStdIncludes.h"
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.
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.
23 * @ingroup alihlt_component_datatypes
25 struct AliHLTExternalTrackParam
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
41 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
42 UInt_t fPointIDs[1]; // array of points
44 UInt_t fPointIDs[0]; // array of points
48 typedef struct AliHLTExternalTrackParam AliHLTExternalTrackParam;
50 struct AliHLTTracksData {
51 AliHLTUInt32_t fCount; // number of tracklets
52 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
53 AliHLTExternalTrackParam fTracklets[1]; // array of tracklets
55 AliHLTExternalTrackParam fTracklets[]; // array of tracklets
59 typedef struct AliHLTTracksData AliHLTTracksData;