]>
Commit | Line | Data |
---|---|---|
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 | #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC) | |
74 | AliHLTTPCDigitRowData fDigits[1]; | |
75 | #else | |
76 | AliHLTTPCDigitRowData fDigits[0]; | |
77 | #endif | |
78 | }; | |
79 | ||
80 | #endif /* _ALIHLTTPCDIGITDATA_H_ */ |