2 // Original: AliHLTModels.h,v 1.11 2004/05/17 16:37:19 hristov
4 //* This file is property of and copyright by the ALICE HLT Project *
5 //* ALICE Experiment at CERN, All rights reserved. *
6 //* See cxx source for full Copyright notice *
8 #ifndef AliHLTTPCModels_H
9 #define AliHLTTPCModels_H
11 /// \author Anders Vestbo or Constantin Loizides
13 /// \brief Data structures used for TPC clusters.
15 /// Basic structures used by the AliHLTTPCModelTrack class.
17 #include "AliHLTTPCRootTypes.h"
19 const Int_t kMaxNClusters = 32;
21 struct AliHLTTPCClusterModel {
22 Byte_t fPresent; // Boolean flag, is the cluster present or not?
23 Float_t fDTime; // Digit time.
24 Float_t fDPad; // Digit pad.
25 Float_t fDCharge; // Digit charge.
26 Float_t fDSigmaY; // Sigma in Y.
27 Float_t fDSigmaZ; // Sigma in X.
28 UInt_t fNPads; // Total number of pafs.
29 Short_t fSlice; // TPC slice.
31 Int_t fTrackID[3]; // Track IDs from MC.
34 typedef struct AliHLTTPCClusterModel AliHLTTPCClusterModel;
36 struct AliHLTTPCRemainingCluster {
37 Float_t fPad; // Pad value.
38 Float_t fTime; // Time value.
39 Float_t fSigmaY2; // Square of sigma in Y.
40 Float_t fSigmaZ2; // Square of sigma in X.
41 UShort_t fCharge; // Charge.
43 typedef struct AliHLTTPCRemainingCluster AliHLTTPCRemainingCluster;
45 struct AliHLTTPCRemainingRow {
46 Byte_t fPadRow; //1 byte
47 UShort_t fNClusters; //2 bytes
48 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
49 AliHLTTPCRemainingCluster fClusters[1]; // Array of clusters.
51 AliHLTTPCRemainingCluster fClusters[0]; // Array of clusters.
54 typedef struct AliHLTTPCRemainingRow AliHLTTPCRemainingRow;
56 struct AliHLTTPCTrackModel {//5 independent parameters is needed to encode the helix:
57 Float_t fKappa; //Curvature
58 Float_t fPhi; //Azimuthal angle of DCAO (distance of closest approach to origo)
59 Float_t fD; //radius of DCA0
60 Float_t fZ0; //z-coordinate of DCA0
61 Float_t fTgl; //tan of dipangle
63 typedef struct AliHLTTPCTrackModel AliHLTTPCTrackModel;