removing obsolete data type definition fgkDDLPackedRawDataType; adding functions...
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDefinitions.cxx
1 // $Id$
2
3 /**************************************************************************
4  * This file is property of and copyright by the ALICE HLT Project        * 
5  * ALICE Experiment at CERN, All rights reserved.                         *
6  *                                                                        *
7  * Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no>        *
8  *                  Timm Steinbeck <timm@kip.uni-heidelberg.de>           *
9  *                  for The ALICE HLT Project.                            *
10  *                                                                        *
11  * Permission to use, copy, modify and distribute this software and its   *
12  * documentation strictly for non-commercial purposes is hereby granted   *
13  * without fee, provided that the above copyright notice appears in all   *
14  * copies and that both the copyright notice and this permission notice   *
15  * appear in the supporting documentation. The authors make no claims     *
16  * about the suitability of this software for any purpose. It is          *
17  * provided "as is" without express or implied warranty.                  *
18  **************************************************************************/
19
20 ///////////////////////////////////////////////////////////////////////////////
21 //                                                                           //
22 // Definitions for the HLT TPC components                                    //
23 //                                                                           //
24 ///////////////////////////////////////////////////////////////////////////////
25
26 #include "AliHLTTPCDefinitions.h"
27
28
29 /** ROOT macro for the implementation of ROOT specific class methods */
30 ClassImp(AliHLTTPCDefinitions)
31
32 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkDDLEncodedEntropyRawDataType = AliHLTComponentDataTypeInitializer("DDLENCEN", kAliHLTDataOriginTPC);
33                                                                                                                                                               
34 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkPackedRawDataType = AliHLTComponentDataTypeInitializer("RAWPAKED", kAliHLTDataOriginTPC);
35 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkUnpackedRawDataType = AliHLTComponentDataTypeInitializer("RAWUNPAK", kAliHLTDataOriginTPC);
36 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkClustersDataType = AliHLTComponentDataTypeInitializer("CLUSTERS", kAliHLTDataOriginTPC);
37 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkRawClustersDataType = AliHLTComponentDataTypeInitializer("CLUSTRAW", kAliHLTDataOriginTPC);
38 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkHWClustersDataType = AliHLTComponentDataTypeInitializer("HWCLUST1", kAliHLTDataOriginTPC);
39 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkAlterClustersDataType = AliHLTComponentDataTypeInitializer("HWCL_ALT", kAliHLTDataOriginTPC);
40 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkVertexDataType = AliHLTComponentDataTypeInitializer("VERTEX  ", kAliHLTDataOriginTPC);
41 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkTrackSegmentsDataType = AliHLTComponentDataTypeInitializer("TRAKSEGS", kAliHLTDataOriginTPC);
42 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkTracksDataType = AliHLTComponentDataTypeInitializer("TRACKS  ", kAliHLTDataOriginTPC);
43
44 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkClusterTracksModelDataType = AliHLTComponentDataTypeInitializer("CLSTRKMD", kAliHLTDataOriginTPC);
45 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkRemainingClustersModelDataType = AliHLTComponentDataTypeInitializer("REMCLSMD", kAliHLTDataOriginTPC);
46 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkClusterTracksCompressedDataType = AliHLTComponentDataTypeInitializer("CLSTRKCM", kAliHLTDataOriginTPC);
47 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkRemainingClustersCompressedDataType = AliHLTComponentDataTypeInitializer("REMCLSCM", kAliHLTDataOriginTPC);
48                                                                                                                                                               
49 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkCalibPedestalDataType = AliHLTComponentDataTypeInitializer("CAL_PED ", kAliHLTDataOriginTPC);
50 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkCalibPulserDataType = AliHLTComponentDataTypeInitializer("CAL_PULS", kAliHLTDataOriginTPC);
51 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkCalibCEDataType = AliHLTComponentDataTypeInitializer("CAL_CE  ", kAliHLTDataOriginTPC);
52
53 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkOfflineCalibAlignDataType = AliHLTComponentDataTypeInitializer("CALALIGN", kAliHLTDataOriginTPC);
54
55 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkOfflineCalibTracksDataType = AliHLTComponentDataTypeInitializer("CALTRACK", kAliHLTDataOriginTPC);
56
57 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkOfflineCalibTracksGainDataType = AliHLTComponentDataTypeInitializer("CALGAIN ", kAliHLTDataOriginTPC);
58
59 const AliHLTComponentDataType& AliHLTTPCDefinitions::CalibPedestalDataType() {
60   static AliHLTComponentDataType dt = AliHLTComponentDataTypeInitializer("CAL_PED ", kAliHLTDataOriginTPC);
61   return dt;
62 }
63 const AliHLTComponentDataType& AliHLTTPCDefinitions::CalibPulserDataType() {
64   static AliHLTComponentDataType dt = AliHLTComponentDataTypeInitializer("CAL_PULS", kAliHLTDataOriginTPC);
65   return dt;
66 }
67 const AliHLTComponentDataType& AliHLTTPCDefinitions::CalibCEDataType() {
68   static AliHLTComponentDataType dt = AliHLTComponentDataTypeInitializer("CAL_CE  ", kAliHLTDataOriginTPC);
69   return dt;
70 }
71
72 const AliHLTComponentDataType& AliHLTTPCDefinitions::OfflineCalibAlignDataType() {
73   static AliHLTComponentDataType dt = AliHLTComponentDataTypeInitializer("CALALIGN", kAliHLTDataOriginTPC);
74   return dt;
75 }
76 const AliHLTComponentDataType& AliHLTTPCDefinitions::OfflineCalibTracksDataType() {
77   static AliHLTComponentDataType dt = AliHLTComponentDataTypeInitializer("CALTRACK", kAliHLTDataOriginTPC);
78   return dt;
79 }
80
81 const AliHLTComponentDataType& AliHLTTPCDefinitions::OfflineCalibTracksGainDataType() {
82   static AliHLTComponentDataType dt = AliHLTComponentDataTypeInitializer("CALGAIN ", kAliHLTDataOriginTPC);
83   return dt;
84 }
85
86 const AliHLTComponentDataType AliHLTTPCDefinitions::fgkAliHLTDataTypeClusterMCInfo = AliHLTComponentDataTypeInitializer("CLMCINFO", kAliHLTDataOriginTPC);
87
88
89 AliHLTTPCDefinitions::AliHLTTPCDefinitions()
90 {
91   // see header file for class documentation
92   // or
93   // refer to README to build package
94   // or
95   // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
96 }
97
98 AliHLTTPCDefinitions::~AliHLTTPCDefinitions()
99 {
100   // see header file for class documentation
101 }
102
103 bool AliHLTTPCDefinitions::DDLIdToSlicePatch(AliHLTInt32_t ddlid, AliHLTUInt8_t& slice, AliHLTUInt8_t& patch)
104 {
105         // Convert DDL ID to patch and slice numbers.
106         
107         if ((AliHLTUInt32_t(ddlid) >> 8) != 0x3) return false;  // Check that detector is TPC.
108         AliHLTUInt32_t ddl = (AliHLTUInt32_t(ddlid) & 0xFF);
109         if (ddl > 215) return false;
110         if (ddl < 72)
111         {
112                 slice = ddl / 2;
113                 patch = ddl % 2;
114         }
115         else
116         {
117                 ddl -= 72;
118                 slice = ddl / 4;
119                 patch = ddl % 4 + 2;
120         }
121         return true;
122 }
123