]>
Commit | Line | Data |
---|---|---|
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 | /* | |
7 | EMCal trigger data container | |
8 | for persistency of produced data presently stored in TTreeD | |
9 | Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3 | |
10 | */ | |
11 | ||
12 | #include <TObject.h> | |
13 | #include <TVector2.h> | |
14 | ||
15 | //#include <TObjArray.h> | |
16 | //#include <Riostream.h> | |
17 | ||
18 | #include <TClonesArray.h> | |
19 | ||
20 | class AliEMCALTriggerData : public TObject | |
21 | { | |
22 | ||
23 | public: | |
24 | AliEMCALTriggerData(); | |
25 | virtual ~AliEMCALTriggerData(); | |
26 | ||
27 | virtual void SetL0Patches(Int_t i, const TClonesArray& patches); | |
28 | virtual void SetL0RegionSize( TVector2 size ) { fL0RegionSize = size; } | |
29 | virtual void SetL0SubRegionSize( TVector2 size ) { fL0SubRegionSize = size; } | |
30 | virtual void SetL0PatchSize( TVector2 size ) { fL0PatchSize = size; } | |
31 | ||
32 | virtual void SetL1GammaPatches(const TClonesArray& patches); | |
33 | virtual void SetL1JetPatches(const TClonesArray& patches); | |
34 | ||
35 | virtual void SetL1Region(Int_t**& region); | |
36 | virtual void SetL1V0(const Int_t*& arr); | |
37 | ||
38 | virtual void SetL1RegionSize( TVector2 size ) { fL1RegionSize = size; } | |
39 | virtual void SetL1GammaPatchSize( TVector2 size ) { fL1GammaPatchSize = size; } | |
40 | virtual void SetL1GammaSubRegionSize( TVector2 size ) { fL1GammaSubRegionSize = size; } | |
41 | virtual void SetL1JetPatchSize( TVector2 size ) { fL1JetPatchSize = size; } | |
42 | virtual void SetL1JetSubRegionSize( TVector2 size ) { fL1JetSubRegionSize = size; } | |
43 | ||
44 | virtual void L0Patches( TClonesArray& patches ) const { patches = *fL0Patches; } | |
45 | virtual TClonesArray* L0Patches( ) const { return fL0Patches; } | |
46 | virtual void L0RegionSize( TVector2 size ) const { size = fL0RegionSize; } | |
47 | virtual TVector2 L0RegionSize( ) const { return fL0RegionSize; } | |
48 | virtual void L0PatchSize( TVector2 size ) const { size = fL0PatchSize; } | |
49 | virtual TVector2 L0PatchSize( ) const { return fL0PatchSize; } | |
50 | virtual void L0SubRegionSize( TVector2 size ) const { size = fL0SubRegionSize; } | |
51 | virtual TVector2 L0SubRegionSize( ) const { return fL0SubRegionSize; } | |
52 | virtual void L0NPatches( Int_t arr[32] ) const { for (Int_t i=0;i<32;i++) arr[i] = fL0NPatches[i]; } | |
53 | ||
54 | virtual void L1GammaPatches( TClonesArray& patches ) const { patches = *fL1GammaPatches; } | |
55 | virtual TClonesArray* L1GammaPatches( ) const { return fL1GammaPatches; } | |
56 | virtual void L1JetPatches( TClonesArray& patches ) const { patches = *fL1JetPatches; } | |
57 | virtual TClonesArray* L1JetPatches( ) const { return fL1JetPatches; } | |
58 | virtual void L1Region( Int_t arr[][64] ) const { for (Int_t i=0;i<48;i++) for (Int_t j=0;j<64;j++) { arr[i][j] = fL1Region[i][j]; } } | |
59 | virtual Int_t* L1V0( ) { return &fL1V0[0]; } | |
60 | virtual void L1RegionSize( TVector2& size ) const { size = fL1RegionSize; } | |
61 | virtual TVector2 L1RegionSize( ) const { return fL1RegionSize; } | |
62 | virtual void L1GammaPatchSize( TVector2& size ) const { size = fL1GammaPatchSize; } | |
63 | virtual TVector2 L1GammaPatchSize( ) const { return fL1GammaPatchSize; } | |
64 | virtual void L1GammaSubRegionSize( TVector2& size ) const { size = fL1GammaSubRegionSize; } | |
65 | virtual TVector2 L1GammaSubRegionSize( ) const { return fL1GammaSubRegionSize; } | |
66 | virtual void L1JetPatchSize( TVector2& size ) const { size = fL1JetPatchSize; } | |
67 | virtual TVector2 L1JetPatchSize( ) const { return fL1JetPatchSize; } | |
68 | virtual void L1JetSubRegionSize( TVector2& size ) const { size = fL1JetSubRegionSize; } | |
69 | virtual TVector2 L1JetSubRegionSize( ) const { return fL1JetSubRegionSize; } | |
70 | ||
71 | virtual void Scan() const; | |
72 | ||
73 | virtual void Reset(); | |
74 | ||
75 | private: | |
76 | ||
77 | AliEMCALTriggerData(const AliEMCALTriggerData& rhs); // NOT implemented | |
78 | AliEMCALTriggerData& operator=(const AliEMCALTriggerData& rhs); // NOT implemented | |
79 | ||
80 | TClonesArray* fL0Patches; // array of patches | |
81 | Int_t fL0NPatches[32]; | |
82 | TVector2 fL0RegionSize; // region size in units of fast or | |
83 | TVector2 fL0SubRegionSize; // subregion size in units of fast or | |
84 | TVector2 fL0PatchSize; // patch size in units of subregion | |
85 | ||
86 | TClonesArray* fL1GammaPatches; // array of patches | |
87 | TClonesArray* fL1JetPatches; // array of patches | |
88 | Int_t fL1Region[48][64]; // STU FastOR 48-by-124 | |
89 | Int_t fL1V0[2]; // V0A V0C multiplicity estimates | |
90 | TVector2 fL1RegionSize; // region size in units of fast or | |
91 | TVector2 fL1GammaPatchSize; // patch size in units of subregion | |
92 | TVector2 fL1GammaSubRegionSize; // subregion size in units of fast or | |
93 | TVector2 fL1JetPatchSize; // patch size in units of subregion | |
94 | TVector2 fL1JetSubRegionSize; // subregion size in units of fast or | |
95 | ||
96 | ClassDef(AliEMCALTriggerData,1) | |
97 | }; | |
98 | ||
99 | #endif |