Fixing generation of HLT DDL header. Event ID high and low words were being swapped...
authoraszostak <aszostak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 29 May 2008 12:45:30 +0000 (12:45 +0000)
committeraszostak <aszostak@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 29 May 2008 12:45:30 +0000 (12:45 +0000)
HLT/BASE/AliHLTOUT.h
HLT/sim/AliHLTOUTComponent.cxx

index fd67d6e..00eb8ee 100644 (file)
@@ -76,8 +76,10 @@ class AliHLTOUT : public AliHLTLogging {
     AliHLTUInt32_t fLength; //! see above
     /** version of the header */
     AliHLTUInt32_t fVersion; //! see above
-    /** event id */
-    AliHLTUInt64_t fEventID; //! see above
+    /** High 32 bit word of event id */
+    AliHLTUInt32_t fEventIDHigh; //! see above
+    /** Low 32 bit word of event id */
+    AliHLTUInt32_t fEventIDLow; //! see above
   };
 
   enum {
index fb3c306..f4ebcad 100644 (file)
@@ -326,7 +326,7 @@ int AliHLTOUTComponent::FillOutputBuffer(int eventNo, AliHLTMonitoringWriter* pW
   if (bufferSize<=fBuffer.size()) {
     AliRawDataHeader* pCDH=reinterpret_cast<AliRawDataHeader*>(&fBuffer[0]);
     AliHLTOUT::AliHLTOUTEventHeader* pHLTH=reinterpret_cast<AliHLTOUT::AliHLTOUTEventHeader*>(&fBuffer[sizeof(AliRawDataHeader)]);
-    memset(pCDH, 0, sizeof(AliRawDataHeader));
+    *pCDH = AliRawDataHeader();  // Fill with default values.
     memset(pHLTH, 0, sizeof(AliHLTOUT::AliHLTOUTEventHeader));
 
     if (pWriter) {
@@ -337,7 +337,8 @@ int AliHLTOUTComponent::FillOutputBuffer(int eventNo, AliHLTMonitoringWriter* pW
       pCDH->fStatusMiniEventID|=0x1<<(AliHLTOUT::kCDHStatusFlagsOffset+AliHLTOUT::kCDHFlagsHLTPayload);
     }
     pHLTH->fLength+=sizeof(AliHLTOUT::AliHLTOUTEventHeader);
-    pHLTH->fEventID=eventNo;
+    // pHLTH->fEventIDLow is already set to zero in memset above.
+    pHLTH->fEventIDLow = eventNo;
     // version does not really matter since we do not add decision data
     pHLTH->fVersion=AliHLTOUT::kVersion1;