]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/tracking-ca/AliHLTTPCCACompressedInputData.h
Update master to aliroot
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCACompressedInputData.h
CommitLineData
c2f1b4fb 1// $Id$
751d16ac 2#ifndef ALIHLTTPCCACOMPRESSEDINPUTDATA_H
3#define ALIHLTTPCCACOMPRESSEDINPUTDATA_H
4
9a3194d4 5#ifdef HLTCA_STANDALONE
6#include "AliHLTTPCRootTypes.h"
7#else
c2f1b4fb 8#include "Rtypes.h"
9a3194d4 9#endif
751d16ac 10
11/**
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
19 */
20struct AliHLTTPCCACompressedCluster{
21 UInt_t fP0; // First 4 bytes of the packed data
22 UInt_t fP1; // Second 4 bytes of the packed data
23};
24typedef struct AliHLTTPCCACompressedCluster AliHLTTPCCACompressedCluster;
25
26
27/**
28 * @struct AliHLTTPCCACompressedClusterRow
29 * Data structure to pack the TPC clusters
30 * before send them to the TPCCASliceTracker component.
31 * contains the PadRow information
32 */
33struct AliHLTTPCCACompressedClusterRow
34{
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
39
40#if defined(__HP_aCC) || defined(__DECCXX) || defined(__SUNPRO_CC)
41 AliHLTTPCCACompressedCluster fClusters[1]; // array of assigned clusters
42#else
43 AliHLTTPCCACompressedCluster fClusters[0]; // array of assigned clusters
44#endif
45};
46typedef struct AliHLTTPCCACompressedClusterRow AliHLTTPCCACompressedClusterRow;
47
48
49#endif