]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCDigitReaderPacked.h
Bug fix. Missing {} that was causing a false information message that the trigger...
[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
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.
29 * Includes reordering of the pads if @ref ENABLE_PAD_SORTING is 1.
30 * @ingroup alihlt_tpc
31 */
a38a7850 32class AliHLTTPCDigitReaderPacked : public AliHLTTPCDigitReader{
33public:
84645eb0 34 /** standard constructor */
35 AliHLTTPCDigitReaderPacked();
84645eb0 36 /** destructor */
37 virtual ~AliHLTTPCDigitReaderPacked();
a38a7850 38
84645eb0 39 /**
40 * Init the reader with a data block.
41 * The function fetches the first and last row for the readout partition
42 * from @ref AliHLTTransform.
43 * @param ptr pointer to data buffer
44 * @param size size of the data buffer
45 * @param patch patch (readout partition) number within the slice
46 * @param slice sector no (0 to 35)
47 */
48 Int_t InitBlock(void* ptr,ULong_t size, Int_t patch, Int_t slice);
27f5f8ed 49 void SetOldRCUFormat(bool oldrcuformat){fOldRCUFormat=oldrcuformat;}
84645eb0 50 Bool_t Next();
51 Int_t GetRow();
52 Int_t GetPad();
53 Int_t GetSignal();
54 Int_t GetTime();
db16520a 55
a38a7850 56protected:
db16520a 57
a38a7850 58private:
8f8bf0af 59 /** copy constructor prohibited */
60 AliHLTTPCDigitReaderPacked(const AliHLTTPCDigitReaderPacked&);
61 /** assignment operator prohibited */
62 AliHLTTPCDigitReaderPacked& operator=(const AliHLTTPCDigitReaderPacked&);
63
27f5f8ed 64 // Initialize AliROOT TPC raw stream parsing class
65 AliRawReaderMemory *fRawMemoryReader;
db16520a 66
27f5f8ed 67 AliTPCRawStream *fTPCRawStream;
a38a7850 68
db16520a 69#if ENABLE_PAD_SORTING
27f5f8ed 70 Int_t fCurrentRow;
71 Int_t fCurrentPad;
72 Int_t fCurrentBin;
db16520a 73
27f5f8ed 74 Int_t fRowOffset;
75 Int_t fNRows;
db16520a 76
27f5f8ed 77 Int_t fNMaxRows;
78 Int_t fNMaxPads;
79 Int_t fNTimeBins;
db16520a 80
27f5f8ed 81 Int_t *fData;
db16520a 82#endif // ENABLE_PAD_SORTING
27f5f8ed 83
84 Bool_t fOldRCUFormat;
85
86 ClassDef(AliHLTTPCDigitReaderPacked, 0)
db16520a 87
a38a7850 88};
a38a7850 89
74c73e5a 90#else
91// add a dummy class to make CINT happy
92class AliHLTTPCDigitReaderPacked : public AliHLTLogging{
93public:
94 AliHLTTPCDigitReaderPacked()
95 {
96 HLTFatal("AliHLTTPCDigitReaderPacked not build");
97 }
95316e9f 98
99 ClassDef(AliHLTTPCDigitReaderPacked, 0)
74c73e5a 100};
101#endif //defined(HAVE_ALIRAWDATA) && defined(HAVE_ALITPCRAWSTREAM_H)
a38a7850 102
74c73e5a 103#endif