3 /**************************************************************************
4 * This file is property of and copyright by the ALICE HLT Project *
5 * ALICE Experiment at CERN, All rights reserved. *
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. *
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 **************************************************************************/
21 /** @file AliHLTDataTypes.cxx
22 @author Matthias Richter, Timm Steinbeck, Jochen Thaeder
24 @brief Implementation of data types. */
26 #include "AliHLTDataTypes.h"
28 // those types can not be implemented in the header files as rootcint
29 // can not cope with the type id and origin defines.
31 /** multiple output data types */
32 const AliHLTComponentDataType kAliHLTMultipleDataType = (AliHLTComponentDataType) {
33 sizeof(AliHLTComponentDataType),
34 {'M','U','L','T','I','P','L','E'},
36 }|kAliHLTDataOriginPrivate;
38 /** data to file exchange subscriber */
39 const AliHLTComponentDataType kAliHLTDataTypeFXSCalib = (AliHLTComponentDataType) {
40 sizeof(AliHLTComponentDataType),
41 kAliHLTFXSCalibDataTypeID,
43 }|kAliHLTDataOriginOut;
45 /** DDL list data type */
46 const AliHLTComponentDataType kAliHLTDataTypeDDL = (AliHLTComponentDataType) {
47 sizeof(AliHLTComponentDataType),
50 }|kAliHLTDataOriginOut;
53 const AliHLTComponentDataType kAliHLTDataTypeSOR = (AliHLTComponentDataType) {
54 sizeof(AliHLTComponentDataType),
57 }|kAliHLTDataOriginPrivate;
60 const AliHLTComponentDataType kAliHLTDataTypeEOR = (AliHLTComponentDataType) {
61 sizeof(AliHLTComponentDataType),
64 }|kAliHLTDataOriginPrivate;
66 /** run type data block */
67 const AliHLTComponentDataType kAliHLTDataTypeRunType = (AliHLTComponentDataType) {
68 sizeof(AliHLTComponentDataType),
69 kAliHLTRunTypeDataTypeID,
71 }|kAliHLTDataOriginPrivate;
73 /** Event type specification */
74 const AliHLTComponentDataType kAliHLTDataTypeEvent = (AliHLTComponentDataType) {
75 sizeof(AliHLTComponentDataType),
76 kAliHLTEventDataTypeID,
78 }|kAliHLTDataOriginPrivate;
80 /** Configuration event data type */
81 const AliHLTComponentDataType kAliHLTDataTypeComConf = (AliHLTComponentDataType) {
82 sizeof(AliHLTComponentDataType),
83 kAliHLTComConfDataTypeID,
85 }|kAliHLTDataOriginPrivate;
87 /** DCS value update event */
88 const AliHLTComponentDataType kAliHLTDataTypeUpdtDCS = (AliHLTComponentDataType) {
89 sizeof(AliHLTComponentDataType),
90 kAliHLTUpdtDCSDataTypeID,
92 }|kAliHLTDataOriginPrivate;
94 /** RAW DDL data specification, data publisher will set type id and origin correctly */
95 const AliHLTComponentDataType kAliHLTDataTypeDDLRaw = (AliHLTComponentDataType) {
96 sizeof(AliHLTComponentDataType),
97 kAliHLTDDLRawDataTypeID,
101 /** ESD data specification */
102 const AliHLTComponentDataType kAliHLTDataTypeESDObject = (AliHLTComponentDataType) {
103 sizeof(AliHLTComponentDataType),
104 kAliHLTESDObjectDataTypeID,
108 /** ESD tree data specification */
109 const AliHLTComponentDataType kAliHLTDataTypeESDTree = (AliHLTComponentDataType) {
110 sizeof(AliHLTComponentDataType),
111 kAliHLTESDTreeDataTypeID,
115 /** AliRoot TreeD data specification */
116 const AliHLTComponentDataType kAliHLTDataTypeAliTreeD = (AliHLTComponentDataType) {
117 sizeof(AliHLTComponentDataType),
118 kAliHLTTreeDDataTypeID,
122 /** AliRoot TreeR data specification */
123 const AliHLTComponentDataType kAliHLTDataTypeAliTreeR = (AliHLTComponentDataType) {
124 sizeof(AliHLTComponentDataType),
125 kAliHLTTreeRDataTypeID,
129 /** 16 bit Hardware address selection data specification, origin is 'any' */
130 const AliHLTComponentDataType kAliHLTDataTypeHwAddr16 = (AliHLTComponentDataType) {
131 sizeof(AliHLTComponentDataType),
132 kAliHLTHwAddr16DataTypeID,
136 /** Event statistics */
137 const AliHLTComponentDataType kAliHLTDataTypeEventStatistics = (AliHLTComponentDataType) {
138 sizeof(AliHLTComponentDataType),
139 kAliHLTEventStatisticsDataTypeID,
144 const AliHLTComponentDataType kAliHLTDataTypeEventSummary = (AliHLTComponentDataType) {
145 sizeof(AliHLTComponentDataType),
146 kAliHLTEventSummaryDataTypeID,
148 }|kAliHLTDataOriginOut;
150 /** Run statistics */
151 const AliHLTComponentDataType kAliHLTDataTypeRunStatistics = (AliHLTComponentDataType) {
152 sizeof(AliHLTComponentDataType),
153 kAliHLTRunStatisticsDataTypeID,
158 const AliHLTComponentDataType kAliHLTDataTypeRunSummary = (AliHLTComponentDataType) {
159 sizeof(AliHLTComponentDataType),
160 kAliHLTRunSummaryDataTypeID,
162 }|kAliHLTDataOriginOut;
164 /** Component statistics */
165 const AliHLTComponentDataType kAliHLTDataTypeComponentStatistics = (AliHLTComponentDataType) {
166 sizeof(AliHLTComponentDataType),
167 kAliHLTComponentStatisticsDataTypeID,
169 }|kAliHLTDataOriginPrivate;
171 /** Component table */
172 const AliHLTComponentDataType kAliHLTDataTypeComponentTable = (AliHLTComponentDataType) {
173 sizeof(AliHLTComponentDataType),
174 kAliHLTComponentTableDataTypeID,
176 }|kAliHLTDataOriginPrivate;
178 /** general ROOT TObject */
179 const AliHLTComponentDataType kAliHLTDataTypeTObject = (AliHLTComponentDataType) {
180 sizeof(AliHLTComponentDataType),
181 kAliHLTTObjectDataTypeID,
185 /** ROOT TObjArray */
186 const AliHLTComponentDataType kAliHLTDataTypeTObjArray = (AliHLTComponentDataType) {
187 sizeof(AliHLTComponentDataType),
188 kAliHLTTObjArrayDataTypeID,
193 const AliHLTComponentDataType kAliHLTDataTypeTTree = (AliHLTComponentDataType) {
194 sizeof(AliHLTComponentDataType),
195 kAliHLTTTreeDataTypeID,
199 /** ROOT TH1 (can be used for all histograms, they derive from TH1) */
200 const AliHLTComponentDataType kAliHLTDataTypeHistogram = (AliHLTComponentDataType) {
201 sizeof(AliHLTComponentDataType),
202 kAliHLTHistogramDataTypeID,
207 const AliHLTComponentDataType kAliHLTDataTypeTNtuple = (AliHLTComponentDataType) {
208 sizeof(AliHLTComponentDataType),
209 kAliHLTTNtupleDataTypeID,
213 //////////////////////////////////////////////////////////////////////////
215 // Data origin variables, to be used with the operator|
217 // AliHLTComponentDataType dt;
218 // dt = kAliHLTDataTypeDDLRaw | gkAliHLTDataOriginTPC;
220 //////////////////////////////////////////////////////////////////////////
223 const char kAliHLTDataOriginOut[kAliHLTComponentDataTypefOriginSize] = {'H','L','T',' '};
225 /** HLT/PubSub private internal */
226 const char kAliHLTDataOriginPrivate[kAliHLTComponentDataTypefOriginSize]= {'P','R','I','V'};
229 const char kAliHLTDataOriginTPC[kAliHLTComponentDataTypefOriginSize] = {'T','P','C',' '};
232 const char kAliHLTDataOriginPHOS[kAliHLTComponentDataTypefOriginSize] = {'P','H','O','S'};
235 const char kAliHLTDataOriginMUON[kAliHLTComponentDataTypefOriginSize] = {'M','U','O','N'};
238 const char kAliHLTDataOriginTRD[kAliHLTComponentDataTypefOriginSize] = {'T','R','D',' '};
241 const char kAliHLTDataOriginITS[kAliHLTComponentDataTypefOriginSize] = {'I','T','S',' '};
244 const char kAliHLTDataOriginSample[kAliHLTComponentDataTypefOriginSize] = {'S','M','P','L'};
247 const char kAliHLTDataOriginEMCAL[kAliHLTComponentDataTypefOriginSize] = {'E','M','C','L'};