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 /** Event type specification */
67 const AliHLTComponentDataType kAliHLTDataTypeEvent = (AliHLTComponentDataType) {
68 sizeof(AliHLTComponentDataType),
69 kAliHLTEventDataTypeID,
71 }|kAliHLTDataOriginPrivate;
73 /** Configuration event data type */
74 const AliHLTComponentDataType kAliHLTDataTypeComConf = (AliHLTComponentDataType) {
75 sizeof(AliHLTComponentDataType),
76 kAliHLTComConfDataTypeID,
78 }|kAliHLTDataOriginPrivate;
80 /** DCS value update event */
81 const AliHLTComponentDataType kAliHLTDataTypeUpdtDCS = (AliHLTComponentDataType) {
82 sizeof(AliHLTComponentDataType),
83 kAliHLTUpdtDCSDataTypeID,
85 }|kAliHLTDataOriginPrivate;
87 /** RAW DDL data specification, data publisher will set type id and origin correctly */
88 const AliHLTComponentDataType kAliHLTDataTypeDDLRaw = (AliHLTComponentDataType) {
89 sizeof(AliHLTComponentDataType),
90 kAliHLTDDLRawDataTypeID,
94 /** ESD data specification */
95 const AliHLTComponentDataType kAliHLTDataTypeESDObject = (AliHLTComponentDataType) {
96 sizeof(AliHLTComponentDataType),
97 kAliHLTESDObjectDataTypeID,
100 /** ESD tree data specification */
101 const AliHLTComponentDataType kAliHLTDataTypeESDTree = (AliHLTComponentDataType) {
102 sizeof(AliHLTComponentDataType),
103 kAliHLTESDTreeDataTypeID,
107 /** 16 bit Hardware address selection data specification, origin is 'any' */
108 const AliHLTComponentDataType kAliHLTDataTypeHwAddr16 = (AliHLTComponentDataType) {
109 sizeof(AliHLTComponentDataType),
110 kAliHLTHwAddr16DataTypeID,
114 /** Event statistics */
115 const AliHLTComponentDataType kAliHLTDataTypeEventStatistics = (AliHLTComponentDataType) {
116 sizeof(AliHLTComponentDataType),
117 kAliHLTEventStatisticsDataTypeID,
122 const AliHLTComponentDataType kAliHLTDataTypeEventSummary = (AliHLTComponentDataType) {
123 sizeof(AliHLTComponentDataType),
124 kAliHLTEventSummaryDataTypeID,
126 }|kAliHLTDataOriginOut;
128 /** Run statistics */
129 const AliHLTComponentDataType kAliHLTDataTypeRunStatistics = (AliHLTComponentDataType) {
130 sizeof(AliHLTComponentDataType),
131 kAliHLTRunStatisticsDataTypeID,
136 const AliHLTComponentDataType kAliHLTDataTypeRunSummary = (AliHLTComponentDataType) {
137 sizeof(AliHLTComponentDataType),
138 kAliHLTRunSummaryDataTypeID,
140 }|kAliHLTDataOriginOut;
142 /** general ROOT TObject */
143 const AliHLTComponentDataType kAliHLTDataTypeTObject = (AliHLTComponentDataType) {
144 sizeof(AliHLTComponentDataType),
145 kAliHLTTObjectDataTypeID,
149 /** ROOT TObjArray */
150 const AliHLTComponentDataType kAliHLTDataTypeTObjArray = (AliHLTComponentDataType) {
151 sizeof(AliHLTComponentDataType),
152 kAliHLTTObjArrayDataTypeID,
157 const AliHLTComponentDataType kAliHLTDataTypeTTree = (AliHLTComponentDataType) {
158 sizeof(AliHLTComponentDataType),
159 kAliHLTTTreeDataTypeID,
163 /** ROOT TH1 (can be used for all histograms, they derive from TH1) */
164 const AliHLTComponentDataType kAliHLTDataTypeHistogram = (AliHLTComponentDataType) {
165 sizeof(AliHLTComponentDataType),
166 kAliHLTHistogramDataTypeID,
171 const AliHLTComponentDataType kAliHLTDataTypeTNtuple = (AliHLTComponentDataType) {
172 sizeof(AliHLTComponentDataType),
173 kAliHLTTNtupleDataTypeID,
177 //////////////////////////////////////////////////////////////////////////
179 // Data origin variables, to be used with the operator|
181 // AliHLTComponentDataType dt;
182 // dt = kAliHLTDataTypeDDLRaw | gkAliHLTDataOriginTPC;
184 //////////////////////////////////////////////////////////////////////////
187 const char kAliHLTDataOriginOut[kAliHLTComponentDataTypefOriginSize] = {'H','L','T',' '};
189 /** HLT/PubSub private internal */
190 const char kAliHLTDataOriginPrivate[kAliHLTComponentDataTypefOriginSize]= {'P','R','I','V'};
193 const char kAliHLTDataOriginTPC[kAliHLTComponentDataTypefOriginSize] = {'T','P','C',' '};
196 const char kAliHLTDataOriginPHOS[kAliHLTComponentDataTypefOriginSize] = {'P','H','O','S'};
199 const char kAliHLTDataOriginMUON[kAliHLTComponentDataTypefOriginSize] = {'M','U','O','N'};
202 const char kAliHLTDataOriginTRD[kAliHLTComponentDataTypefOriginSize] = {'T','R','D',' '};
205 const char kAliHLTDataOriginITS[kAliHLTComponentDataTypefOriginSize] = {'I','T','S',' '};