]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCDigitReaderDecoder.h
code cleanup: check for valid channel address and row offset handled by TPC mapping...
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDigitReaderDecoder.h
CommitLineData
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"
25class AliHLTTPCMapping;
26class AliAltroDecoder;
27class 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 */
35class AliHLTTPCDigitReaderDecoder : public AliHLTTPCDigitReader {
36public:
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();
d2f725e4 53 int GetRowOffset() const;
7c9a4e09 54 AliHLTUInt32_t GetAltroBlockHWaddr() const;
55
f8121cb1 56protected:
57 bool NextSignal();
58
59private:
7dceaa9b 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
7c9a4e09 70 int fNextCounter; //! transient
71 bool fNextSignalMethodUsed; //! transient
f8121cb1 72
7c9a4e09 73 ClassDef(AliHLTTPCDigitReaderDecoder, 2)
f8121cb1 74
75};
76#endif
77