General AliHLTComponent data types for ROOT objects added
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDataTypes.cxx
CommitLineData
32db4144 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
879c1a3a 21/** @file AliHLTDataTypes.cxx
32db4144 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
de6593d0 31/** multiple output data types */
69347e0d 32const AliHLTComponentDataType kAliHLTMultipleDataType = (AliHLTComponentDataType) {
de6593d0 33 sizeof(AliHLTComponentDataType),
34 {'M','U','L','T','I','P','L','E'},
69347e0d 35 kAliHLTDataOriginAny
36}|kAliHLTDataOriginPrivate;
de6593d0 37
32db4144 38/** data to file exchange subscriber */
69347e0d 39const AliHLTComponentDataType kAliHLTDataTypeFXSCalib = (AliHLTComponentDataType) {
32db4144 40 sizeof(AliHLTComponentDataType),
41 kAliHLTFXSCalibDataTypeID,
69347e0d 42 kAliHLTDataOriginAny
43}|kAliHLTDataOriginOut;
32db4144 44
45/** DDL list data type */
69347e0d 46const AliHLTComponentDataType kAliHLTDataTypeDDL = (AliHLTComponentDataType) {
32db4144 47 sizeof(AliHLTComponentDataType),
48 kAliHLTDDLDataTypeID,
69347e0d 49 kAliHLTDataOriginAny
50}|kAliHLTDataOriginOut;
32db4144 51
52/** SOR data type */
69347e0d 53const AliHLTComponentDataType kAliHLTDataTypeSOR = (AliHLTComponentDataType) {
32db4144 54 sizeof(AliHLTComponentDataType),
55 kAliHLTSORDataTypeID,
69347e0d 56 kAliHLTDataOriginAny
57}|kAliHLTDataOriginPrivate;
32db4144 58
59/** EOR data type */
69347e0d 60const AliHLTComponentDataType kAliHLTDataTypeEOR = (AliHLTComponentDataType) {
32db4144 61 sizeof(AliHLTComponentDataType),
62 kAliHLTEORDataTypeID,
69347e0d 63 kAliHLTDataOriginAny
64}|kAliHLTDataOriginPrivate;
9d9ffd37 65
66/** Event type specification */
69347e0d 67const AliHLTComponentDataType kAliHLTDataTypeEvent = (AliHLTComponentDataType) {
9d9ffd37 68 sizeof(AliHLTComponentDataType),
69 kAliHLTEventDataTypeID,
69347e0d 70 kAliHLTDataOriginAny
853121af 71}|kAliHLTDataOriginPrivate;
72
73/** Configuration event data type */
74const AliHLTComponentDataType kAliHLTDataTypeComConf = (AliHLTComponentDataType) {
75 sizeof(AliHLTComponentDataType),
76 kAliHLTComConfDataTypeID,
77 kAliHLTDataOriginAny
b543e186 78}|kAliHLTDataOriginPrivate;
79
80/** DCS value update event */
81const AliHLTComponentDataType kAliHLTDataTypeUpdtDCS = (AliHLTComponentDataType) {
82 sizeof(AliHLTComponentDataType),
83 kAliHLTUpdtDCSDataTypeID,
84 kAliHLTDataOriginAny
69347e0d 85}|kAliHLTDataOriginPrivate;
3f850585 86
87/** RAW DDL data specification, data publisher will set type id and origin correctly */
69347e0d 88const AliHLTComponentDataType kAliHLTDataTypeDDLRaw = (AliHLTComponentDataType) {
3f850585 89 sizeof(AliHLTComponentDataType),
90 kAliHLTDDLRawDataTypeID,
91 kAliHLTDataOriginAny
92};
69347e0d 93
c704e290 94/** ESD data specification */
a978c0d5 95const AliHLTComponentDataType kAliHLTDataTypeESDObject = (AliHLTComponentDataType) {
96 sizeof(AliHLTComponentDataType),
97 kAliHLTESDObjectDataTypeID,
98 kAliHLTDataOriginAny
99};
100/** ESD tree data specification */
c704e290 101const AliHLTComponentDataType kAliHLTDataTypeESDTree = (AliHLTComponentDataType) {
102 sizeof(AliHLTComponentDataType),
103 kAliHLTESDTreeDataTypeID,
104 kAliHLTDataOriginAny
105};
106
64defa03 107/** 16 bit Hardware address selection data specification, origin is 'any' */
108const AliHLTComponentDataType kAliHLTDataTypeHwAddr16 = (AliHLTComponentDataType) {
109 sizeof(AliHLTComponentDataType),
110 kAliHLTHwAddr16DataTypeID,
111 kAliHLTDataOriginAny
112};
113
2ff24e4c 114/** Event statistics */
115const AliHLTComponentDataType kAliHLTDataTypeEventStatistics = (AliHLTComponentDataType) {
116 sizeof(AliHLTComponentDataType),
117 kAliHLTEventStatisticsDataTypeID,
118 kAliHLTDataOriginAny
119};
120
121/** Event summary */
122const AliHLTComponentDataType kAliHLTDataTypeEventSummary = (AliHLTComponentDataType) {
123 sizeof(AliHLTComponentDataType),
124 kAliHLTEventSummaryDataTypeID,
125 kAliHLTDataOriginAny
126}|kAliHLTDataOriginOut;
127
128/** Run statistics */
129const AliHLTComponentDataType kAliHLTDataTypeRunStatistics = (AliHLTComponentDataType) {
130 sizeof(AliHLTComponentDataType),
131 kAliHLTRunStatisticsDataTypeID,
132 kAliHLTDataOriginAny
133};
134
135/** Run summary */
136const AliHLTComponentDataType kAliHLTDataTypeRunSummary = (AliHLTComponentDataType) {
137 sizeof(AliHLTComponentDataType),
138 kAliHLTRunSummaryDataTypeID,
139 kAliHLTDataOriginAny
140}|kAliHLTDataOriginOut;
64defa03 141
c736de25 142/** general ROOT TObject */
143const AliHLTComponentDataType kAliHLTDataTypeTObject = (AliHLTComponentDataType) {
144 sizeof(AliHLTComponentDataType),
145 kAliHLTTObjectDataTypeID,
146 kAliHLTDataOriginAny
147};
148
149/** ROOT TObjArray */
150const AliHLTComponentDataType kAliHLTDataTypeTObjArray = (AliHLTComponentDataType) {
151 sizeof(AliHLTComponentDataType),
152 kAliHLTTObjArrayDataTypeID,
153 kAliHLTDataOriginAny
154};
155
156/** ROOT TTree */
157const AliHLTComponentDataType kAliHLTDataTypeTTree = (AliHLTComponentDataType) {
158 sizeof(AliHLTComponentDataType),
159 kAliHLTTTreeDataTypeID,
160 kAliHLTDataOriginAny
161};
162
163/** ROOT TH1 (can be used for all histograms, they derive from TH1) */
164const AliHLTComponentDataType kAliHLTDataTypeHistogram = (AliHLTComponentDataType) {
165 sizeof(AliHLTComponentDataType),
166 kAliHLTHistogramDataTypeID,
167 kAliHLTDataOriginAny
168};
169
170/** ROOT TNtuple */
171const AliHLTComponentDataType kAliHLTDataTypeTNtuple = (AliHLTComponentDataType) {
172 sizeof(AliHLTComponentDataType),
173 kAliHLTTNtupleDataTypeID,
174 kAliHLTDataOriginAny
175};
64defa03 176
69347e0d 177//////////////////////////////////////////////////////////////////////////
178//
2ff24e4c 179// Data origin variables, to be used with the operator|
69347e0d 180//
181// AliHLTComponentDataType dt;
182// dt = kAliHLTDataTypeDDLRaw | gkAliHLTDataOriginTPC;
183//
184//////////////////////////////////////////////////////////////////////////
185
186/** HLT out */
187const char kAliHLTDataOriginOut[kAliHLTComponentDataTypefOriginSize] = {'H','L','T',' '};
188
189/** HLT/PubSub private internal */
190const char kAliHLTDataOriginPrivate[kAliHLTComponentDataTypefOriginSize]= {'P','R','I','V'};
191
192/** TPC */
193const char kAliHLTDataOriginTPC[kAliHLTComponentDataTypefOriginSize] = {'T','P','C',' '};
194
195/** PHOS */
196const char kAliHLTDataOriginPHOS[kAliHLTComponentDataTypefOriginSize] = {'P','H','O','S'};
197
198/** MUON */
199const char kAliHLTDataOriginMUON[kAliHLTComponentDataTypefOriginSize] = {'M','U','O','N'};
200
201/** TRD */
202const char kAliHLTDataOriginTRD[kAliHLTComponentDataTypefOriginSize] = {'T','R','D',' '};
203
204/** ITS */
205const char kAliHLTDataOriginITS[kAliHLTComponentDataTypefOriginSize] = {'I','T','S',' '};