]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/BASE/AliHLTExternalTrackParam.h
HLTcalo module
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTExternalTrackParam.h
index d62999cedc74ed26572417531c76088f14afef92..f8b35644a4dce2f9b2a5616701abe6b2527b0ee0 100644 (file)
@@ -3,9 +3,10 @@
 //* ALICE Experiment at CERN, All rights reserved.                         *
 //* See cxx source for full Copyright notice                               *
 
-#ifndef _ALIHLTEXTERNALTRACKPARAM_H_
-#define _ALIHLTEXTERNALTRACKPARAM_H_
+#ifndef ALIHLTEXTERNALTRACKPARAM_H
+#define ALIHLTEXTERNALTRACKPARAM_H
 
+#include "AliHLTDataTypes.h"
 #include "AliHLTStdIncludes.h"
 
 /**
  * This saves time in translating from Float_t to Double_t. The other values has to be copied 
  * anyway, so these can be Float_t for saveing space.The charge is now removed and the Pt has a sign.
  *
+ * The array of points is just appended to the structure. The member of array size 0
+ * is not supported by all compilers. An open issue is that the code can not work if
+ * the array size is 1, this was just added in order to make it compile.
  * @ingroup alihlt_component_datatypes
  */
 struct AliHLTExternalTrackParam
     {
-      Float_t fAlpha;
-      Float_t fX;
-      Float_t fY;
-      Float_t fZ;
-      Float_t fLastX;
-      Float_t fLastY;
-      Float_t fLastZ;
-      Float_t fq1Pt;
-      Float_t fSinPsi;
-      Float_t fTgl;
-      Float_t fC[15];
-      UInt_t  fNPoints;
+      Float_t fAlpha;  // azimuthal angle of reference frame
+      Float_t fX;      // x: radial distance
+      Float_t fY;      // local Y-coordinate of a track (cm)
+      Float_t fZ;      // local Z-coordinate of a track (cm)
+      Float_t fSinPsi; // local sine of the track momentum azimuthal angle
+      Float_t fTgl;    // tangent of the track momentum dip angle
+      Float_t fq1Pt;   // 1/pt (1/(GeV/c))
+      Float_t fC[15];  // covariance matrix
+      Float_t fLastX;  // x of last point
+      Float_t fLastY;  // y of last point
+      Float_t fLastZ;  // z of last point
+      Int_t   fTrackID;// track id
+      UInt_t  fFlags;  // flags
+      UInt_t  fNPoints;// number of points
 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
-      UInt_t  fPointIDs[1];
+      UInt_t  fPointIDs[1]; // array of points
 #else
-      UInt_t  fPointIDs[0];
+      UInt_t  fPointIDs[0]; // array of points
 #endif
      };
 
 typedef struct AliHLTExternalTrackParam AliHLTExternalTrackParam;
 
 struct AliHLTTracksData {
-       AliHLTUInt32_t fCount;
+  AliHLTUInt32_t fCount; // number of tracklets
 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
-       AliHLTExternalTrackParam fTracklets[1];
+  AliHLTExternalTrackParam fTracklets[1]; // array of tracklets
 #else
-       AliHLTExternalTrackParam fTracklets[];
+  AliHLTExternalTrackParam fTracklets[0]; // array of tracklets
 #endif
 };