MUON + CheckCompiler
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALTriggerSTURawStream.h
CommitLineData
916f1e76 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
9Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
10*/
11
648b8b91 12#ifndef ROOT_TObject
13# include "TObject.h"
14#endif
15//#include <map>
916f1e76 16
17class AliRawReader;
18
19class 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();
63c22917 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
80e5a1ae 34 virtual void DumpPayLoad(const Option_t *option = "ALL") const;
916f1e76 35
36 virtual void GetADC(Int_t iTRU, UInt_t ADC[]);
63c22917 37 virtual UInt_t GetL1JetThreshold(const int i) const {return fL1JetThreshold[i];}
38 virtual UInt_t GetL1GammaThreshold(const int i) const {return fL1GammaThreshold[i];}
916f1e76 39
40 virtual Int_t GetNL0GammaPatch() const {return fNL0GammaPatch;}
63c22917 41 virtual Int_t GetNL1GammaPatch(const int i) const {return fNL1GammaPatch[i];}
42 virtual Int_t GetNL1JetPatch(const int i) const {return fNL1JetPatch[i];}
648b8b91 43 virtual Int_t GetRawData() const {return fGetRawData;}
916f1e76 44
de39a0ff 45 virtual Bool_t GetL0GammaPatch(const Int_t i, Int_t& x, Int_t& y) const;
63c22917 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;
648b8b91 48
49 virtual UInt_t GetV0A() const {return fV0A;}
50 virtual UInt_t GetV0C() const {return fV0C;}
63c22917 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];}
648b8b91 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
916f1e76 57private:
58
59 AliEMCALTriggerSTURawStream(const AliEMCALTriggerSTURawStream& rhs);
60 AliEMCALTriggerSTURawStream& operator = (const AliEMCALTriggerSTURawStream& rhs);
61
79b05051 62 UShort_t GetThreshold(Short_t A, Short_t B, Short_t C, UShort_t V0A, UShort_t V0C) const;
222f9c45 63
916f1e76 64 AliRawReader* fRawReader; // object for reading the raw data
65
63c22917 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
a9ad4eb9 71
63c22917 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
a9ad4eb9 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
63c22917 82 UInt_t fG[3][2]; // Gamma
83 UInt_t fJ[3][2]; // Jet
a9ad4eb9 84 UInt_t fRegionEnable; // Region Enable
85 UInt_t fFrameReceived; // Frame Received
86 UInt_t fFwVersion; // Fw Version
648b8b91 87
63c22917 88 ClassDef(AliEMCALTriggerSTURawStream,2) // class for reading EMCAL STU DDL raw data
916f1e76 89};
90
91#endif