// can not cope with the type id and origin defines.
/** multiple output data types */
-const AliHLTComponentDataType kAliHLTMultipleDataType = {
+const AliHLTComponentDataType kAliHLTMultipleDataType = (AliHLTComponentDataType) {
sizeof(AliHLTComponentDataType),
{'M','U','L','T','I','P','L','E'},
- kAliHLTDataOriginPrivate
-};
+ kAliHLTDataOriginAny
+}|kAliHLTDataOriginPrivate;
/** data to file exchange subscriber */
-const AliHLTComponentDataType kAliHLTDataTypeFXSCalib = {
+const AliHLTComponentDataType kAliHLTDataTypeFXSCalib = (AliHLTComponentDataType) {
sizeof(AliHLTComponentDataType),
kAliHLTFXSCalibDataTypeID,
- kAliHLTDataOriginOut
-};
+ kAliHLTDataOriginAny
+}|kAliHLTDataOriginOut;
/** DDL list data type */
-const AliHLTComponentDataType kAliHLTDataTypeDDL = {
+const AliHLTComponentDataType kAliHLTDataTypeDDL = (AliHLTComponentDataType) {
sizeof(AliHLTComponentDataType),
kAliHLTDDLDataTypeID,
- kAliHLTDataOriginOut
-};
+ kAliHLTDataOriginAny
+}|kAliHLTDataOriginOut;
/** SOR data type */
-const AliHLTComponentDataType kAliHLTDataTypeSOR = {
+const AliHLTComponentDataType kAliHLTDataTypeSOR = (AliHLTComponentDataType) {
sizeof(AliHLTComponentDataType),
kAliHLTSORDataTypeID,
- kAliHLTDataOriginPrivate
-};
+ kAliHLTDataOriginAny
+}|kAliHLTDataOriginPrivate;
/** EOR data type */
-const AliHLTComponentDataType kAliHLTDataTypeEOR = {
+const AliHLTComponentDataType kAliHLTDataTypeEOR = (AliHLTComponentDataType) {
sizeof(AliHLTComponentDataType),
kAliHLTEORDataTypeID,
- kAliHLTDataOriginPrivate
-};
+ kAliHLTDataOriginAny
+}|kAliHLTDataOriginPrivate;
/** Event type specification */
-const AliHLTComponentDataType kAliHLTDataTypeEvent = {
+const AliHLTComponentDataType kAliHLTDataTypeEvent = (AliHLTComponentDataType) {
sizeof(AliHLTComponentDataType),
kAliHLTEventDataTypeID,
- kAliHLTDataOriginPrivate
-};
+ kAliHLTDataOriginAny
+}|kAliHLTDataOriginPrivate;
/** RAW DDL data specification, data publisher will set type id and origin correctly */
-const AliHLTComponentDataType kAliHLTDataTypeDDLRaw = {
+const AliHLTComponentDataType kAliHLTDataTypeDDLRaw = (AliHLTComponentDataType) {
sizeof(AliHLTComponentDataType),
kAliHLTDDLRawDataTypeID,
kAliHLTDataOriginAny
};
+
+//////////////////////////////////////////////////////////////////////////
+//
+// Data urigin variables, to be used with the operator|
+//
+// AliHLTComponentDataType dt;
+// dt = kAliHLTDataTypeDDLRaw | gkAliHLTDataOriginTPC;
+//
+//////////////////////////////////////////////////////////////////////////
+
+/** HLT out */
+const char kAliHLTDataOriginOut[kAliHLTComponentDataTypefOriginSize] = {'H','L','T',' '};
+
+/** HLT/PubSub private internal */
+const char kAliHLTDataOriginPrivate[kAliHLTComponentDataTypefOriginSize]= {'P','R','I','V'};
+
+/** TPC */
+const char kAliHLTDataOriginTPC[kAliHLTComponentDataTypefOriginSize] = {'T','P','C',' '};
+
+/** PHOS */
+const char kAliHLTDataOriginPHOS[kAliHLTComponentDataTypefOriginSize] = {'P','H','O','S'};
+
+/** MUON */
+const char kAliHLTDataOriginMUON[kAliHLTComponentDataTypefOriginSize] = {'M','U','O','N'};
+
+/** TRD */
+const char kAliHLTDataOriginTRD[kAliHLTComponentDataTypefOriginSize] = {'T','R','D',' '};
+
+/** ITS */
+const char kAliHLTDataOriginITS[kAliHLTComponentDataTypefOriginSize] = {'I','T','S',' '};
* 2 introduced June 07, enhanced/cleaned/arranged structure
* 3 2007-11-15 RAW DDL data type added; some inconsistencies fixed
* ('void' and 'any' origins); added signed HLT basic data types
+ * 2007-11-23 origin defines have become variables in conjunction
+ * to be used with the operator| (AliHLTComponentDatatType
*/
#define ALIHLT_DATA_TYPES_VERSION 3
//////////////////////////////////////////////////////////////////////////
//
-// HLT data origin defines
+// HLT data origin variables.
+//
+// By converting from defines to variables, the origins can be used with
+// the operator|
+//
+// AliHLTComponentDataType dt;
+// dt = kAliHLTDataTypeDDLRaw | gkAliHLTDataOriginTPC;
//
//////////////////////////////////////////////////////////////////////////
# define kAliHLTAnyDataOrigin "***"
/** HLT out */
-# define kAliHLTDataOriginOut {'H','L','T',' '}
+extern const char kAliHLTDataOriginOut[kAliHLTComponentDataTypefOriginSize];
/** HLT/PubSub private internal */
-# define kAliHLTDataOriginPrivate {'P','R','I','V'}
+extern const char kAliHLTDataOriginPrivate[kAliHLTComponentDataTypefOriginSize];
/** TPC */
-# define kAliHLTDataOriginTPC {'T','P','C',' '}
+extern const char kAliHLTDataOriginTPC[kAliHLTComponentDataTypefOriginSize];
/** PHOS */
-# define kAliHLTDataOriginPHOS {'P','H','O','S'}
+extern const char kAliHLTDataOriginPHOS[kAliHLTComponentDataTypefOriginSize];
/** MUON */
-# define kAliHLTDataOriginMUON {'M','U','O','N'}
+extern const char kAliHLTDataOriginMUON[kAliHLTComponentDataTypefOriginSize];
/** TRD */
-# define kAliHLTDataOriginTRD {'T','R','D',' '}
+extern const char kAliHLTDataOriginTRD[kAliHLTComponentDataTypefOriginSize];
/** ITS */
-# define kAliHLTDataOriginITS {'I','T','S',' '}
+extern const char kAliHLTDataOriginITS[kAliHLTComponentDataTypefOriginSize];
//////////////////////////////////////////////////////////////////////////
//
/** Event type specification */
extern const AliHLTComponentDataType kAliHLTDataTypeEvent;
-/** RAW DDL data specification, data publisher will set type id and origin correctly */
+ /** RAW DDL data specification, data publisher will set type id and origin correctly */
extern const AliHLTComponentDataType kAliHLTDataTypeDDLRaw;
//////////////////////////////////////////////////////////////////////////
return false;
}
+inline AliHLTComponentDataType operator|(const AliHLTComponentDataType srcdt, const char origin[kAliHLTComponentDataTypefOriginSize])
+ {
+ AliHLTComponentDataType dt=srcdt;
+ for ( int i = 0; i < kAliHLTComponentDataTypefOriginSize; i++ )
+ dt.fOrigin[i]=origin[i];
+ return dt;
+ }
#endif
const AliHLTComponentDataType
-AliHLTMUONConstants::fgkTriggerDDLRawDataType = {
+AliHLTMUONConstants::fgkTriggerDDLRawDataType = (AliHLTComponentDataType){
sizeof(AliHLTComponentDataType),
{'D','D','L','T','R','I','G','R'},
- kAliHLTDataOriginMUON
-};
+ kAliHLTDataOriginAny
+} | kAliHLTDataOriginMUON;
const AliHLTComponentDataType
-AliHLTMUONConstants::fgkTrackingDDLRawDataType = {
+AliHLTMUONConstants::fgkTrackingDDLRawDataType = (AliHLTComponentDataType){
sizeof(AliHLTComponentDataType),
{'D','D','L','T','R','A','C','K'},
- kAliHLTDataOriginMUON
-};
+ kAliHLTDataOriginAny
+} | kAliHLTDataOriginMUON;
const AliHLTComponentDataType
-AliHLTMUONConstants::fgkTriggerRecordsBlockDataType = {
+AliHLTMUONConstants::fgkTriggerRecordsBlockDataType = (AliHLTComponentDataType){
sizeof(AliHLTComponentDataType),
{'T','R','I','G','R','E','C','S'},
- kAliHLTDataOriginMUON
-};
+ kAliHLTDataOriginAny
+} | kAliHLTDataOriginMUON;
const AliHLTComponentDataType
-AliHLTMUONConstants::fgkTrigRecsDebugBlockDataType = {
+AliHLTMUONConstants::fgkTrigRecsDebugBlockDataType = (AliHLTComponentDataType){
sizeof(AliHLTComponentDataType),
{'T','R','I','G','R','D','B','G'},
- kAliHLTDataOriginMUON
-};
+ kAliHLTDataOriginAny
+} | kAliHLTDataOriginMUON;
const AliHLTComponentDataType
-AliHLTMUONConstants::fgkTriggerChannelBlockDataType = {
+AliHLTMUONConstants::fgkTriggerChannelBlockDataType = (AliHLTComponentDataType){
sizeof(AliHLTComponentDataType),
{'T','R','I','G','C','H','N','L'},
- kAliHLTDataOriginMUON
-};
+ kAliHLTDataOriginAny
+} | kAliHLTDataOriginMUON;
const AliHLTComponentDataType
-AliHLTMUONConstants::fgkRecHitsBlockDataType = {
+AliHLTMUONConstants::fgkRecHitsBlockDataType = (AliHLTComponentDataType){
sizeof(AliHLTComponentDataType),
{'R','E','C','H','I','T','S',' '},
- kAliHLTDataOriginMUON
-};
+ kAliHLTDataOriginAny
+} | kAliHLTDataOriginMUON;
const AliHLTComponentDataType
-AliHLTMUONConstants::fgkClusterBlockDataType = {
+AliHLTMUONConstants::fgkClusterBlockDataType = (AliHLTComponentDataType){
sizeof(AliHLTComponentDataType),
{'C','L','U','S','T','E','R','S'},
- kAliHLTDataOriginMUON
-};
+ kAliHLTDataOriginAny
+} | kAliHLTDataOriginMUON;
const AliHLTComponentDataType
-AliHLTMUONConstants::fgkChannelBlockDataType = {
+AliHLTMUONConstants::fgkChannelBlockDataType = (AliHLTComponentDataType){
sizeof(AliHLTComponentDataType),
{'C','H','A','N','N','E','L','S'},
- kAliHLTDataOriginMUON
-};
+ kAliHLTDataOriginAny
+} | kAliHLTDataOriginMUON;
const AliHLTComponentDataType
-AliHLTMUONConstants::fgkMansoTracksBlockDataType = {
+AliHLTMUONConstants::fgkMansoTracksBlockDataType = (AliHLTComponentDataType){
sizeof(AliHLTComponentDataType),
{'M','A','N','T','R','A','C','K'},
- kAliHLTDataOriginMUON
-};
+ kAliHLTDataOriginAny
+} | kAliHLTDataOriginMUON;
const AliHLTComponentDataType
-AliHLTMUONConstants::fgkMansoCandidatesBlockDataType = {
+AliHLTMUONConstants::fgkMansoCandidatesBlockDataType = (AliHLTComponentDataType){
sizeof(AliHLTComponentDataType),
{'M','N','C','A','N','D','I','D'},
- kAliHLTDataOriginMUON
-};
+ kAliHLTDataOriginAny
+} | kAliHLTDataOriginMUON;
const AliHLTComponentDataType
-AliHLTMUONConstants::fgkSinglesDecisionBlockDataType = {
+AliHLTMUONConstants::fgkSinglesDecisionBlockDataType = (AliHLTComponentDataType){
sizeof(AliHLTComponentDataType),
{'D','E','C','I','D','S','I','N'},
- kAliHLTDataOriginMUON
-};
+ kAliHLTDataOriginAny
+} | kAliHLTDataOriginMUON;
const AliHLTComponentDataType
-AliHLTMUONConstants::fgkPairsDecisionBlockDataType = {
+AliHLTMUONConstants::fgkPairsDecisionBlockDataType = (AliHLTComponentDataType){
sizeof(AliHLTComponentDataType),
{'D','E','C','I','D','P','A','R'},
- kAliHLTDataOriginMUON
-};
+ kAliHLTDataOriginAny
+} | kAliHLTDataOriginMUON;
const char* AliHLTMUONConstants::fgkRecHitsSourceId = "MUONRecHitsSource";
const char* AliHLTMUONConstants::fgkTriggerRecordsSourceId = "MUONTriggerRecordsSource";
/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTTPCDefinitions)
-const AliHLTComponentDataType AliHLTTPCDefinitions::fgkDDLPackedRawDataType = { sizeof(AliHLTComponentDataType), {'D','D','L','_','R','W','P','K'},kAliHLTDataOriginTPC};;
-const AliHLTComponentDataType AliHLTTPCDefinitions::fgkDDLEncodedEntropyRawDataType = { sizeof(AliHLTComponentDataType), {'D','D','L','E','N','C','E','N'},kAliHLTDataOriginTPC};;
-
-const AliHLTComponentDataType AliHLTTPCDefinitions::fgkPackedRawDataType = { sizeof(AliHLTComponentDataType), {'R','A','W','P','A','K','E','D'},kAliHLTDataOriginTPC};;
-const AliHLTComponentDataType AliHLTTPCDefinitions::fgkUnpackedRawDataType = { sizeof(AliHLTComponentDataType), {'R','A','W','U','N','P','A','K'},kAliHLTDataOriginTPC};;
-const AliHLTComponentDataType AliHLTTPCDefinitions::fgkClustersDataType = { sizeof(AliHLTComponentDataType), {'C','L','U','S','T','E','R','S'},kAliHLTDataOriginTPC};;
-const AliHLTComponentDataType AliHLTTPCDefinitions::fgkVertexDataType = { sizeof(AliHLTComponentDataType), {'V','E','R','T','E','X',' ',' '},kAliHLTDataOriginTPC};;
-const AliHLTComponentDataType AliHLTTPCDefinitions::fgkTrackSegmentsDataType = { sizeof(AliHLTComponentDataType), {'T','R','A','K','S','E','G','S'},kAliHLTDataOriginTPC};;
-const AliHLTComponentDataType AliHLTTPCDefinitions::fgkTracksDataType = { sizeof(AliHLTComponentDataType), {'T','R','A','C','K','S',' ',' '},kAliHLTDataOriginTPC};;
-
-const AliHLTComponentDataType AliHLTTPCDefinitions::fgkCalibPedestalDataType = { sizeof(AliHLTComponentDataType), {'C','A','L','_','P','E','D',' '},kAliHLTDataOriginTPC};;
-const AliHLTComponentDataType AliHLTTPCDefinitions::fgkCalibPulserDataType = { sizeof(AliHLTComponentDataType), {'C','A','L','_','P','U','L','S'},kAliHLTDataOriginTPC};;
+const AliHLTComponentDataType AliHLTTPCDefinitions::fgkDDLPackedRawDataType =
+ (AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'D','D','L','_','R','W','P','K'}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
+const AliHLTComponentDataType AliHLTTPCDefinitions::fgkDDLEncodedEntropyRawDataType =
+ (AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'D','D','L','E','N','C','E','N'}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
+
+const AliHLTComponentDataType AliHLTTPCDefinitions::fgkPackedRawDataType =
+ (AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'R','A','W','P','A','K','E','D'}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
+const AliHLTComponentDataType AliHLTTPCDefinitions::fgkUnpackedRawDataType =
+ (AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'R','A','W','U','N','P','A','K'}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
+const AliHLTComponentDataType AliHLTTPCDefinitions::fgkClustersDataType =
+ (AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'C','L','U','S','T','E','R','S'}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
+const AliHLTComponentDataType AliHLTTPCDefinitions::fgkVertexDataType =
+ (AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'V','E','R','T','E','X',' ',' '}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
+const AliHLTComponentDataType AliHLTTPCDefinitions::fgkTrackSegmentsDataType =
+ (AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'T','R','A','K','S','E','G','S'}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
+const AliHLTComponentDataType AliHLTTPCDefinitions::fgkTracksDataType =
+ (AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'T','R','A','C','K','S',' ',' '}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
+
+const AliHLTComponentDataType AliHLTTPCDefinitions::fgkCalibPedestalDataType =
+ (AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'C','A','L','_','P','E','D',' '}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
+const AliHLTComponentDataType AliHLTTPCDefinitions::fgkCalibPulserDataType =
+ (AliHLTComponentDataType){sizeof(AliHLTComponentDataType), {'C','A','L','_','P','U','L','S'}, kAliHLTDataOriginAny} | kAliHLTDataOriginTPC;
AliHLTTPCDefinitions::AliHLTTPCDefinitions()