]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCDefinitions.h
Trigger bit mask and multiplicity per PMT in the VZERO ESD. Related changes and class...
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDefinitions.h
CommitLineData
71d7c760 1// XEmacs -*-C++-*-
2// @(#) $Id$
3
4#ifndef ALIHLTTPCDEFINITIONS_H
5#define ALIHLTTPCDEFINITIONS_H
13398559 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 *
71d7c760 9
10#include "AliHLTDataTypes.h"
96bda103 11#include "Rtypes.h"
71d7c760 12
13398559 13/**
14 * @class AliHLTTPCDefinitions
15 * Data type definitions for the libAliHLTTPC library.
297174de 16 *
17 * @ingroup alihlt_tpc
13398559 18 */
71d7c760 19class AliHLTTPCDefinitions
96bda103 20{
21public:
2a083ac4 22 AliHLTTPCDefinitions();
23 virtual ~AliHLTTPCDefinitions();
71d7c760 24
8ede8717 25 static AliHLTUInt8_t GetMinSliceNr( const AliHLTComponentBlockData& block )
71d7c760 26 {
27 return (AliHLTUInt8_t)( (block.fSpecification & 0x00FF0000) >> 16 );
28 }
a6c02c85 29 static AliHLTUInt8_t GetMinSliceNr( ULong_t spec )
30 {
31 return (AliHLTUInt8_t)( (spec & 0x00FF0000) >> 16 );
32 }
8ede8717 33 static AliHLTUInt8_t GetMaxSliceNr( const AliHLTComponentBlockData& block )
71d7c760 34 {
35 return (AliHLTUInt8_t)( (block.fSpecification & 0xFF000000) >> 24 );
36 }
a6c02c85 37 static AliHLTUInt8_t GetMaxSliceNr( ULong_t spec )
38 {
39 return (AliHLTUInt8_t)( (spec & 0xFF000000) >> 24 );
40 }
8ede8717 41 static AliHLTUInt8_t GetMinPatchNr( const AliHLTComponentBlockData& block )
71d7c760 42 {
43 return (AliHLTUInt8_t)( (block.fSpecification & 0x000000FF) );
44 }
a6c02c85 45 static AliHLTUInt8_t GetMinPatchNr( ULong_t spec )
46 {
47 return (AliHLTUInt8_t)( (spec & 0x000000FF) );
48 }
8ede8717 49 static AliHLTUInt8_t GetMaxPatchNr( const AliHLTComponentBlockData& block )
71d7c760 50 {
51 return (AliHLTUInt8_t)( (block.fSpecification & 0x0000FF00) >> 8 );
52 }
a6c02c85 53 static AliHLTUInt8_t GetMaxPatchNr( ULong_t spec )
54 {
55 return (AliHLTUInt8_t)( (spec & 0x0000FF00) >> 8 );
56 }
71d7c760 57
58 static AliHLTUInt32_t EncodeDataSpecification( AliHLTUInt8_t minSliceNr,
59 AliHLTUInt8_t maxSliceNr,
60 AliHLTUInt8_t minPatchNr,
61 AliHLTUInt8_t maxPatchNr )
62 {
63 return ((maxSliceNr & 0xFF) << 24) | ((minSliceNr & 0xFF) << 16) | ((maxPatchNr & 0xFF) << 8) | ((minPatchNr & 0xFF));
64 }
65
96bda103 66 /** DDL packed RAW data */
28355ac2 67 static const AliHLTComponentDataType fgkDDLPackedRawDataType; // see above
9ae1d7d8 68 /** DDL entropy encoded data */
69 static const AliHLTComponentDataType fgkDDLEncodedEntropyRawDataType; // see above
96bda103 70 /** packed RAW data */
28355ac2 71 static const AliHLTComponentDataType fgkPackedRawDataType; // see above
96bda103 72 /** unpacked RAW data */
28355ac2 73 static const AliHLTComponentDataType fgkUnpackedRawDataType; // see above
96bda103 74 /** cluster data */
28355ac2 75 static const AliHLTComponentDataType fgkClustersDataType; // see above
96bda103 76 /** track segments in local coordinates */
28355ac2 77 static const AliHLTComponentDataType fgkTrackSegmentsDataType; // see above
96bda103 78 /** tracks in global koordinates */
28355ac2 79 static const AliHLTComponentDataType fgkTracksDataType; // see above
96bda103 80 /** vertex data structure */
28355ac2 81 static const AliHLTComponentDataType fgkVertexDataType; // see above
ff2f0f94 82
83 // Cluster & Tracks model data
84 /** cluster tracks model data type */
28355ac2 85 static const AliHLTComponentDataType fgkClusterTracksModelDataType; // see above
ff2f0f94 86 /** remaining clusters model data type */
28355ac2 87 static const AliHLTComponentDataType fgkRemainingClustersModelDataType; // see above
ff2f0f94 88 /** cluster tracks compressed data type */
28355ac2 89 static const AliHLTComponentDataType fgkClusterTracksCompressedDataType; // see above
ff2f0f94 90 /** remaining clusters compressed data type */
91 static const AliHLTComponentDataType fgkRemainingClustersCompressedDataType; // see above
92
93 // Calibration data
02d01bbf 94 /** pedestal calibration data */
95 static const AliHLTComponentDataType fgkCalibPedestalDataType; // see above
96 /** signal calibration data */
9d9ffd37 97 static const AliHLTComponentDataType fgkCalibPulserDataType; // see above
28355ac2 98 /** central electrode calibration data */
99 static const AliHLTComponentDataType fgkCalibCEDataType; // see above
71d7c760 100
1ac82ce6 101 ClassDef(AliHLTTPCDefinitions, 2)
96bda103 102};
71d7c760 103
104#endif