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 */
9 Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
19 class AliEMCALTriggerSTURawStream: public TObject
22 AliEMCALTriggerSTURawStream();
23 AliEMCALTriggerSTURawStream(AliRawReader* rawReader);
24 virtual ~AliEMCALTriggerSTURawStream();
27 virtual Bool_t ReadPayLoad();
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);
34 virtual void DumpPayLoad(const Option_t *option = "ALL") const;
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];}
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;}
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;
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;}
59 AliEMCALTriggerSTURawStream(const AliEMCALTriggerSTURawStream& rhs);
60 AliEMCALTriggerSTURawStream& operator = (const AliEMCALTriggerSTURawStream& rhs);
62 UShort_t GetThreshold(Short_t A, Short_t B, Short_t C, UShort_t V0A, UShort_t V0C) const;
64 AliRawReader* fRawReader; // object for reading the raw data
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
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
76 Int_t fGetRawData; // Get Raw Data
78 UInt_t fADC[32][96]; // ADC
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
88 ClassDef(AliEMCALTriggerSTURawStream,2) // class for reading EMCAL STU DDL raw data