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