]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/tracking-ca/AliHLTTPCCACompressedInputData.h
bug fix: reconstruction crash when the output buffer size exceed
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCACompressedInputData.h
CommitLineData
751d16ac 1#ifndef ALIHLTTPCCACOMPRESSEDINPUTDATA_H
2#define ALIHLTTPCCACOMPRESSEDINPUTDATA_H
3
4#include "AliHLTTPCRootTypes.h"
5
6
7/**
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
15 */
16struct AliHLTTPCCACompressedCluster{
17 UInt_t fP0; // First 4 bytes of the packed data
18 UInt_t fP1; // Second 4 bytes of the packed data
19};
20typedef struct AliHLTTPCCACompressedCluster AliHLTTPCCACompressedCluster;
21
22
23/**
24 * @struct AliHLTTPCCACompressedClusterRow
25 * Data structure to pack the TPC clusters
26 * before send them to the TPCCASliceTracker component.
27 * contains the PadRow information
28 */
29struct AliHLTTPCCACompressedClusterRow
30{
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
35
36#if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
37 AliHLTTPCCACompressedCluster fClusters[1]; // array of assigned clusters
38#else
39 AliHLTTPCCACompressedCluster fClusters[0]; // array of assigned clusters
40#endif
41};
42typedef struct AliHLTTPCCACompressedClusterRow AliHLTTPCCACompressedClusterRow;
43
44
45#endif