]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCDigitReaderUnpacked.h
- support for event by event reconstruction added to AliHLTSystem
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDigitReaderUnpacked.h
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
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 */
15
16 #include "AliHLTTPCDigitReader.h"
17 #include "AliHLTTPCDigitData.h"
18
19 class AliHLTTPCDigitRowData;
20
21 /**
22  * @class AliHLTTPCDigitReaderPacked
23  * A digit reader implementation for unpacked TPC data.
24  * @ingroup alihlt_tpc
25  */
26 class AliHLTTPCDigitReaderUnpacked : public AliHLTTPCDigitReader{
27 public:
28   /** standard constructor */
29   AliHLTTPCDigitReaderUnpacked();
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 */
35   virtual ~AliHLTTPCDigitReaderUnpacked();
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    */  
44   int InitBlock(void* ptr,unsigned long size, Int_t patch, Int_t slice);
45
46   /**
47    * place the reader at the next signal
48    * @return 1 if there was a nest signal, 0 if not
49    */
50   bool Next();
51
52   /**
53    * Get row number of the current signal
54    * @return row number of the current signal
55    */
56   int GetRow();
57
58   /**
59    * Get pad number of the current signal
60    * @return pad number of the current signal
61    */
62   int GetPad();
63
64   /**
65    * Get signal
66    * @return ADC signal
67    */
68   int GetSignal();
69
70   /**
71    * Get time of the current signal
72    * @return time of the current signal
73    */
74   int GetTime();
75   
76 protected:
77
78
79 private:
80   /** intermediate row data structure (pointer in fPtr buffer) */
81   AliHLTTPCDigitRowData *fDigitRowData; //!
82   /** current row data structure (pointer in fPtr buffer) */
83   AliHLTTPCDigitRowData *fActRowData; //!
84   /** the current digit data */
85   AliHLTTPCDigitData *fData; //!
86
87   /** input buffer */
88   void* fPtr; //!
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
100
101   ClassDef(AliHLTTPCDigitReaderUnpacked, 0)
102 };
103 #endif
104
105  
106