correct handling of multiple output data types
[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
7/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
8 * See cxx source for full Copyright notice */
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/**
22 * @class AliHLTTPCDigitReaderPacked
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 /** not a valid copy constructor, defined according to effective C++ style */
31 AliHLTTPCDigitReaderUnpacked(const AliHLTTPCDigitReaderUnpacked&);
32 /** not a valid assignment op, but defined according to effective C++ style */
33 AliHLTTPCDigitReaderUnpacked& operator=(const AliHLTTPCDigitReaderUnpacked&);
34 /** destructor */
a38a7850 35 virtual ~AliHLTTPCDigitReaderUnpacked();
5df0cbb9 36
37 /**
38 * Init the reader
39 * @param ptr pointer to input buffer
40 * @param size size of the input buffer
41 * @param patch readout partition
42 * @param slice sector no
43 */
84645eb0 44 int InitBlock(void* ptr,unsigned long size, Int_t patch, Int_t slice);
5df0cbb9 45
46 /**
47 * place the reader at the next signal
48 * @return 1 if there was a nest signal, 0 if not
49 */
a38a7850 50 bool Next();
5df0cbb9 51
52 /**
53 * Get row number of the current signal
54 * @return row number of the current signal
55 */
a38a7850 56 int GetRow();
5df0cbb9 57
58 /**
59 * Get pad number of the current signal
60 * @return pad number of the current signal
61 */
a38a7850 62 int GetPad();
5df0cbb9 63
64 /**
65 * Get signal
66 * @return ADC signal
67 */
a38a7850 68 int GetSignal();
5df0cbb9 69
70 /**
71 * Get time of the current signal
72 * @return time of the current signal
73 */
a38a7850 74 int GetTime();
75
76protected:
77
78
79private:
5df0cbb9 80 /** intermediate row data structure (pointer in fPtr buffer) */
a38a7850 81 AliHLTTPCDigitRowData *fDigitRowData; //!
5df0cbb9 82 /** current row data structure (pointer in fPtr buffer) */
a38a7850 83 AliHLTTPCDigitRowData *fActRowData; //!
5df0cbb9 84 /** the current digit data */
a38a7850 85 AliHLTTPCDigitData *fData; //!
5df0cbb9 86
87 /** input buffer */
84645eb0 88 void* fPtr; //!
5df0cbb9 89 /** size of the input buffer */
90 unsigned long fSize; // see above
91
92 /** current bin */
93 Int_t fBin; // see above
94 /** current row */
95 Int_t fRow; // see above
96 /** first row */
97 Int_t fFirstRow; // see above
98 /** last row */
99 Int_t fLastRow; // see above
a38a7850 100
101 ClassDef(AliHLTTPCDigitReaderUnpacked, 0)
102};
103#endif
104
105
106