]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCDigitReaderPacked.h
Overlaps for side C corrected
[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
e962f438 7//* This file is property of and copyright by the ALICE HLT Project *
8//* ALICE Experiment at CERN, All rights reserved. *
9//* See cxx source for full Copyright notice *
a38a7850 10
84645eb0 11/** @file AliHLTTPCDigitReaderPacked.h
27f5f8ed 12 @author Timm Steinbeck, Jochen Thaeder, Matthias Richter, Kenneth Aamodt
84645eb0 13 @date
14 @brief A digit reader implementation for simulated, packed TPC 'raw' data.
15*/
16
aff6e981 17//#define ENABLE_PAD_SORTING 1
a38a7850 18
19#include "AliHLTTPCDigitReader.h"
20
21class AliRawReaderMemory;
22class AliTPCRawStream;
23
84645eb0 24/**
25 * @class AliHLTTPCDigitReaderPacked
26 * A digit reader implementation for simulated, packed TPC 'raw' data.
aff6e981 27 * Includes reordering of the pads by default, sorting (and time and
28 * memory consuming intermediate storing of the data) can be disabled
e962f438 29 * by @ref SetUnsorted() with argument <b>kTRUE</b>.
297174de 30 *
84645eb0 31 * @ingroup alihlt_tpc
32 */
a38a7850 33class AliHLTTPCDigitReaderPacked : public AliHLTTPCDigitReader{
34public:
84645eb0 35 /** standard constructor */
36 AliHLTTPCDigitReaderPacked();
84645eb0 37 /** destructor */
38 virtual ~AliHLTTPCDigitReaderPacked();
a38a7850 39
84645eb0 40 /**
41 * Init the reader with a data block.
42 * The function fetches the first and last row for the readout partition
e962f438 43 * from @ref AliHLTTPCTransform.
84645eb0 44 * @param ptr pointer to data buffer
45 * @param size size of the data buffer
46 * @param patch patch (readout partition) number within the slice
47 * @param slice sector no (0 to 35)
48 */
49 Int_t InitBlock(void* ptr,ULong_t size, Int_t patch, Int_t slice);
aff6e981 50 void SetUnsorted(bool unsorted){fUnsorted=unsorted;}
f44e97dc 51 Bool_t NextSignal();
84645eb0 52 Int_t GetRow();
53 Int_t GetPad();
54 Int_t GetSignal();
55 Int_t GetTime();
70d0b23e 56 AliHLTUInt32_t GetAltroBlockHWaddr() const;
db16520a 57
a38a7850 58protected:
db16520a 59
a38a7850 60private:
8f8bf0af 61 /** copy constructor prohibited */
62 AliHLTTPCDigitReaderPacked(const AliHLTTPCDigitReaderPacked&);
63 /** assignment operator prohibited */
64 AliHLTTPCDigitReaderPacked& operator=(const AliHLTTPCDigitReaderPacked&);
65
27f5f8ed 66 // Initialize AliROOT TPC raw stream parsing class
aff6e981 67 AliRawReaderMemory *fRawMemoryReader; //!transient
db16520a 68
aff6e981 69 AliTPCRawStream *fTPCRawStream; //!transient
a38a7850 70
aff6e981 71 //#if ENABLE_PAD_SORTING
72 Int_t fCurrentRow; //!transient
73 Int_t fCurrentPad; //!transient
74 Int_t fCurrentBin; //!transient
db16520a 75
aff6e981 76 Int_t fRowOffset; //!transient
77 Int_t fNRows; //!transient
db16520a 78
aff6e981 79 Int_t fNMaxRows; //!transient
80 Int_t fNMaxPads; //!transient
81 Int_t fNTimeBins; //!transient
db16520a 82
13398559 83 Int_t *fData; //!transient
aff6e981 84 //#endif // ENABLE_PAD_SORTING
27f5f8ed 85
aff6e981 86 Bool_t fUnsorted; //!transient
27f5f8ed 87
9a090ccd 88 ClassDef(AliHLTTPCDigitReaderPacked, 2)
db16520a 89
a38a7850 90};
a38a7850 91
74c73e5a 92#endif