data origin defines converted to constants, operator| for merging of DataType struct...
authorrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 23 Nov 2007 12:50:11 +0000 (12:50 +0000)
committerrichterm <richterm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 23 Nov 2007 12:50:11 +0000 (12:50 +0000)
HLT/BASE/AliHLTDataTypes.cxx
HLT/BASE/AliHLTDataTypes.h
HLT/MUON/AliHLTMUONConstants.cxx
HLT/TPCLib/AliHLTTPCDefinitions.cxx

index 447abd0..2df7b6a 100644 (file)
 // 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',' '};
index ac05d9f..44169e8 100644 (file)
  *   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;
 //
 //////////////////////////////////////////////////////////////////////////
 
@@ -47,25 +55,25 @@ const int kAliHLTComponentDataTypefOriginSize=4;
 # 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];
 
 //////////////////////////////////////////////////////////////////////////
 //
@@ -358,7 +366,7 @@ extern "C" {
   /** 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;
 
   //////////////////////////////////////////////////////////////////////////
@@ -443,5 +451,12 @@ inline bool operator!=( const AliHLTComponentDataType& dt1, const AliHLTComponen
     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 
index 0daa080..b4c9455 100644 (file)
@@ -99,88 +99,88 @@ AliHLTMUONConstants::fgkNilPairDecisionStruct = {0, 0, 0, 0};
 
 
 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";
index 7436728..ce6f590 100644 (file)
 /** 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()