]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCDigitReader32Bit.h
couple of protections for calculation of slice from angle; reading of track block...
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDigitReader32Bit.h
1 // $Id$
2 // XEmacs -*-C++-*-
3
4 #ifndef ALIHLTTPCDIGITREADER32BIT_H
5 #define ALIHLTTPCDIGITREADER32BIT_H
6
7 //* This file is property of and copyright by the ALICE HLT Project        * 
8 //* ALICE Experiment at CERN, All rights reserved.                         *
9 //* See cxx source for full Copyright notice                               */
10
11 /// @file   AliHLTTPCDigitReader32Bit.h
12 /// @author Kenneth Aamodt, Matthias Richter
13 /// @date   
14 /// @brief  DigitReader for the 32 bit offline decoder
15 ///
16
17 #include "AliHLTTPCDigitReader.h"
18
19 class AliTPCRawStream;
20 class AliRawReaderMemory;
21 class AliRawReader;
22 class AliAltroRawStreamV3;
23 class AliHLTTPCMapping;
24
25 /**
26  * @class AliHLTTPCDigitReader32Bit
27  * Digit reader implementation for 32 bit altro format using the offline AliAltroRawStreamV3 class.
28  *
29  * @ingroup alihlt_tpc
30  */
31 class AliHLTTPCDigitReader32Bit : public AliHLTTPCDigitReader {
32 public:
33   /** standard constructor 
34    */
35   AliHLTTPCDigitReader32Bit();
36   /** destructor */
37   virtual ~AliHLTTPCDigitReader32Bit();
38
39   // interface functions  
40   int InitBlock(void* ptr,unsigned long size, Int_t patch, Int_t slice);
41   int Reset();
42   void SetUnsorted(bool unsorted);
43   bool NextChannel();
44   int NextBunch();
45   int GetRow();
46   int GetPad();
47   int GetSignal();
48   const UInt_t* GetSignals();
49   const UShort_t* GetSignalsShort();
50   int GetTime();
51   int GetBunchSize();
52   int GetRowOffset() const;
53   AliHLTUInt32_t GetAltroBlockHWaddr() const;
54   AliHLTUInt32_t GetAltroBlockHWaddr(Int_t row, Int_t pad) const;
55   int GetRCUTrailerSize();
56   bool GetRCUTrailerData(UChar_t*& trData);
57
58 protected:
59   bool NextSignal();
60
61 private:
62   /** copy constructor prohibited */
63   AliHLTTPCDigitReader32Bit(const AliHLTTPCDigitReader32Bit&);
64   /** assignment operator prohibited */
65   AliHLTTPCDigitReader32Bit& operator=(const AliHLTTPCDigitReader32Bit&);
66
67   AliRawReaderMemory* fRawReaderMemory;                      //! transient
68
69   AliAltroRawStreamV3 * fAltroRawStreamV3;                   //! transient
70   
71   AliHLTTPCMapping *fMapping;                                //! transient
72
73   Bool_t fSkipDataReadingFlag;                                       //! transient
74   
75   ClassDef(AliHLTTPCDigitReader32Bit, 0)
76     
77 };
78 #endif
79