added HLTOUT treatment for HLTReconstruction
[u/mrichter/AliRoot.git] / HLT / rec / AliHLTOUTRawReader.h
CommitLineData
176d8684 1//-*- Mode: C++ -*-
2// @(#) $Id$
3
4#ifndef ALIHLTOUTRAWREADER_H
5#define ALIHLTOUTRAWREADER_H
6/* This file is property of and copyright by the ALICE HLT Project *
7 * ALICE Experiment at CERN, All rights reserved. *
8 * See cxx source for full Copyright notice */
9
10/** @file AliHLTOUTRawReader.h
11 @author Matthias Richter
12 @date
13 @brief HLTOUT data wrapper for AliRawReader.
14
15// see below for class documentation
16// or
17// refer to README to build package
18// or
19// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
20 */
21#include "AliHLTOUTHomerBuffer.h"
22
23class AliRawReader;
24class AliHLTHOMERReader;
25
26/**
27 * @class AliHLTOUTRawReader
28 * Handler of HLTOUT data for AliRawReader input.
29 */
30class AliHLTOUTRawReader : public AliHLTOUTHomerBuffer {
31 public:
32 /** constructor */
33 AliHLTOUTRawReader(AliRawReader* pRawReader);
34 /** destructor */
35 virtual ~AliHLTOUTRawReader();
36
37 protected:
38
39 private:
40 /** standard constructor prohibited */
41 AliHLTOUTRawReader();
42 /** copy constructor prohibited */
43 AliHLTOUTRawReader(const AliHLTOUTRawReader&);
44 /** assignment operator prohibited */
45 AliHLTOUTRawReader& operator=(const AliHLTOUTRawReader&);
46
47 /**
48 * Generate the index of the HLTOUT data from the data buffer.
49 */
50 int GenerateIndex();
51
52 /**
53 * Get the data buffer
54 * @param index [in] index of the block
55 * @param pBuffer [out] buffer of the selected data block
56 * @param size [out] size of the selected data block
57 */
58 int GetDataBuffer(AliHLTUInt32_t index, const AliHLTUInt8_t* &pBuffer,
59 AliHLTUInt32_t& size);
60
61 /** the rawreader */
62 AliRawReader* fpRawreader; //!transient
63
64 /** current instance of the HOMER reader */
65 AliHLTHOMERReader* fpCurrent; //!transient
66
67 /** DDL id offset shift for index
68 * bit 16-31: DDL id, bit 0-15 block no
69 */
70 static const int fgkIdShift; //!transient
71
72 ClassDef(AliHLTOUTRawReader, 0)
73};
74#endif