Technical fix for bug #50441: Track-cluster matching not done correctly during recons...
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDigitReaderUnpacked.h
CommitLineData
a38a7850 1// XEmacs -*-C++-*-
2// @(#) $Id$
3
4#ifndef ALIHLTTPCDIGITREADERUNPACKED_H
5#define ALIHLTTPCDIGITREADERUNPACKED_H
6
297174de 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 *
a38a7850 10
84645eb0 11/** @file AliHLTTPCDigitReaderUnpacked.h
12 @author Timm Steinbeck, Jochen Thaeder, Matthias Richter
13 @date
14 @brief A digit reader implementation for unpacked TPC data.
15*/
a38a7850 16
17#include "AliHLTTPCDigitReader.h"
18#include "AliHLTTPCDigitData.h"
19
20class AliHLTTPCDigitRowData;
21
84645eb0 22/**
e962f438 23 * @class AliHLTTPCDigitReaderUnpacked
84645eb0 24 * A digit reader implementation for unpacked TPC data.
25 * @ingroup alihlt_tpc
26 */
a38a7850 27class AliHLTTPCDigitReaderUnpacked : public AliHLTTPCDigitReader{
28public:
84645eb0 29 /** standard constructor */
a38a7850 30 AliHLTTPCDigitReaderUnpacked();
84645eb0 31 /** destructor */
a38a7850 32 virtual ~AliHLTTPCDigitReaderUnpacked();
5df0cbb9 33
34 /**
35 * Init the reader
36 * @param ptr pointer to input buffer
37 * @param size size of the input buffer
38 * @param patch readout partition
39 * @param slice sector no
40 */
84645eb0 41 int InitBlock(void* ptr,unsigned long size, Int_t patch, Int_t slice);
5d2abf3b 42 using AliHLTTPCDigitReader::InitBlock;
5df0cbb9 43
44 /**
45 * place the reader at the next signal
46 * @return 1 if there was a nest signal, 0 if not
47 */
f44e97dc 48 bool NextSignal();
5df0cbb9 49
50 /**
51 * Get row number of the current signal
52 * @return row number of the current signal
53 */
a38a7850 54 int GetRow();
5df0cbb9 55
56 /**
57 * Get pad number of the current signal
58 * @return pad number of the current signal
59 */
a38a7850 60 int GetPad();
5df0cbb9 61
62 /**
63 * Get signal
64 * @return ADC signal
65 */
a38a7850 66 int GetSignal();
5df0cbb9 67
68 /**
69 * Get time of the current signal
70 * @return time of the current signal
71 */
a38a7850 72 int GetTime();
73
74protected:
75
76
77private:
8f8bf0af 78 /** copy constructor prohibited */
79 AliHLTTPCDigitReaderUnpacked(const AliHLTTPCDigitReaderUnpacked&);
80 /** assignment operator prohibited */
81 AliHLTTPCDigitReaderUnpacked& operator=(const AliHLTTPCDigitReaderUnpacked&);
82
67fada6b 83 /**
84 * Increment to the next raw data pointer.
85 * @param pRow [IN] the current row data pointer
86 * [OUT] the new pointer
87 * @return -EBADF in case of format error
88 */
89 int GetNextRowData(AliHLTTPCDigitRowData*& pRow) const;
90
5df0cbb9 91 /** intermediate row data structure (pointer in fPtr buffer) */
a38a7850 92 AliHLTTPCDigitRowData *fDigitRowData; //!
5df0cbb9 93 /** current row data structure (pointer in fPtr buffer) */
a38a7850 94 AliHLTTPCDigitRowData *fActRowData; //!
5df0cbb9 95 /** the current digit data */
a38a7850 96 AliHLTTPCDigitData *fData; //!
5df0cbb9 97
98 /** input buffer */
84645eb0 99 void* fPtr; //!
5df0cbb9 100 /** size of the input buffer */
101 unsigned long fSize; // see above
102
103 /** current bin */
104 Int_t fBin; // see above
105 /** current row */
106 Int_t fRow; // see above
107 /** first row */
108 Int_t fFirstRow; // see above
109 /** last row */
110 Int_t fLastRow; // see above
a38a7850 111
112 ClassDef(AliHLTTPCDigitReaderUnpacked, 0)
113};
114#endif
115
116
117