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