2 // $Id: AliHLTReconstructor.cxx 21363 2007-10-12 13:24:47Z richterm $
4 #ifndef ALIRAWREADERHLT_H
5 #define ALIRAWREADERHLT_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 *
10 /** @file AliRawReaderHLT.h
11 @author Matthias Richter
13 @brief AliRawReader implementation which replaces original input of
14 detectors with the appropriate HLT output. */
16 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22 #include "AliRawReader.h"
26 * @class AliRawReaderHLT
27 * Handler of HLTOUT data for AliRawReader input.
29 class AliRawReaderHLT : public AliRawReader {
32 AliRawReaderHLT(AliRawReader* pParentReader, const char* options=NULL);
34 virtual ~AliRawReaderHLT();
36 // interface methods of AliRawReader
37 void Select(Int_t detectorID,
38 Int_t minDDLID = -1, Int_t maxDDLID = -1);
39 // void Select(const char *detectorName,
40 // Int_t minDDLID = -1, Int_t maxDDLID = -1);
41 void SelectEquipment(Int_t equipmentType,
42 Int_t minEquipmentId = -1,
43 Int_t maxEquipmentId = -1);
44 void SkipInvalid(Bool_t skip = kTRUE);
45 void SelectEvents(Int_t type);
47 UInt_t GetType() const;
48 UInt_t GetRunNumber() const;
49 const UInt_t* GetEventId() const;
50 const UInt_t* GetTriggerPattern() const;
51 const UInt_t* GetDetectorPattern() const;
52 const UInt_t* GetAttributes() const;
53 const UInt_t* GetSubEventAttributes() const;
54 UInt_t GetLDCId() const;
55 UInt_t GetGDCId() const;
56 UInt_t GetTimestamp() const;
58 const UInt_t* GetEquipmentAttributes() const;
59 Int_t GetEquipmentElementSize() const;
60 Int_t GetEquipmentHeaderSize() const;
62 Int_t GetEquipmentSize() const;
63 Int_t GetEquipmentType() const;
64 Int_t GetEquipmentId() const;
66 Bool_t ReadNextData(UChar_t*& data);
67 Bool_t ReadNextInt(UInt_t& data);
68 Bool_t ReadNextShort(UShort_t& data);
69 Bool_t ReadNextChar(UChar_t& data);
70 Bool_t ReadNext(UChar_t* data, Int_t size);
75 Bool_t RewindEvents();
80 /** standard constructor prohibited */
82 /** copy constructor prohibited */
83 AliRawReaderHLT(const AliRawReaderHLT&);
84 /** assignment operator prohibited */
85 AliRawReaderHLT& operator=(const AliRawReaderHLT&);
88 AliRawReader* fpParentReader; //!transient
91 TString fOptions; //!transient
93 ClassDef(AliRawReaderHLT, 0)
96 #define ALIHLTREC_LIBRARY "libHLTrec.so"
97 #define ALIHLTREC_LIBRARY_VERSION 0
98 #define ALIRAWREADERHLT_CREATE_INSTANCE "AliRawReaderHLTCreateInstance"
103 typedef AliRawReader* (*AliRawReaderHLTCreateInstance_t)(AliRawReader* pParentReader, const char* options);
106 * Create an instance of the AliRawReader class
108 AliRawReader* AliRawReaderHLTCreateInstance(AliRawReader* pParentReader, const char* options);