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 /** general ROOT TObject */
165 const AliHLTComponentDataType kAliHLTDataTypeTObject = (AliHLTComponentDataType) {
166 sizeof(AliHLTComponentDataType),
167 kAliHLTTObjectDataTypeID,
171 /** ROOT TObjArray */
172 const AliHLTComponentDataType kAliHLTDataTypeTObjArray = (AliHLTComponentDataType) {
173 sizeof(AliHLTComponentDataType),
174 kAliHLTTObjArrayDataTypeID,
179 const AliHLTComponentDataType kAliHLTDataTypeTTree = (AliHLTComponentDataType) {
180 sizeof(AliHLTComponentDataType),
181 kAliHLTTTreeDataTypeID,
185 /** ROOT TH1 (can be used for all histograms, they derive from TH1) */
186 const AliHLTComponentDataType kAliHLTDataTypeHistogram = (AliHLTComponentDataType) {
187 sizeof(AliHLTComponentDataType),
188 kAliHLTHistogramDataTypeID,
193 const AliHLTComponentDataType kAliHLTDataTypeTNtuple = (AliHLTComponentDataType) {
194 sizeof(AliHLTComponentDataType),
195 kAliHLTTNtupleDataTypeID,
199 //////////////////////////////////////////////////////////////////////////
201 // Data origin variables, to be used with the operator|
203 // AliHLTComponentDataType dt;
204 // dt = kAliHLTDataTypeDDLRaw | gkAliHLTDataOriginTPC;
206 //////////////////////////////////////////////////////////////////////////
209 const char kAliHLTDataOriginOut[kAliHLTComponentDataTypefOriginSize] = {'H','L','T',' '};
211 /** HLT/PubSub private internal */
212 const char kAliHLTDataOriginPrivate[kAliHLTComponentDataTypefOriginSize]= {'P','R','I','V'};
215 const char kAliHLTDataOriginTPC[kAliHLTComponentDataTypefOriginSize] = {'T','P','C',' '};
218 const char kAliHLTDataOriginPHOS[kAliHLTComponentDataTypefOriginSize] = {'P','H','O','S'};
221 const char kAliHLTDataOriginMUON[kAliHLTComponentDataTypefOriginSize] = {'M','U','O','N'};
224 const char kAliHLTDataOriginTRD[kAliHLTComponentDataTypefOriginSize] = {'T','R','D',' '};
227 const char kAliHLTDataOriginITS[kAliHLTComponentDataTypefOriginSize] = {'I','T','S',' '};
230 const char kAliHLTDataOriginSample[kAliHLTComponentDataTypefOriginSize] = {'S','M','P','L'};
233 const char kAliHLTDataOriginEMCAL[kAliHLTComponentDataTypefOriginSize] = {'E','M','C','L'};