]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/PHOS/AliHLTPHOSSharedMemoryInterface.h
New interface for shared memory. The AliHLTPHOSValidDataStruct now has a pointer...
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSSharedMemoryInterface.h
similarity index 63%
rename from HLT/PHOS/AliHLTPHOSRcuCompressedRawDataStruct.h
rename to HLT/PHOS/AliHLTPHOSSharedMemoryInterface.h
index 7b2566432063e619ac5500ac1d642a1cc58ea7a4..5b666862de70c18c4eaca64b1619dda098d67cb1 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef ALIHLTPHOSRCUCOMPRESSEDRAWDATA_H
-#define ALIHLTPHOSRCUCOMPRESSEDRAWDATA_H
+#ifndef ALIHLTPHOSSHAREDMEMORYINTERFACE_H
+#define ALIHLTPHOSSHAREDMEMORYINTERFACE_H
 
 /**************************************************************************
  * This file is property of and copyright by the Experimental Nuclear     *
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
+#include "Rtypes.h"
 
-struct  AliHLTPHOSRcuCompressedRawData
-{
-  AliHLTPHOSRcuCompressedRawData();
-  virtual ~AliHLTPHOSRcuCompressedRawData();
-  int fTotalSize;
-  int *fBuffer;
+class AliHLTPHOSRcuCellEnergyDataStruct;
+class AliHLTPHOSValidCellDataStruct;
 
+class  AliHLTPHOSSharedMemoryInterface
+{
+ public:
+  AliHLTPHOSSharedMemoryInterface();
+  virtual ~AliHLTPHOSSharedMemoryInterface();
+  AliHLTPHOSValidCellDataStruct*   NextChannel();
+  void SetMemory(AliHLTPHOSRcuCellEnergyDataStruct *rcuCeelEnergyPtr);
+  void Reset();
 
+ private:
+  void PingPongPointer();
+  AliHLTPHOSValidCellDataStruct *fCurrentChannel;
+  AliHLTPHOSRcuCellEnergyDataStruct *fCellEnergiesPtr ;
+  bool fIsSetMemory;
+  int fMaxCnt;
+  int fCurrentCnt;
+  Int_t fCharDataOffset;
+  char  *fCharPtr;
+  Int_t *fIntPtr;
+  //  Int_t *rawDataBufferPos = (Int_t *)outputPtr; 
 };
 
 #endif