]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/rec/AliHLTOUTDigitReader.h
- HLT simulation writes digit data in addition to raw data
[u/mrichter/AliRoot.git] / HLT / rec / AliHLTOUTDigitReader.h
CommitLineData
c5123824 1//-*- Mode: C++ -*-
2// $Id$
3
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 */
9
10/** @file AliHLTOUTDigitReader.h
11 @author Matthias Richter
12 @date
13 @brief HLTOUT data wrapper for simulated AliRoot HLT digit data.
14*/
15
16#include "AliHLTOUTHomerCollection.h"
17
18class AliRawReader;
19class AliHLTHOMERReader;
20class TTree;
21class TFile;
22class TArrayC;
23
24/**
25 * @class AliHLTOUTDigitReader
26 * Handler of HLTOUT data for simulated HLT digit input.
27 */
28class AliHLTOUTDigitReader : public AliHLTOUTHomerCollection {
29 public:
30 /** standard constructor */
31 AliHLTOUTDigitReader(int event=-1, AliHLTEsdManager* pEsdManager=NULL);
32 /** destructor */
33 virtual ~AliHLTOUTDigitReader();
34
35 protected:
36 // interface functions of AliHLTOUTHomerCollection
37 Bool_t ReadNextData(UChar_t*& data);
38 int Reset();
39 int GetDataSize();
40 const AliRawDataHeader* GetDataHeader();
41 void SelectEquipment(int equipmentType, int minEquipmentId = -1, int maxEquipmentId = -1);
42 int GetEquipmentId();
43
44 private:
45 /** copy constructor prohibited */
46 AliHLTOUTDigitReader(const AliHLTOUTDigitReader&);
47 /** assignment operator prohibited */
48 AliHLTOUTDigitReader& operator=(const AliHLTOUTDigitReader&);
49
50 /**
51 * Read the data from the root file and HLTOUT raw tree.
52 * Retrieve the number of branches and allocate arrays acording
53 * to that. After initialization of the arrays and variables, the
54 * event fEnvent is read.
55 */
56 bool ReadArrays();
57
58 /**
59 * Cleanup tree and data arrays.
60 */
61 int CloseTree();
62
63 /** the root file for the HLT 'digit' output */
64 TFile* fpDigitFile; //!transient
65
66 /** the tree for the HLT 'digit' output */
67 TTree* fpDigitTree; //!transient
68
69 /** min DDL id for equipment selection */
70 int fMinDDL; //!transient
71
72 /** max DDL id for equipment selection */
73 int fMaxDDL; //!transient
74
75 /** array of digit data read from tree */
76 TArrayC** fppDigitArrays; //!transient
77
78 /** array of equipment ids for the corresponding data blocks in fppDigitArrays */
79 int* fpEquipments; //!transient
80
81 /** number of DDL objects -> size of the arrays */
82 int fNofDDLs; //!transient
83
84 /** current position in the array */
85 int fCurrent; //!transient
86
87 ClassDef(AliHLTOUTDigitReader, 0)
88};
89#endif