- adjusting binning of pad histograms to make single pad cluster contribution and...
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCModels.h
1 // @(#) $Id$
2 // Original: AliHLTModels.h,v 1.11 2004/05/17 16:37:19 hristov 
3
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                               *
7
8 #ifndef AliHLTTPCModels_H
9 #define AliHLTTPCModels_H
10
11 /// \author Anders Vestbo or Constantin Loizides
12 /// \date 7 Sep 2005
13 /// \brief Data structures used for TPC clusters.
14 ///
15 /// Basic structures used by the AliHLTTPCModelTrack class.
16
17 #include "AliHLTTPCRootTypes.h"
18
19 const Int_t kMaxNClusters = 32;
20
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.
30 #ifdef do_mc
31   Int_t fTrackID[3];  // Track IDs from MC.
32 #endif
33 };
34 typedef struct AliHLTTPCClusterModel AliHLTTPCClusterModel;
35
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.
42 };
43 typedef struct AliHLTTPCRemainingCluster AliHLTTPCRemainingCluster;
44
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.
50 #else
51   AliHLTTPCRemainingCluster fClusters[0];  // Array of clusters.
52 #endif
53 };
54 typedef struct AliHLTTPCRemainingRow AliHLTTPCRemainingRow;
55
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
62 };
63 typedef struct AliHLTTPCTrackModel AliHLTTPCTrackModel;
64
65 #endif