]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/BASE/AliHLTDataTypes.cxx
added optional component statistics functionality
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDataTypes.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  *                  Jochen Thaeder <thaeder@kip.uni-heidelberg.de>        *
10  *                  for The ALICE HLT Project.                            *
11  *                                                                        *
12  * Permission to use, copy, modify and distribute this software and its   *
13  * documentation strictly for non-commercial purposes is hereby granted   *
14  * without fee, provided that the above copyright notice appears in all   *
15  * copies and that both the copyright notice and this permission notice   *
16  * appear in the supporting documentation. The authors make no claims     *
17  * about the suitability of this software for any purpose. It is          *
18  * provided "as is" without express or implied warranty.                  *
19  **************************************************************************/
20
21 /** @file   AliHLTDataTypes.cxx
22     @author Matthias Richter, Timm Steinbeck, Jochen Thaeder
23     @date   
24     @brief  Implementation of data types. */
25
26 #include "AliHLTDataTypes.h"
27
28 // those types can not be implemented in the header files as rootcint
29 // can not cope with the type id and origin defines.
30
31 /** multiple output data types */
32 const AliHLTComponentDataType kAliHLTMultipleDataType =  (AliHLTComponentDataType) {
33   sizeof(AliHLTComponentDataType),
34   {'M','U','L','T','I','P','L','E'},
35   kAliHLTDataOriginAny
36 }|kAliHLTDataOriginPrivate;
37
38 /** data to file exchange subscriber */
39 const AliHLTComponentDataType kAliHLTDataTypeFXSCalib =  (AliHLTComponentDataType) {
40   sizeof(AliHLTComponentDataType),
41   kAliHLTFXSCalibDataTypeID,
42   kAliHLTDataOriginAny
43 }|kAliHLTDataOriginOut;
44
45 /** DDL list data type */
46 const AliHLTComponentDataType kAliHLTDataTypeDDL  =  (AliHLTComponentDataType) {
47   sizeof(AliHLTComponentDataType),
48   kAliHLTDDLDataTypeID,
49   kAliHLTDataOriginAny
50 }|kAliHLTDataOriginOut;
51
52 /** SOR data type */
53 const AliHLTComponentDataType kAliHLTDataTypeSOR  =  (AliHLTComponentDataType) {
54   sizeof(AliHLTComponentDataType),
55   kAliHLTSORDataTypeID,
56   kAliHLTDataOriginAny
57 }|kAliHLTDataOriginPrivate;
58
59 /** EOR data type */
60 const AliHLTComponentDataType kAliHLTDataTypeEOR  =  (AliHLTComponentDataType) {
61   sizeof(AliHLTComponentDataType),
62   kAliHLTEORDataTypeID,
63   kAliHLTDataOriginAny
64 }|kAliHLTDataOriginPrivate;
65
66 /** run type data block */
67 const AliHLTComponentDataType kAliHLTDataTypeRunType  =  (AliHLTComponentDataType) {
68   sizeof(AliHLTComponentDataType),
69   kAliHLTRunTypeDataTypeID,
70   kAliHLTDataOriginAny
71 }|kAliHLTDataOriginPrivate;
72
73 /** Event type specification */
74 const AliHLTComponentDataType kAliHLTDataTypeEvent  =  (AliHLTComponentDataType) {
75   sizeof(AliHLTComponentDataType),
76   kAliHLTEventDataTypeID,
77   kAliHLTDataOriginAny
78 }|kAliHLTDataOriginPrivate;
79
80 /** Configuration event data type */
81 const AliHLTComponentDataType kAliHLTDataTypeComConf  =  (AliHLTComponentDataType) {
82   sizeof(AliHLTComponentDataType),
83   kAliHLTComConfDataTypeID,
84   kAliHLTDataOriginAny
85 }|kAliHLTDataOriginPrivate;
86
87 /** DCS value update event */
88 const AliHLTComponentDataType kAliHLTDataTypeUpdtDCS  =  (AliHLTComponentDataType) {
89   sizeof(AliHLTComponentDataType),
90   kAliHLTUpdtDCSDataTypeID,
91   kAliHLTDataOriginAny
92 }|kAliHLTDataOriginPrivate;
93
94 /** RAW DDL data specification, data publisher will set type id and origin correctly */
95 const AliHLTComponentDataType kAliHLTDataTypeDDLRaw =  (AliHLTComponentDataType) {
96   sizeof(AliHLTComponentDataType),
97   kAliHLTDDLRawDataTypeID,
98   kAliHLTDataOriginAny
99 };
100
101 /** ESD data specification */
102 const AliHLTComponentDataType kAliHLTDataTypeESDObject =  (AliHLTComponentDataType) {
103   sizeof(AliHLTComponentDataType),
104   kAliHLTESDObjectDataTypeID,
105   kAliHLTDataOriginAny
106 };
107
108 /** ESD tree data specification */
109 const AliHLTComponentDataType kAliHLTDataTypeESDTree =  (AliHLTComponentDataType) {
110   sizeof(AliHLTComponentDataType),
111   kAliHLTESDTreeDataTypeID,
112   kAliHLTDataOriginAny
113 };
114
115 /** AliRoot TreeD data specification */
116 const AliHLTComponentDataType kAliHLTDataTypeAliTreeD =  (AliHLTComponentDataType) {
117   sizeof(AliHLTComponentDataType),
118   kAliHLTTreeDDataTypeID,
119   kAliHLTDataOriginAny
120 };
121
122 /** AliRoot TreeR data specification */
123 const AliHLTComponentDataType kAliHLTDataTypeAliTreeR =  (AliHLTComponentDataType) {
124   sizeof(AliHLTComponentDataType),
125   kAliHLTTreeRDataTypeID,
126   kAliHLTDataOriginAny
127 };
128
129 /** 16 bit Hardware address selection data specification, origin is 'any' */
130 const AliHLTComponentDataType kAliHLTDataTypeHwAddr16 = (AliHLTComponentDataType) {
131   sizeof(AliHLTComponentDataType),
132   kAliHLTHwAddr16DataTypeID,
133   kAliHLTDataOriginAny
134 };
135
136 /** Event statistics */
137 const AliHLTComponentDataType kAliHLTDataTypeEventStatistics = (AliHLTComponentDataType) {
138   sizeof(AliHLTComponentDataType),
139   kAliHLTEventStatisticsDataTypeID,
140   kAliHLTDataOriginAny
141 };
142
143 /** Event summary */
144 const AliHLTComponentDataType kAliHLTDataTypeEventSummary = (AliHLTComponentDataType) {
145   sizeof(AliHLTComponentDataType),
146   kAliHLTEventSummaryDataTypeID,
147   kAliHLTDataOriginAny
148 }|kAliHLTDataOriginOut;
149
150 /** Run statistics */
151 const AliHLTComponentDataType kAliHLTDataTypeRunStatistics = (AliHLTComponentDataType) {
152   sizeof(AliHLTComponentDataType),
153   kAliHLTRunStatisticsDataTypeID,
154   kAliHLTDataOriginAny
155 };
156
157 /** Run summary */
158 const AliHLTComponentDataType kAliHLTDataTypeRunSummary = (AliHLTComponentDataType) {
159   sizeof(AliHLTComponentDataType),
160   kAliHLTRunSummaryDataTypeID,
161   kAliHLTDataOriginAny
162 }|kAliHLTDataOriginOut;
163
164 /** Component statistics */
165 const AliHLTComponentDataType kAliHLTDataTypeComponentStatistics = (AliHLTComponentDataType) {
166   sizeof(AliHLTComponentDataType),
167   kAliHLTComponentStatisticsDataTypeID,
168   kAliHLTDataOriginAny
169 }|kAliHLTDataOriginPrivate;
170
171 /** Component table */
172 const AliHLTComponentDataType kAliHLTDataTypeComponentTable = (AliHLTComponentDataType) {
173   sizeof(AliHLTComponentDataType),
174   kAliHLTComponentTableDataTypeID,
175   kAliHLTDataOriginAny
176 }|kAliHLTDataOriginPrivate;
177
178 /** general ROOT TObject */
179 const AliHLTComponentDataType kAliHLTDataTypeTObject = (AliHLTComponentDataType) {
180   sizeof(AliHLTComponentDataType),
181   kAliHLTTObjectDataTypeID,
182   kAliHLTDataOriginAny
183 };
184
185 /** ROOT TObjArray */
186 const AliHLTComponentDataType kAliHLTDataTypeTObjArray = (AliHLTComponentDataType) {
187   sizeof(AliHLTComponentDataType),
188   kAliHLTTObjArrayDataTypeID,
189   kAliHLTDataOriginAny
190 };
191
192 /** ROOT TTree */
193 const AliHLTComponentDataType kAliHLTDataTypeTTree = (AliHLTComponentDataType) {
194   sizeof(AliHLTComponentDataType),
195   kAliHLTTTreeDataTypeID,
196   kAliHLTDataOriginAny
197 };
198
199 /** ROOT TH1 (can be used for all histograms, they derive from TH1) */
200 const AliHLTComponentDataType kAliHLTDataTypeHistogram = (AliHLTComponentDataType) {
201   sizeof(AliHLTComponentDataType),
202   kAliHLTHistogramDataTypeID,
203   kAliHLTDataOriginAny
204 };
205
206 /** ROOT TNtuple */
207 const AliHLTComponentDataType kAliHLTDataTypeTNtuple = (AliHLTComponentDataType) {
208   sizeof(AliHLTComponentDataType),
209   kAliHLTTNtupleDataTypeID,
210   kAliHLTDataOriginAny
211 };
212
213 //////////////////////////////////////////////////////////////////////////
214 //
215 // Data origin variables, to be used with the operator|
216 //
217 // AliHLTComponentDataType dt;
218 // dt = kAliHLTDataTypeDDLRaw | gkAliHLTDataOriginTPC;
219 //
220 //////////////////////////////////////////////////////////////////////////
221
222 /** HLT out */
223 const char kAliHLTDataOriginOut[kAliHLTComponentDataTypefOriginSize]    = {'H','L','T',' '};
224
225 /** HLT/PubSub private internal */
226 const char kAliHLTDataOriginPrivate[kAliHLTComponentDataTypefOriginSize]= {'P','R','I','V'};
227
228 /** TPC */
229 const char kAliHLTDataOriginTPC[kAliHLTComponentDataTypefOriginSize]    = {'T','P','C',' '};
230
231 /** PHOS */
232 const char kAliHLTDataOriginPHOS[kAliHLTComponentDataTypefOriginSize]   = {'P','H','O','S'};
233
234 /** MUON */
235 const char kAliHLTDataOriginMUON[kAliHLTComponentDataTypefOriginSize]   = {'M','U','O','N'};
236
237 /** TRD */
238 const char kAliHLTDataOriginTRD[kAliHLTComponentDataTypefOriginSize]    = {'T','R','D',' '};
239
240 /** ITS */
241 const char kAliHLTDataOriginITS[kAliHLTComponentDataTypefOriginSize]    = {'I','T','S',' '};
242
243 /** Sample */
244 const char kAliHLTDataOriginSample[kAliHLTComponentDataTypefOriginSize] = {'S','M','P','L'};
245
246 /** EMCAL */
247 const char kAliHLTDataOriginEMCAL[kAliHLTComponentDataTypefOriginSize]  = {'E','M','C','L'};