change definition of TRU fitter, remove unneeded class dependencies
[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         
29         virtual void DecodeL1JetPatchIndexes(  const int i, UInt_t *word32, const int offset);
30         virtual void DecodeL1GammaPatchIndexes(const int i, UInt_t *word32, const int offset);
31         virtual void DecodeL0GammaPatchIndexes(             UInt_t *word32, const int offset);
32     virtual void DecodeTRUADC(                          UInt_t *word32, const int offset);
33         
34         virtual void   DumpPayLoad(const Option_t *option = "ALL") const;
35
36         virtual void                GetADC(Int_t iTRU, UInt_t ADC[]);
37         virtual UInt_t   GetL1JetThreshold(const int i) const {return   fL1JetThreshold[i];}
38         virtual UInt_t GetL1GammaThreshold(const int i) const {return fL1GammaThreshold[i];}
39         
40         virtual Int_t     GetNL0GammaPatch() const {return fNL0GammaPatch;}
41         virtual Int_t     GetNL1GammaPatch(const int i) const {return fNL1GammaPatch[i];}
42         virtual Int_t       GetNL1JetPatch(const int i) const {return fNL1JetPatch[i];}
43         virtual Int_t           GetRawData() const {return fGetRawData;}
44         
45         virtual Bool_t     GetL0GammaPatch(const Int_t i, Int_t& x, Int_t& y) const;
46         virtual Bool_t     GetL1GammaPatch(const Int_t i, const Int_t j, Int_t& x, Int_t& y, Int_t& z) const;
47         virtual Bool_t       GetL1JetPatch(const Int_t i, const Int_t j, Int_t& x, Int_t& y) const;
48         
49         virtual UInt_t              GetV0A()           const {return fV0A;}
50         virtual UInt_t              GetV0C()           const {return fV0C;}
51         virtual UInt_t              GetG(int i, int j) const {return fG[i][j];}
52         virtual UInt_t              GetJ(int i, int j) const {return fJ[i][j];}
53         virtual UInt_t              GetRegionEnable()  const {return fRegionEnable;}
54         virtual UInt_t              GetFrameReceived() const {return fFrameReceived;}
55         virtual UInt_t              GetFwVersion()     const {return fFwVersion;}
56         
57 private:
58     
59         AliEMCALTriggerSTURawStream(const AliEMCALTriggerSTURawStream& rhs);
60     AliEMCALTriggerSTURawStream& operator = (const AliEMCALTriggerSTURawStream& rhs);
61
62     UShort_t GetThreshold(Short_t A, Short_t B, Short_t C, UShort_t V0A, UShort_t V0C) const;
63
64     AliRawReader* fRawReader;   // object for reading the raw data
65
66         UInt_t                               fL1JetThreshold[2];          // L1 Jet Threshold
67         UInt_t                             fL1GammaThreshold[2];          // L1 Gamma Threshold
68         UShort_t                          fL0GammaPatchIndex[3100];       // L0 Gamma Patch Index
69         UShort_t                          fL1GammaPatchIndex[3100][2];    // L1 Gamma Patch Index
70         UShort_t                            fL1JetPatchIndex[200][2];     // L1 Jet Patch Index
71                                                                           
72         Int_t                                 fNL0GammaPatch;             // N L0 Gamma Patch
73         Int_t                                   fNL1JetPatch[2];          // N L1 Jet Patch
74         Int_t                                 fNL1GammaPatch[2];          // N L1 Gamma Patch
75                                                                           
76         Int_t                                    fGetRawData;          // Get Raw Data
77                                                                           
78         UInt_t                                          fADC[32][96];  // ADC
79                                                                           
80         UInt_t                                          fV0A;          // V0A
81     UInt_t                                          fV0C;          // V0C
82         UInt_t                                      fG[3][2];          // Gamma
83         UInt_t                                      fJ[3][2];          // Jet
84     UInt_t                                 fRegionEnable;          // Region Enable
85     UInt_t                                fFrameReceived;          // Frame Received
86     UInt_t                                    fFwVersion;          // Fw Version
87
88     ClassDef(AliEMCALTriggerSTURawStream,2)   // class for reading EMCAL STU DDL raw data
89 };
90
91 #endif