ALIROOT-5433 Transition to CDHv3 in HLT
[u/mrichter/AliRoot.git] / HLT / rec / AliHLTOUTRawReader.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTOUTRAWREADER_H
5 #define ALIHLTOUTRAWREADER_H
6 //* This file is property of and copyright by the                          * 
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
16 #include "AliHLTOUTHomerCollection.h"
17
18 class AliRawReader;
19 class AliHLTHOMERReader;
20
21 /**
22  * @class AliHLTOUTRawReader
23  * Handler of HLTOUT data for AliRawReader input.
24  */
25 class AliHLTOUTRawReader : public AliHLTOUTHomerCollection {
26  public:
27   /** standard constructor */
28   AliHLTOUTRawReader();
29   /** constructor */
30   AliHLTOUTRawReader(AliRawReader* pRawReader, int event=-1, AliHLTEsdManager* pEsdManager=NULL);
31   /** destructor */
32   virtual ~AliHLTOUTRawReader();
33
34  protected:
35   // interface functions of AliHLTOUTHomerCollection
36   Bool_t ReadNextData(UChar_t*& data);
37   int Reset();
38   int GetDataSize();
39   AliHLTCDHWrapper GetDataHeader();
40   void SelectEquipment(int equipmentType, int minEquipmentId = -1, int maxEquipmentId = -1);
41   int GetEquipmentId();
42
43  private:
44   /** copy constructor prohibited */
45   AliHLTOUTRawReader(const AliHLTOUTRawReader&);
46   /** assignment operator prohibited */
47   AliHLTOUTRawReader& operator=(const AliHLTOUTRawReader&);
48
49   /**
50    * Set the RawReader as parameter.
51    * The function is for internal use only in conjunction with the
52    * AliHLTOUT::New() functions.
53    */
54   void SetParam(AliRawReader* pRawReader) {fpRawreader=pRawReader;}
55
56   /** the rawreader */
57   AliRawReader* fpRawreader; //!transient
58
59   ClassDef(AliHLTOUTRawReader, 1)
60 };
61 #endif