]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCDigitReaderUnpacked.h
zero suppression and selction of active pads (Kenneth)
[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   /** destructor */
31   virtual ~AliHLTTPCDigitReaderUnpacked();
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    */  
40   int InitBlock(void* ptr,unsigned long size, Int_t patch, Int_t slice);
41   using AliHLTTPCDigitReader::InitBlock;
42
43   /**
44    * place the reader at the next signal
45    * @return 1 if there was a nest signal, 0 if not
46    */
47   bool NextSignal();
48
49   /**
50    * Get row number of the current signal
51    * @return row number of the current signal
52    */
53   int GetRow();
54
55   /**
56    * Get pad number of the current signal
57    * @return pad number of the current signal
58    */
59   int GetPad();
60
61   /**
62    * Get signal
63    * @return ADC signal
64    */
65   int GetSignal();
66
67   /**
68    * Get time of the current signal
69    * @return time of the current signal
70    */
71   int GetTime();
72   
73 protected:
74
75
76 private:
77   /** copy constructor prohibited */
78   AliHLTTPCDigitReaderUnpacked(const AliHLTTPCDigitReaderUnpacked&);
79   /** assignment operator prohibited */
80   AliHLTTPCDigitReaderUnpacked& operator=(const AliHLTTPCDigitReaderUnpacked&);
81
82   /** intermediate row data structure (pointer in fPtr buffer) */
83   AliHLTTPCDigitRowData *fDigitRowData; //!
84   /** current row data structure (pointer in fPtr buffer) */
85   AliHLTTPCDigitRowData *fActRowData; //!
86   /** the current digit data */
87   AliHLTTPCDigitData *fData; //!
88
89   /** input buffer */
90   void* fPtr; //!
91   /** size of the input buffer */
92   unsigned long fSize;                                             // see above
93
94   /** current bin */
95   Int_t fBin;                                                      // see above
96   /** current row */
97   Int_t fRow;                                                      // see above
98   /** first row */
99   Int_t fFirstRow;                                                 // see above
100   /** last row */
101   Int_t fLastRow;                                                  // see above
102
103   ClassDef(AliHLTTPCDigitReaderUnpacked, 0)
104 };
105 #endif
106
107  
108