Started the implemetation of the online analysis
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSDefinitions.h
1 // XEmacs -*-C++-*-
2 // @(#) $Id$
3
4 #ifndef ALIHLTPHOSDEFINITIONS_H
5 #define ALIHLTPHOSDEFINITIONS_H
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7  * See cxx source for full Copyright notice                               */
8
9 /* AliHLTTPCDefinitions
10  */
11
12 #include "AliHLTDataTypes.h"
13 //#include "TObject.h"
14 #include "Rtypes.h"
15
16 class AliHLTPHOSDefinitions
17     {
18     public:
19
20         static AliHLTUInt8_t GetMinSliceNr( const AliHLTComponentBlockData& block )
21                 {
22                 return (AliHLTUInt8_t)( (block.fSpecification & 0x00FF0000) >> 16 );
23                 }
24         static AliHLTUInt8_t GetMinSliceNr( ULong_t spec )
25                 {
26                 return (AliHLTUInt8_t)( (spec & 0x00FF0000) >> 16 );
27                 }
28         static AliHLTUInt8_t GetMaxSliceNr( const AliHLTComponentBlockData& block )
29                 {
30                 return (AliHLTUInt8_t)( (block.fSpecification & 0xFF000000) >> 24 );
31                 }
32         static AliHLTUInt8_t GetMaxSliceNr( ULong_t spec )
33                 {
34                 return (AliHLTUInt8_t)( (spec & 0xFF000000) >> 24 );
35                 }
36         static AliHLTUInt8_t GetMinPatchNr( const AliHLTComponentBlockData& block )
37                 {
38                 return (AliHLTUInt8_t)( (block.fSpecification & 0x000000FF) );
39                 }
40         static AliHLTUInt8_t GetMinPatchNr( ULong_t spec )
41                 {
42                 return (AliHLTUInt8_t)( (spec & 0x000000FF) );
43                 }
44         static AliHLTUInt8_t GetMaxPatchNr( const AliHLTComponentBlockData& block )
45                 {
46                 return (AliHLTUInt8_t)( (block.fSpecification & 0x0000FF00) >> 8 );
47                 }
48         static AliHLTUInt8_t GetMaxPatchNr( ULong_t spec )
49                 {
50                 return (AliHLTUInt8_t)( (spec & 0x0000FF00) >> 8 );
51                 }
52         
53         static AliHLTUInt32_t EncodeDataSpecification( AliHLTUInt8_t minSliceNr, 
54                                                 AliHLTUInt8_t maxSliceNr,
55                                                 AliHLTUInt8_t minPatchNr,
56                                                 AliHLTUInt8_t maxPatchNr )
57                 {
58                 return ((maxSliceNr & 0xFF) << 24) | ((minSliceNr & 0xFF) << 16) | ((maxPatchNr & 0xFF) << 8) | ((minPatchNr & 0xFF));
59                 }
60
61         static const AliHLTComponentDataType gkDDLPackedRawDataType;
62         static const AliHLTComponentDataType gkPackedRawDataType;
63         static const AliHLTComponentDataType gkUnpackedRawDataType;
64         static const AliHLTComponentDataType gkClustersDataType;
65         static const AliHLTComponentDataType gkTrackSegmentsDataType;
66         static const AliHLTComponentDataType gkVertexDataType;
67
68       //        ClassDef(AliHLTPHOSDefinitions, 0)
69
70     };
71
72 #endif