Updated version.
[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 #include <TObject.h>
13 #include <map>
14
15 class AliRawReader;
16
17 class AliEMCALTriggerSTURawStream: public TObject 
18 {
19   public:
20                  AliEMCALTriggerSTURawStream();
21              AliEMCALTriggerSTURawStream(AliRawReader* rawReader);
22     virtual ~AliEMCALTriggerSTURawStream();
23   
24     virtual void   Reset();
25     virtual Bool_t ReadPayLoad();
26         virtual void   DumpPayLoad(const Option_t *option = "ALL") const;
27
28         virtual void                GetADC(Int_t iTRU, UInt_t ADC[]);
29         virtual UInt_t   GetL1JetThreshold() const {return   fL1JetThreshold;}
30         virtual UInt_t GetL1GammaThreshold() const {return fL1GammaThreshold;}
31         
32         virtual Int_t     GetNL0GammaPatch() const {return fNL0GammaPatch;}
33         virtual Int_t     GetNL1GammaPatch() const {return fNL1GammaPatch;}
34         virtual Int_t       GetNL1JetPatch() const {return fNL1JetPatch;}
35         virtual Int_t          GetRawData() const {return fGetRawData;}
36         
37         virtual Bool_t     GetL0GammaPatch(const Int_t i, Int_t& x, Int_t& y, Int_t& z) const;
38         virtual Bool_t     GetL1GammaPatch(const Int_t i, Int_t& x, Int_t& y, Int_t& z) const;
39         virtual Bool_t       GetL1JetPatch(const Int_t i, Int_t& x, Int_t& y) const;
40         
41         
42         virtual UInt_t L0() {return fL0;}
43         
44 private:
45     
46         AliEMCALTriggerSTURawStream(const AliEMCALTriggerSTURawStream& rhs);
47     AliEMCALTriggerSTURawStream& operator = (const AliEMCALTriggerSTURawStream& rhs);
48
49     AliRawReader* fRawReader;   // object for reading the raw data
50
51         UInt_t                                fL1JetThreshold;
52         UInt_t                              fL1GammaThreshold;
53         UShort_t*                          fL0GammaPatchIndex; // [fNL0GammaPatch]
54         UShort_t*                          fL1GammaPatchIndex; // [fNL1GammaPatch]
55         UShort_t*                            fL1JetPatchIndex; // [fNL1JetPatch]
56         
57         Int_t                                  fNL0GammaPatch;
58         Int_t                                    fNL1JetPatch;
59         Int_t                                  fNL1GammaPatch;
60         
61         Int_t                                     fGetRawData;
62         
63         UInt_t                                           fADC[32][96];
64         UInt_t                                           fL0;
65         
66     ClassDef(AliEMCALTriggerSTURawStream,1)   // class for reading EMCAL STU DDL raw data
67 };
68
69 #endif