]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCDigitReaderDecoder.h
TPCNoiseMapComponent included into build (Kelly)
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDigitReaderDecoder.h
1 // XEmacs -*-C++-*-
2 // $Id$
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"
24 #include "AliAltroData.h"
25 class AliHLTTPCMapping;
26 class AliAltroDecoder;
27 class AliAltroBunch;
28
29 /**
30  * @class AliHLTTPCDigitReaderDecoder
31  * Digit reader implementation for real ALTRO/RCU data using the fast
32  * AliAltroDecoder class.
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();
50   const UInt_t* GetSignals();
51   int GetTime();
52   int GetBunchSize();
53   int GetRowOffset() const;
54   AliHLTUInt32_t GetAltroBlockHWaddr() const;
55
56 protected:
57   bool NextSignal();
58
59 private:
60   /** copy constructor prohibited */
61   AliHLTTPCDigitReaderDecoder(const AliHLTTPCDigitReaderDecoder&);
62   /** assignment operator prohibited */
63   AliHLTTPCDigitReaderDecoder& operator=(const AliHLTTPCDigitReaderDecoder&);
64
65   AliAltroDecoder *fAltroDecoder;                                  //! transient
66   AliAltroData fAltroData;                                         //! transient
67   AliAltroBunch *fAltroBunch;                                      //! transient
68   AliHLTTPCMapping *fMapping;                                      //! transient
69
70   int fNextCounter;                                                //! transient
71   bool fNextSignalMethodUsed;                                      //! transient
72
73   ClassDef(AliHLTTPCDigitReaderDecoder, 2)
74     
75 };
76 #endif
77