]>
Commit | Line | Data |
---|---|---|
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 | ||
24 | class AliRawReader; | |
25 | ||
26 | class 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 |