// or
// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
-
-class AliHLTPHOSDigitDataStruct;
+#include "AliHLTLogging.h"
+#include "AliHLTPHOSDigitDataStruct.h"
/**
* @class AliHLTPHOSDigitReader
* the list of digits following the header
* @ingroup alihlt_phos
*/
-class AliHLTPHOSDigitReader
+class AliHLTPHOSDigitReader : public AliHLTLogging
{
+
public:
AliHLTPHOSDigitReader();
virtual ~AliHLTPHOSDigitReader();
fDigitHeader = digitHeader;
if(fDigitHeader->fNDigits != 0)
{
- fFirstDigit = reinterpret_cast<AliHLTPHOSDigitDataStruct>(reinterpret_cast<Int_t>(fDigitHeader) + sizeof(AliHLTPHOSDigitHeaderStruct) + fDigitHeader->fFirstDigitOffset);
+ fFirstDigit = reinterpret_cast<AliHLTPHOSDigitDataStruct*>(reinterpret_cast<Long_t>(fDigitHeader) + fDigitHeader->fFirstDigitOffset);
}
else
{
fNextDigit = fFirstDigit;
}
- void SetCurrentDigit(AliHLTPHOSDigitDataStruct *currentDigit) { fCurrentDigit = currentDigit; }
+ void SetCurrentDigit(AliHLTPHOSDigitDataStruct *currentDigit)
+ {
+ fCurrentDigit = currentDigit;
+ // fNextDigit = reinterpret_cast<AliHLTPHOSDigitDataStruct*>(reinterpret_cast<UChar_t*>(fCurrentDigit) + fCurrentDigit->fMemOffsetNext);
+ }
+ void SetNextDigit(AliHLTPHOSDigitDataStruct *nextDigit)
+ {
+ fNextDigit = nextDigit;
+ // fNextDigit = reinterpret_cast<AliHLTPHOSDigitDataStruct*>(reinterpret_cast<UChar_t*>(fCurrentDigit) + fCurrentDigit->fMemOffsetNext);
+ }
AliHLTPHOSDigitDataStruct* NextDigit();
void DropDigit();
- void Rewind() { fCurrentDigit = fFirstDigit; }
+ void Rewind()
+ {
+ fNextDigit = fFirstDigit;
+ fPrevDigit = 0;
+ }
+
+ // Int_t GetCurrentDigitOffset() { return reinterpret_cast<Long_t>(fCurrentDigit) - reinterpret_cast<Long_t>(fDigitHeader) + sizeof(AliHLTPHOSDigitHeaderStruct); }
- Int_t GetCurrentDigitOffset() { return reinterpret_cast<Int_t>(fCurrentDigit) - reinterpret_cast<Int_t>(fDigitHeader) + sizeof(AliHLTPHOSDigitHeaderStruct);
+ Int_t GetCurrentDigitOffset() { return reinterpret_cast<Long_t>(fCurrentDigit) - reinterpret_cast<Long_t>(fDigitHeader); }
private:
/** Pointer to the current digit */
AliHLTPHOSDigitDataStruct *fCurrentDigit; //COMMENT
+ /** Pointer to the next digit */
+ AliHLTPHOSDigitDataStruct *fNextDigit; //COMMENT
+
/** Pointer to the current digit */
AliHLTPHOSDigitDataStruct *fPrevDigit; //COMMENT
/** Pointer to the first digit */
AliHLTPHOSDigitDataStruct *fFirstDigit; //COMMENT
+
+ AliHLTPHOSDigitReader (const AliHLTPHOSDigitReader & );
+ AliHLTPHOSDigitReader & operator = (const AliHLTPHOSDigitReader &);
+
+
};