STU raw data decoder updates to account for new STU fw version (backward compatibilit...
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALTriggerSTURawStream.h
1 #ifndef ALIEMCALTRIGGERSTURAWSTREAM_H
2 #define ALIEMCALTRIGGERSTURAWSTREAM_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  
9 Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
10 */
11
12 #ifndef ROOT_TObject
13 #  include "TObject.h"
14 #endif
15 //#include <map>
16
17 class AliRawReader;
18
19 class AliEMCALTriggerSTURawStream: public TObject 
20 {
21   public:
22                  AliEMCALTriggerSTURawStream();
23              AliEMCALTriggerSTURawStream(AliRawReader* rawReader);
24     virtual ~AliEMCALTriggerSTURawStream();
25   
26     virtual void   Reset();
27     virtual Bool_t ReadPayLoad();
28         virtual void   DumpPayLoad(const Option_t *option = "ALL") const;
29
30         virtual void                GetADC(Int_t iTRU, UInt_t ADC[]);
31         virtual UInt_t   GetL1JetThreshold() const {return   fL1JetThreshold;}
32         virtual UInt_t GetL1GammaThreshold() const {return fL1GammaThreshold;}
33         
34         virtual Int_t     GetNL0GammaPatch() const {return fNL0GammaPatch;}
35         virtual Int_t     GetNL1GammaPatch() const {return fNL1GammaPatch;}
36         virtual Int_t       GetNL1JetPatch() const {return fNL1JetPatch;}
37         virtual Int_t           GetRawData() const {return fGetRawData;}
38         
39         virtual Bool_t     GetL0GammaPatch(const Int_t i, Int_t& x, Int_t& y) const;
40         virtual Bool_t     GetL1GammaPatch(const Int_t i, Int_t& x, Int_t& y, Int_t& z) const;
41         virtual Bool_t       GetL1JetPatch(const Int_t i, Int_t& x, Int_t& y) const;
42         
43         virtual UInt_t              GetV0A()           const {return fV0A;}
44         virtual UInt_t              GetV0C()           const {return fV0C;}
45         virtual UInt_t              GetGA()            const {return fGA;}
46         virtual UInt_t              GetGB()            const {return fGB;}
47         virtual UInt_t              GetGC()            const {return fGC;}
48         virtual UInt_t              GetJA()            const {return fJA;}
49         virtual UInt_t              GetJB()            const {return fJB;}
50         virtual UInt_t              GetJC()            const {return fJC;}
51         virtual UInt_t              GetRegionEnable()  const {return fRegionEnable;}
52         virtual UInt_t              GetFrameReceived() const {return fFrameReceived;}
53         virtual UInt_t              GetFwVersion()     const {return fFwVersion;}
54         
55 private:
56     
57         AliEMCALTriggerSTURawStream(const AliEMCALTriggerSTURawStream& rhs);
58     AliEMCALTriggerSTURawStream& operator = (const AliEMCALTriggerSTURawStream& rhs);
59
60     AliRawReader* fRawReader;   // object for reading the raw data
61
62         UInt_t                               fL1JetThreshold;          //
63         UInt_t                             fL1GammaThreshold;          //
64         UShort_t                          fL0GammaPatchIndex[3100];    //
65         UShort_t                          fL1GammaPatchIndex[3100];    //
66         UShort_t                            fL1JetPatchIndex[200];     //
67         
68         Int_t                                 fNL0GammaPatch;          //
69         Int_t                                   fNL1JetPatch;          //
70         Int_t                                 fNL1GammaPatch;          //
71         
72         Int_t                                    fGetRawData;          //
73         
74         UInt_t                                          fADC[32][96];  //
75         
76         UInt_t                                          fV0A;
77     UInt_t                                          fV0C;
78     UInt_t                                           fGA;
79     UInt_t                                           fGB;
80     UInt_t                                           fGC;
81     UInt_t                                           fJA;
82     UInt_t                                           fJB;
83     UInt_t                                           fJC;
84     UInt_t                                 fRegionEnable;
85     UInt_t                                fFrameReceived;
86     UInt_t                                    fFwVersion;
87
88     ClassDef(AliEMCALTriggerSTURawStream,1)   // class for reading EMCAL STU DDL raw data
89 };
90
91 #endif