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 */
6 ///////////////////////////////////////////////////////////////////////////////
8 /// This is a class for reading the EMCAL STU (trigger) DDL raw data
10 /// Two different formats foreseen (different by their length and Format Version):
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).
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).
20 ///////////////////////////////////////////////////////////////////////////////
26 class AliEMCALSTURawStream: public TObject {
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
35 AliEMCALSTURawStream(AliRawReader* rawReader);
36 virtual ~AliEMCALSTURawStream();
39 virtual Bool_t Next();
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; }
47 AliEMCALSTURawStream(const AliEMCALSTURawStream& stream);
48 AliEMCALSTURawStream& operator = (const AliEMCALSTURawStream& stream);
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?
58 ClassDef(AliEMCALSTURawStream, 0) // class for reading EMCAL STU DDL raw data