4 #ifndef ALIHLTOUTDIGITREADER_H
5 #define ALIHLTOUTDIGITREADER_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 AliHLTOUTDigitReader.h
11 @author Matthias Richter
13 @brief HLTOUT data wrapper for simulated AliRoot HLT digit data.
16 #include "AliHLTOUTHomerCollection.h"
20 class AliHLTHOMERReader;
26 * @class AliHLTOUTDigitReader
27 * Handler of HLTOUT data for simulated HLT digit input.
29 class AliHLTOUTDigitReader : public AliHLTOUTHomerCollection {
32 AliHLTOUTDigitReader(int event=-1, AliHLTEsdManager* pEsdManager=NULL, const char* digitFile="HLT.Digits.root");
34 virtual ~AliHLTOUTDigitReader();
37 // interface functions of AliHLTOUTHomerCollection
38 Bool_t ReadNextData(UChar_t*& data);
41 const AliRawDataHeader* GetDataHeader();
42 void SelectEquipment(int equipmentType, int minEquipmentId = -1, int maxEquipmentId = -1);
46 /** copy constructor prohibited */
47 AliHLTOUTDigitReader(const AliHLTOUTDigitReader&);
48 /** assignment operator prohibited */
49 AliHLTOUTDigitReader& operator=(const AliHLTOUTDigitReader&);
52 * Read the data from the root file and HLTOUT raw tree.
53 * Retrieve the number of branches and allocate arrays acording
54 * to that. After initialization of the arrays and variables, the
55 * event fEnvent is read.
60 * Cleanup tree and data arrays.
65 * Set the RunLoader as parameter
66 * The function is for internal use only in conjunction with the
67 * AliHLTOUT::New() functions.
69 void SetParam(TTree* pDigitTree, int event=-1);
71 /** name of the digit file */
72 TString fDigitFileName; //! transient
74 /** the root file for the HLT 'digit' output */
75 TFile* fpDigitFile; //!transient
77 /** the tree for the HLT 'digit' output */
78 TTree* fpDigitTree; //!transient
80 /** min DDL id for equipment selection */
81 int fMinDDL; //!transient
83 /** max DDL id for equipment selection */
84 int fMaxDDL; //!transient
86 /** array of digit data read from tree */
87 TArrayC** fppDigitArrays; //!transient
89 /** array of equipment ids for the corresponding data blocks in fppDigitArrays */
90 int* fpEquipments; //!transient
92 /** number of DDL objects -> size of the arrays */
93 int fNofDDLs; //!transient
95 /** current position in the array */
96 int fCurrent; //!transient
98 ClassDef(AliHLTOUTDigitReader, 0)