]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCDigitReader.h
fix for disabled hough tracking code
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDigitReader.h
CommitLineData
a38a7850 1// XEmacs -*-C++-*-
2// @(#) $Id$
3
4#ifndef ALIHLTTPCDIGITREADER_H
5#define ALIHLTTPCDIGITREADER_H
6
01f43166 7/* This file is property of and copyright by the ALICE HLT Project *
8 * ALICE Experiment at CERN, All rights reserved. *
a38a7850 9 * See cxx source for full Copyright notice */
10
600e6a1b 11/** @file AliHLTTPCDigitReader.h
27f5f8ed 12 @author Timm Steinbeck, Jochen Thaeder, Matthias Richter, Kenneth Aamodt
84645eb0 13 @date
14 @brief An abstract reader class for TPC data.
15*/
a38a7850 16
db16520a 17#include "AliHLTLogging.h"
a38a7850 18#include "TObject.h"
19
84645eb0 20/**
21 * @class AliHLTTPCDigitReader
22 * An abstract reader class for the TPC data. The Data is treated as a stream
23 * of data points, each containing row number, pad number, time bin and ADC
24 * value. The class hides the actual encoding of the data stream for the sub-
25 * sequent components like the cluster finder.
26 * @ingroup alihlt_tpc
27 */
db16520a 28class AliHLTTPCDigitReader : public AliHLTLogging {
a38a7850 29public:
84645eb0 30 /** standard constructor */
a38a7850 31 AliHLTTPCDigitReader();
84645eb0 32 /** destructor */
a38a7850 33 virtual ~AliHLTTPCDigitReader();
34
84645eb0 35 /**
36 * Init the reader with a data block.
37 * The function fetches the first and last row for the readout partition
600e6a1b 38 * from @ref AliHLTTPCTransform. The method is pure virtual and must be implemented
84645eb0 39 * by the child class.
40 * @param ptr pointer to data buffer
41 * @param size size of the data buffer
42 * @param patch patch (readout partition) number within the slice
43 * @param slice sector no (0 to 35)
44 */
45 virtual int InitBlock(void* ptr,unsigned long size, Int_t patch, Int_t slice)=0;
46
47 /**
48 * Old Init function.
49 * <b>Note:</b> This method is for backward compatibility only, not for further
50 * use. The <i>firstrow</i> and <i>lastrow</i> parameters are fetched from
51 * @ref AliHLTTPCTransform.
52 *
53 * @param ptr pointer to data buffer
54 * @param size size of the data buffer
55 * @param firstrow first row occuring in the data
56 * @param lastrow last row occuring in the data
57 * @param patch patch (readout partition) number within the slice
58 * @param slice sector no (0 to 35)
59 */
78b557c2 60 virtual int InitBlock(void* ptr,unsigned long size,Int_t firstrow,Int_t lastrow, Int_t patch, Int_t slice);
84645eb0 61
62 /**
63 * Set the reader position to the next value.
64 * If the reader was not yet initialized, initialization is carried out and
65 * the position set to the beginning of the stream (which is in essence the
66 * end of the data block due to the back-linked list).
67 */
a38a7850 68 virtual bool Next()=0;
84645eb0 69
70 /**
71 * Get the row number of the current value.
72 */
a38a7850 73 virtual int GetRow()=0;
84645eb0 74
75 /**
76 * Get the pad number of the current value.
77 */
a38a7850 78 virtual int GetPad()=0;
84645eb0 79
80 /**
81 * Get the current ADC value.
82 */
a38a7850 83 virtual int GetSignal()=0;
84645eb0 84
85 /**
86 * Get the time bin of the current value.
87 */
a38a7850 88 virtual int GetTime()=0;
89
27f5f8ed 90 /**
91 * Method to use old rcu fomat.
92 */
93 virtual void SetOldRCUFormat(Bool_t oldrcuformat);
94
01f43166 95 /**
96 * Method to set read unsorted flag.
97 */
98 virtual void SetUnsorted(Bool_t unsorted);
99
a38a7850 100protected:
101
102private:
103
104 ClassDef(AliHLTTPCDigitReader, 0)
105
106};
107#endif
108