4 #ifndef ALIHLTTPCDEFINITIONS_H
5 #define ALIHLTTPCDEFINITIONS_H
6 //* This file is property of and copyright by the ALICE HLT Project *
7 //* ALICE Experiment at CERN, All rights reserved. *
8 //* See cxx source for full Copyright notice *
10 #include "AliHLTDataTypes.h"
14 * @class AliHLTTPCDefinitions
15 * Data type definitions for the libAliHLTTPC library.
19 class AliHLTTPCDefinitions
22 AliHLTTPCDefinitions();
23 virtual ~AliHLTTPCDefinitions();
25 static AliHLTUInt8_t GetMinSliceNr( const AliHLTComponentBlockData& block )
27 return (AliHLTUInt8_t)( (block.fSpecification & 0x00FF0000) >> 16 );
29 static AliHLTUInt8_t GetMinSliceNr( ULong_t spec )
31 return (AliHLTUInt8_t)( (spec & 0x00FF0000) >> 16 );
33 static AliHLTUInt8_t GetMaxSliceNr( const AliHLTComponentBlockData& block )
35 return (AliHLTUInt8_t)( (block.fSpecification & 0xFF000000) >> 24 );
37 static AliHLTUInt8_t GetMaxSliceNr( ULong_t spec )
39 return (AliHLTUInt8_t)( (spec & 0xFF000000) >> 24 );
41 static AliHLTUInt8_t GetMinPatchNr( const AliHLTComponentBlockData& block )
43 return (AliHLTUInt8_t)( (block.fSpecification & 0x000000FF) );
45 static AliHLTUInt8_t GetMinPatchNr( ULong_t spec )
47 return (AliHLTUInt8_t)( (spec & 0x000000FF) );
49 static AliHLTUInt8_t GetMaxPatchNr( const AliHLTComponentBlockData& block )
51 return (AliHLTUInt8_t)( (block.fSpecification & 0x0000FF00) >> 8 );
53 static AliHLTUInt8_t GetMaxPatchNr( ULong_t spec )
55 return (AliHLTUInt8_t)( (spec & 0x0000FF00) >> 8 );
58 static AliHLTUInt32_t EncodeDataSpecification( AliHLTUInt8_t minSliceNr,
59 AliHLTUInt8_t maxSliceNr,
60 AliHLTUInt8_t minPatchNr,
61 AliHLTUInt8_t maxPatchNr )
63 return ((maxSliceNr & 0xFF) << 24) | ((minSliceNr & 0xFF) << 16) | ((maxPatchNr & 0xFF) << 8) | ((minPatchNr & 0xFF));
66 /** DDL packed RAW data */
67 static const AliHLTComponentDataType fgkDDLPackedRawDataType; // see above
68 /** DDL entropy encoded data */
69 static const AliHLTComponentDataType fgkDDLEncodedEntropyRawDataType; // see above
70 /** packed RAW data */
71 static const AliHLTComponentDataType fgkPackedRawDataType; // see above
72 /** unpacked RAW data */
73 static const AliHLTComponentDataType fgkUnpackedRawDataType; // see above
75 static const AliHLTComponentDataType fgkClustersDataType; // see above
76 /** track segments in local coordinates */
77 static const AliHLTComponentDataType fgkTrackSegmentsDataType; // see above
78 /** tracks in global koordinates */
79 static const AliHLTComponentDataType fgkTracksDataType; // see above
80 /** vertex data structure */
81 static const AliHLTComponentDataType fgkVertexDataType; // see above
83 // Cluster & Tracks model data
84 /** cluster tracks model data type */
85 static const AliHLTComponentDataType fgkClusterTracksModelDataType; // see above
86 /** remaining clusters model data type */
87 static const AliHLTComponentDataType fgkRemainingClustersModelDataType; // see above
88 /** cluster tracks compressed data type */
89 static const AliHLTComponentDataType fgkClusterTracksCompressedDataType; // see above
90 /** remaining clusters compressed data type */
91 static const AliHLTComponentDataType fgkRemainingClustersCompressedDataType; // see above
94 /** pedestal calibration data */
95 static const AliHLTComponentDataType fgkCalibPedestalDataType; // see above
96 /** signal calibration data */
97 static const AliHLTComponentDataType fgkCalibPulserDataType; // see above
98 /** central electrode calibration data */
99 static const AliHLTComponentDataType fgkCalibCEDataType; // see above
101 // offline calbration components
103 /** alignment calibration data */
104 static const AliHLTComponentDataType fgkOfflineCalibAlignDataType; // see above
105 /** track calibration data */
106 static const AliHLTComponentDataType fgkOfflineCalibTracksDataType; // see above
107 /** gain calibration data */
108 static const AliHLTComponentDataType fgkOfflineCalibTracksGainDataType; // see above
110 ClassDef(AliHLTTPCDefinitions, 2)