Line data Source code
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 6 : ClassDef(AliHLTTPCDigitReader32Bit, 0)
76 :
77 : };
78 : #endif
79 :
|