ALIROOT-5600 - skip non-participating detector modules
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTExternalTrackParam.h
CommitLineData
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 */
25struct 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
48typedef struct AliHLTExternalTrackParam AliHLTExternalTrackParam;
49
50struct 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
66b7af32 55 AliHLTExternalTrackParam fTracklets[0]; // array of tracklets
55739e9e 56#endif
57};
58
59typedef struct AliHLTTracksData AliHLTTracksData;
60
61#endif