bugfix: output of one extra cluster when the last rawcluster was accepted by the...
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALTriggerData.h
CommitLineData
916f1e76 1#ifndef ALIEMCALTRIGGERDATA_H
2#define ALIEMCALTRIGGERDATA_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/*
de39a0ff 7EMCal trigger data container: can be used independently of the data stream (simulation or raw data)
da6062af 8for transient storage of trigger data
916f1e76 9Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
10*/
11
de39a0ff 12#include "AliEMCALTriggerTypes.h"
13
916f1e76 14#include <TObject.h>
15#include <TVector2.h>
916f1e76 16#include <TClonesArray.h>
17
18class AliEMCALTriggerData : public TObject
19{
20
21public:
22 AliEMCALTriggerData();
23 virtual ~AliEMCALTriggerData();
de39a0ff 24
25 virtual void SetMode(Int_t i) {fMode = i;}
916f1e76 26
de39a0ff 27 virtual void SetL0Trigger( Int_t i, Int_t j, Int_t k) { fL0Trigger[i][j] = k; }
28 virtual void SetL0Region( Int_t i, const Int_t**& region);
29 virtual void SetL1Region( Int_t i, Int_t**& region);
916f1e76 30
de39a0ff 31 virtual void SetPatches(TriggerType_t type, Int_t i, const TClonesArray& patches);
32
da6062af 33 virtual void SetL1GammaThreshold(Int_t v) {fL1GammaThreshold = v;}
34 virtual void SetL1JetThreshold( Int_t v) { fL1JetThreshold = v;}
35 virtual void SetL1V0( Int_t* v) {for (int i = 0; i < 2; i++) fL1V0[i] = v[i];}
36 virtual void SetL1FrameMask( Int_t v) { fL1FrameMask = v;}
37 virtual void SetL1TriggerType( Int_t* v) {for (int i = 0; i < 8; i++) fL1TriggerType[i] = v[i];}
916f1e76 38
521ea43e 39 virtual void SetL1DataDecoded( Int_t v) { fL1DataDecoded = v;}
da6062af 40
de39a0ff 41 virtual void GetL0Trigger( Int_t i, Int_t j, Int_t& k ) const { k = fL0Trigger[i][j];}
42 virtual Int_t GetL0Trigger( Int_t i, Int_t j ) const {return fL0Trigger[i][j];}
43
44 virtual void GetPatches(TriggerType_t type, Int_t i, TClonesArray& patches) const;
45 virtual TClonesArray* GetPatches(TriggerType_t type, Int_t i ) const;
916f1e76 46
de39a0ff 47 virtual void GetL1Region( Int_t i, Int_t arr[][64] ) const;
48
da6062af 49 virtual Int_t GetL1GammaThreshold() const {return fL1GammaThreshold;}
50 virtual Int_t GetL1JetThreshold() const {return fL1JetThreshold;}
51 virtual void GetL1V0( Int_t v[]) const {for (int i = 0; i < 2; i++) v[i] = fL1V0[i];}
52 virtual Int_t GetL1FrameMask( ) const {return fL1FrameMask;}
53 virtual void GetL1TriggerType( Int_t v[]) const {for (int i = 0; i < 8; i++) v[i] = fL1TriggerType[i];}
54
521ea43e 55 virtual Int_t GetL1DataDecoded( ) const {return fL1DataDecoded;}
56
de39a0ff 57 virtual Int_t GetMode() const {return fMode;}
58
59 virtual void Scan() const;
60 virtual void Reset();
916f1e76 61
62private:
63
64 AliEMCALTriggerData(const AliEMCALTriggerData& rhs); // NOT implemented
65 AliEMCALTriggerData& operator=(const AliEMCALTriggerData& rhs); // NOT implemented
66
79b05051 67 Int_t fMode; // Simulation/Raw
de39a0ff 68
79b05051 69 Int_t fL0Trigger[2][32]; // Triggering TRU
916f1e76 70
de39a0ff 71 TClonesArray* fL0Patches[2]; // array of patches
72
73 Int_t fL0Region[32][24][4]; // from F-ALTRO data only
74
75 TClonesArray* fL1GammaPatches[2]; // array of patches
76 TClonesArray* fL1JetPatches[2]; // array of patches
77
78 Int_t fL1Region[2][48][64]; // STU FastOR
79
79b05051 80 Int_t fL1GammaThreshold; // L1-g threshold
81 Int_t fL1JetThreshold; // L1-j threshold
916f1e76 82
79b05051 83 Int_t fL1V0[2]; // V0 charges
84 Int_t fL1FrameMask; // Frame mask
85 Int_t fL1TriggerType[8]; // Trigger type
da6062af 86
79b05051 87 Int_t fL1DataDecoded; // Raw data decoded
521ea43e 88
da6062af 89 ClassDef(AliEMCALTriggerData,2)
916f1e76 90};
91
92#endif