]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCDigitReaderPacked.h
incremented library version
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCDigitReaderPacked.h
CommitLineData
a38a7850 1// XEmacs -*-C++-*-
2// @(#) $Id$
3
4#ifndef ALIHLTTPCDIGITREADERPACKED_H
5#define ALIHLTTPCDIGITREADERPACKED_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 AliHLTTPCDigitReaderPacked.h
27f5f8ed 11 @author Timm Steinbeck, Jochen Thaeder, Matthias Richter, Kenneth Aamodt
84645eb0 12 @date
13 @brief A digit reader implementation for simulated, packed TPC 'raw' data.
14*/
15
aff6e981 16//#define ENABLE_PAD_SORTING 1
a38a7850 17
18#include "AliHLTTPCDigitReader.h"
19
74c73e5a 20#if defined(HAVE_ALIRAWDATA) && defined(HAVE_ALITPCRAWSTREAM_H)
21
a38a7850 22class AliRawReaderMemory;
db16520a 23
a38a7850 24class AliTPCRawStream;
25
84645eb0 26/**
27 * @class AliHLTTPCDigitReaderPacked
28 * A digit reader implementation for simulated, packed TPC 'raw' data.
aff6e981 29 * Includes reordering of the pads by default, sorting (and time and
30 * memory consuming intermediate storing of the data) can be disabled
31 * by @ref SetUnsorted(kTRUE).
84645eb0 32 * @ingroup alihlt_tpc
33 */
a38a7850 34class AliHLTTPCDigitReaderPacked : public AliHLTTPCDigitReader{
35public:
84645eb0 36 /** standard constructor */
37 AliHLTTPCDigitReaderPacked();
84645eb0 38 /** destructor */
39 virtual ~AliHLTTPCDigitReaderPacked();
a38a7850 40
84645eb0 41 /**
42 * Init the reader with a data block.
43 * The function fetches the first and last row for the readout partition
44 * from @ref AliHLTTransform.
45 * @param ptr pointer to data buffer
46 * @param size size of the data buffer
47 * @param patch patch (readout partition) number within the slice
48 * @param slice sector no (0 to 35)
49 */
50 Int_t InitBlock(void* ptr,ULong_t size, Int_t patch, Int_t slice);
27f5f8ed 51 void SetOldRCUFormat(bool oldrcuformat){fOldRCUFormat=oldrcuformat;}
aff6e981 52 void SetUnsorted(bool unsorted){fUnsorted=unsorted;}
f44e97dc 53 Bool_t NextSignal();
84645eb0 54 Int_t GetRow();
55 Int_t GetPad();
56 Int_t GetSignal();
57 Int_t GetTime();
db16520a 58
a38a7850 59protected:
db16520a 60
a38a7850 61private:
8f8bf0af 62 /** copy constructor prohibited */
63 AliHLTTPCDigitReaderPacked(const AliHLTTPCDigitReaderPacked&);
64 /** assignment operator prohibited */
65 AliHLTTPCDigitReaderPacked& operator=(const AliHLTTPCDigitReaderPacked&);
66
27f5f8ed 67 // Initialize AliROOT TPC raw stream parsing class
aff6e981 68 AliRawReaderMemory *fRawMemoryReader; //!transient
db16520a 69
aff6e981 70 AliTPCRawStream *fTPCRawStream; //!transient
a38a7850 71
aff6e981 72 //#if ENABLE_PAD_SORTING
73 Int_t fCurrentRow; //!transient
74 Int_t fCurrentPad; //!transient
75 Int_t fCurrentBin; //!transient
db16520a 76
aff6e981 77 Int_t fRowOffset; //!transient
78 Int_t fNRows; //!transient
db16520a 79
aff6e981 80 Int_t fNMaxRows; //!transient
81 Int_t fNMaxPads; //!transient
82 Int_t fNTimeBins; //!transient
db16520a 83
27f5f8ed 84 Int_t *fData;
aff6e981 85 //#endif // ENABLE_PAD_SORTING
27f5f8ed 86
aff6e981 87 Bool_t fOldRCUFormat; //!transient
88 Bool_t fUnsorted; //!transient
27f5f8ed 89
aff6e981 90 ClassDef(AliHLTTPCDigitReaderPacked, 1)
db16520a 91
a38a7850 92};
a38a7850 93
74c73e5a 94#else
95// add a dummy class to make CINT happy
96class AliHLTTPCDigitReaderPacked : public AliHLTLogging{
97public:
98 AliHLTTPCDigitReaderPacked()
99 {
100 HLTFatal("AliHLTTPCDigitReaderPacked not build");
101 }
95316e9f 102
103 ClassDef(AliHLTTPCDigitReaderPacked, 0)
74c73e5a 104};
105#endif //defined(HAVE_ALIRAWDATA) && defined(HAVE_ALITPCRAWSTREAM_H)
a38a7850 106
74c73e5a 107#endif