possiblity to read ESD friends and TPC outer check (Jacek)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALSTURawStream.h
CommitLineData
a11f3c38 1#ifndef ALIEMCALSTURAWSTREAM_H
2#define ALIEMCALSTURAWSTREAM_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6///////////////////////////////////////////////////////////////////////////////
7///
8/// This is a class for reading the EMCAL STU (trigger) DDL raw data
9///
10/// Two different formats foreseen (different by their length and Format Version):
11///
12/// - The regular one, containing jet patch indices (7x 32 bit words) and
13/// gamma jet patch indices (~96 combinations per region x 32 regions / 32
14/// bit per words = 96 words).
15///
16/// - The debug one containing the previous informations (103 words) plus
17/// all the time integrated 2x2 sums used for generating the accepted
18/// trigger (96 x 32 x 16 bit / 32 = 1536 words).
19///
20///////////////////////////////////////////////////////////////////////////////
21
22#include <TObject.h>
23
24class AliRawReader;
25
26class AliEMCALSTURawStream: public TObject {
27
28 public :
29
30 enum { kNumJetPatchWords = 7, // max number of jet patch indices words
31 kNumGammaJetPatchWords = 96, // max number of gamma-jet patch indices words
32 kNum2x2Words = 1536, // max number of 2x2 indices words
33 kEMCALSTUDDL = 0x12c0 }; // 4800, in EMCAL DDL range but separated from regular FEE
34
35 AliEMCALSTURawStream(AliRawReader* rawReader);
36 virtual ~AliEMCALSTURawStream();
37
38 virtual void Reset();
39 virtual Bool_t Next();
40
41 UInt_t GetJetPatchWords(int i) const { return fJetPatchWords[i]; }
42 UInt_t GetGammaJetPatchWords(int i) const { return fGammaJetPatchWords[i]; }
43 UInt_t Get2x2Words(int i) const { return f2x2Words[i]; }
44 UInt_t GetNum2x2Words() const { return fNum2x2Words; }
45
46 protected:
47 AliEMCALSTURawStream(const AliEMCALSTURawStream& stream);
48 AliEMCALSTURawStream& operator = (const AliEMCALSTURawStream& stream);
49
50 private:
51
52 AliRawReader* fRawReader; // object for reading the raw data
53 UInt_t fJetPatchWords[kNumJetPatchWords]; // jet patch indices
54 UInt_t fGammaJetPatchWords[kNumGammaJetPatchWords]; // gamma jet patch indices
55 UInt_t f2x2Words[kNum2x2Words]; // 2x2 sums
56 UInt_t fNum2x2Words; // how many 2x2 sums did we actually read?
57
58 ClassDef(AliEMCALSTURawStream, 0) // class for reading EMCAL STU DDL raw data
59};
60
61#endif