1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Authors: Oystein Djuvsland <oysteind@ift.uib.no> *
6 * Permission to use, copy, modify and distribute this software and its *
7 * documentation strictly for non-commercial purposes is hereby granted *
8 * without fee, provided that the above copyright notice appears in all *
9 * copies and that both the copyright notice and this permission notice *
10 * appear in the supporting documentation. The authors make no claims *
11 * about the suitability of this software for any purpose. It is *
12 * provided "as is" without express or implied warranty. *
13 **************************************************************************/
15 #ifndef ALIHLTPHOSDIGITREADER_H
16 #define ALIHLTPHOSDIGITREADER_H
19 /** @file AliHLTPHOSClusterizerComponent.cxx
20 @author Oystein Djuvsland
22 @brief A clusterizer component for PHOS HLT
25 // see header file for class documentation
27 // refer to README to build package
29 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
32 #include "AliHLTPHOSDigitDataStruct.h"
35 * @class AliHLTPHOSDigitReader
36 * Class takes as input a AliHLTPHOSDigitHeaderStruct and iterates through
37 * the list of digits following the header
38 * @ingroup alihlt_phos
40 class AliHLTPHOSDigitReader
44 AliHLTPHOSDigitReader();
45 virtual ~AliHLTPHOSDigitReader();
47 void SetDigitHeader(AliHLTPHOSDigitHeaderStruct *digitHeader)
49 fDigitHeader = digitHeader;
50 if(fDigitHeader->fNDigits != 0)
52 fFirstDigit = reinterpret_cast<AliHLTPHOSDigitDataStruct*>(reinterpret_cast<Long_t>(fDigitHeader) + sizeof(AliHLTPHOSDigitHeaderStruct) + fDigitHeader->fFirstDigitOffset);
58 fNextDigit = fFirstDigit;
61 void SetCurrentDigit(AliHLTPHOSDigitDataStruct *currentDigit) { fCurrentDigit = currentDigit; }
63 AliHLTPHOSDigitDataStruct* NextDigit();
67 void Rewind() { fCurrentDigit = fFirstDigit; }
69 Int_t GetCurrentDigitOffset() { return reinterpret_cast<Long_t>(fCurrentDigit) - reinterpret_cast<Long_t>(fDigitHeader) + sizeof(AliHLTPHOSDigitHeaderStruct); }
72 /** Pointer to the digit header */
73 AliHLTPHOSDigitHeaderStruct *fDigitHeader; //COMMENT
75 /** Pointer to the current digit */
76 AliHLTPHOSDigitDataStruct *fCurrentDigit; //COMMENT
78 /** Pointer to the next digit */
79 AliHLTPHOSDigitDataStruct *fNextDigit; //COMMENT
81 /** Pointer to the current digit */
82 AliHLTPHOSDigitDataStruct *fPrevDigit; //COMMENT
84 /** Pointer to the first digit */
85 AliHLTPHOSDigitDataStruct *fFirstDigit; //COMMENT