cosmetics
[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;}
804b828a 40 virtual void SetL1RawData( Int_t v) { fL1RawData = v;}
41
de39a0ff 42 virtual void GetL0Trigger( Int_t i, Int_t j, Int_t& k ) const { k = fL0Trigger[i][j];}
43 virtual Int_t GetL0Trigger( Int_t i, Int_t j ) const {return fL0Trigger[i][j];}
44
45 virtual void GetPatches(TriggerType_t type, Int_t i, TClonesArray& patches) const;
46 virtual TClonesArray* GetPatches(TriggerType_t type, Int_t i ) const;
916f1e76 47
de39a0ff 48 virtual void GetL1Region( Int_t i, Int_t arr[][64] ) const;
49
da6062af 50 virtual Int_t GetL1GammaThreshold() const {return fL1GammaThreshold;}
51 virtual Int_t GetL1JetThreshold() const {return fL1JetThreshold;}
52 virtual void GetL1V0( Int_t v[]) const {for (int i = 0; i < 2; i++) v[i] = fL1V0[i];}
53 virtual Int_t GetL1FrameMask( ) const {return fL1FrameMask;}
54 virtual void GetL1TriggerType( Int_t v[]) const {for (int i = 0; i < 8; i++) v[i] = fL1TriggerType[i];}
55
521ea43e 56 virtual Int_t GetL1DataDecoded( ) const {return fL1DataDecoded;}
804b828a 57 virtual Int_t GetL1RawData( ) const {return fL1RawData;}
58
de39a0ff 59 virtual Int_t GetMode() const {return fMode;}
60
61 virtual void Scan() const;
62 virtual void Reset();
916f1e76 63
64private:
65
66 AliEMCALTriggerData(const AliEMCALTriggerData& rhs); // NOT implemented
67 AliEMCALTriggerData& operator=(const AliEMCALTriggerData& rhs); // NOT implemented
68
79b05051 69 Int_t fMode; // Simulation/Raw
de39a0ff 70
79b05051 71 Int_t fL0Trigger[2][32]; // Triggering TRU
916f1e76 72
de39a0ff 73 TClonesArray* fL0Patches[2]; // array of patches
74
75 Int_t fL0Region[32][24][4]; // from F-ALTRO data only
76
77 TClonesArray* fL1GammaPatches[2]; // array of patches
78 TClonesArray* fL1JetPatches[2]; // array of patches
79
80 Int_t fL1Region[2][48][64]; // STU FastOR
81
79b05051 82 Int_t fL1GammaThreshold; // L1-g threshold
83 Int_t fL1JetThreshold; // L1-j threshold
916f1e76 84
79b05051 85 Int_t fL1V0[2]; // V0 charges
86 Int_t fL1FrameMask; // Frame mask
87 Int_t fL1TriggerType[8]; // Trigger type
da6062af 88
79b05051 89 Int_t fL1DataDecoded; // Raw data decoded
804b828a 90 Int_t fL1RawData; // Raw data
91
da6062af 92 ClassDef(AliEMCALTriggerData,2)
916f1e76 93};
94
95#endif