1 #ifndef ALIHLTTPCCACOMPRESSEDINPUTDATA_H
2 #define ALIHLTTPCCACOMPRESSEDINPUTDATA_H
4 #include "AliHLTTPCRootTypes.h"
8 * @struct AliHLTTPCCACompressedCluster
9 * Data structure to pack the TPC clusters
10 * before send them to the TPCCASliceTracker component.
11 * Data is packed in 8 bytes: fP0={p03,..,p00}, fP1={p13,..,p10}
12 * X cluster( p13,p03) = rowX+( ((fP1&0xF000)>>16)+(fP0>>24)-32768. )*1.e-4
13 * Y cluster(p02,p01,p00) = ( (fP0&0xFFF) - 8388608. )*1.e-4
14 * Z cluster(p12,p11,p10) = ( (fP1&0xFFF) - 8388608. )*1.e-4
16 struct AliHLTTPCCACompressedCluster{
17 UInt_t fP0; // First 4 bytes of the packed data
18 UInt_t fP1; // Second 4 bytes of the packed data
20 typedef struct AliHLTTPCCACompressedCluster AliHLTTPCCACompressedCluster;
24 * @struct AliHLTTPCCACompressedClusterRow
25 * Data structure to pack the TPC clusters
26 * before send them to the TPCCASliceTracker component.
27 * contains the PadRow information
29 struct AliHLTTPCCACompressedClusterRow
31 UShort_t fSlicePatchRowID; // packed slice, patch and row number
32 // ((slice<<10)+(patch<<6)+row)
33 // the row number is local withing the patch
34 UShort_t fNClusters; // number of clusters in the row
36 #if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
37 AliHLTTPCCACompressedCluster fClusters[1]; // array of assigned clusters
39 AliHLTTPCCACompressedCluster fClusters[0]; // array of assigned clusters
42 typedef struct AliHLTTPCCACompressedClusterRow AliHLTTPCCACompressedClusterRow;