]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCDigitData.h
Bug fixes in HLT cluster transformation:
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDigitData.h
1 // $Id$
2
3 #ifndef _ALIHLTTPCDIGITDATA_H_
4 #define _ALIHLTTPCDIGITDATA_H_
5
6 #include "Rtypes.h" 
7
8 /**
9  * @struct AliHLTTPCDigitData
10  * Raw data structure for one row of TPC data. A digit corresponds to one
11  * measured signal in 2 coordinates: pad and time <br>
12  * The hight of the signal is given by the charge. <br>
13  * This structure is only used while runnig HLT analysis in the offline
14  * framework. Thats why it comes with a MC track id by default.
15  *
16  * The exact meaning of the 3 track ID fields is currently not known to me.
17  * (Matthias 18.09.2007) 
18  * @ingroup alihlt_tpc_datastructs
19  */
20 struct AliHLTTPCDigitData
21 {
22   UShort_t fCharge;
23   UChar_t  fPad;
24   UShort_t fTime;
25   Int_t    fTrackID[3];
26 };
27 typedef struct AliHLTTPCDigitData AliHLTTPCDigitData;
28
29 /**
30  * @struct AliHLTTPCDigitRowData
31  * A container for TPC raw data organized in rows.
32  * This is the 3rd coordinate which is missing in @ref AliHLTTPCDigitData.
33  * @ingroup alihlt_tpc_datastructs
34  */
35 struct AliHLTTPCDigitRowData
36 {
37   UInt_t fNDigit;
38   UInt_t fRow;
39 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
40   AliHLTTPCDigitData fDigitData[1];
41 #else
42   AliHLTTPCDigitData fDigitData[0];
43 #endif
44 };
45 typedef struct AliHLTTPCDigitRowData AliHLTTPCDigitRowData;
46
47 /**
48  * @struct AliHLTTPCRandomDigitData
49  * Raw data structure for TPC data. A digit corresponds to one
50  * measured signal in r coordinates: row, pad and time <br>
51  * The hight of the signal is given by the charge. <br>
52  *
53  * The structure is not used for data exchange between components,
54  * it's here for legacy reasons.
55  * @ingroup alihlt_tpc_datastructs
56  */
57 struct AliHLTTPCRandomDigitData{
58   UChar_t fRow;
59   UShort_t fCharge;
60   UChar_t fPad;
61   UShort_t fTime;
62 };
63 typedef struct AliHLTTPCRandomDigitData AliHLTTPCRandomDigitData;
64
65 /**
66  * @struct AliHLTTPCPackedRawData
67  * Container structure for TPC data.
68  * It contains an array of TPC data objects, organized by pad rows.
69  * @ingroup alihlt_tpc_datastructs
70  */
71 struct AliHLTTPCUnpackedRawData
72 {
73 #ifndef __SUNPRO_CC
74   AliHLTTPCDigitRowData fDigits[];
75 #else
76   AliHLTTPCDigitRowData fDigits[1];
77 #endif
78 };
79
80 #endif /* _ALIHLTTPCDIGITDATA_H_ */