]>
Commit | Line | Data |
---|---|---|
f8121cb1 | 1 | // XEmacs -*-C++-*- |
7e914051 | 2 | // $Id$ |
f8121cb1 | 3 | |
4 | #ifndef ALIHLTTPCDIGITREADERDECODER_H | |
5 | #define ALIHLTTPCDIGITREADERDECODER_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 AliHLTTPCDigitReaderDecoder.h | |
12 | @author Kenneth Aamodt, Matthias Richter | |
13 | @date | |
14 | @brief DigitReader for the fast ALTRO Decoder | |
15 | */ | |
16 | ||
17 | // see below for class documentation | |
18 | // or | |
19 | // refer to README to build package | |
20 | // or | |
21 | // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt | |
22 | ||
23 | #include "AliHLTTPCDigitReader.h" | |
7dceaa9b | 24 | #include "AliAltroData.h" |
25 | class AliHLTTPCMapping; | |
26 | class AliAltroDecoder; | |
27 | class AliAltroBunch; | |
f8121cb1 | 28 | |
29 | /** | |
30 | * @class AliHLTTPCDigitReaderDecoder | |
2efb85be | 31 | * Digit reader implementation for real ALTRO/RCU data using the fast |
32 | * AliAltroDecoder class. | |
f8121cb1 | 33 | * @ingroup alihlt_tpc |
34 | */ | |
35 | class AliHLTTPCDigitReaderDecoder : public AliHLTTPCDigitReader { | |
36 | public: | |
37 | /** standard constructor | |
38 | */ | |
39 | AliHLTTPCDigitReaderDecoder(); | |
40 | /** destructor */ | |
41 | virtual ~AliHLTTPCDigitReaderDecoder(); | |
42 | ||
43 | // interface functions | |
44 | int InitBlock(void* ptr,unsigned long size, Int_t patch, Int_t slice); | |
45 | bool NextChannel(); | |
46 | int NextBunch(); | |
47 | int GetRow(); | |
48 | int GetPad(); | |
49 | int GetSignal(); | |
7dceaa9b | 50 | const UInt_t* GetSignals(); |
f8121cb1 | 51 | int GetTime(); |
7dceaa9b | 52 | int GetBunchSize(); |
7c9a4e09 | 53 | AliHLTUInt32_t GetAltroBlockHWaddr() const; |
54 | ||
f8121cb1 | 55 | protected: |
56 | bool NextSignal(); | |
57 | ||
58 | private: | |
7dceaa9b | 59 | /** copy constructor prohibited */ |
60 | AliHLTTPCDigitReaderDecoder(const AliHLTTPCDigitReaderDecoder&); | |
61 | /** assignment operator prohibited */ | |
62 | AliHLTTPCDigitReaderDecoder& operator=(const AliHLTTPCDigitReaderDecoder&); | |
63 | ||
64 | AliAltroDecoder *fAltroDecoder; //! transient | |
65 | AliAltroData fAltroData; //! transient | |
66 | AliAltroBunch *fAltroBunch; //! transient | |
67 | AliHLTTPCMapping *fMapping; //! transient | |
68 | ||
7c9a4e09 | 69 | int fNextCounter; //! transient |
70 | bool fNextSignalMethodUsed; //! transient | |
f8121cb1 | 71 | |
7c9a4e09 | 72 | ClassDef(AliHLTTPCDigitReaderDecoder, 2) |
f8121cb1 | 73 | |
74 | }; | |
75 | #endif | |
76 |