]>
Commit | Line | Data |
---|---|---|
916f1e76 | 1 | #ifndef ALIEMCALTRIGGERBOARD_H |
2 | #define ALIEMCALTRIGGERBOARD_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 board super class | |
8 | run the sliding window algorithm | |
9 | Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3 | |
10 | */ | |
11 | ||
12 | #include "TVector2.h" | |
13 | ||
14 | class TClonesArray; | |
916f1e76 | 15 | |
16 | typedef enum { kGamma, kJet } L1TriggerType_t; | |
17 | ||
18 | class AliEMCALTriggerBoard : public TObject | |
19 | { | |
20 | ||
21 | public: | |
22 | AliEMCALTriggerBoard(); | |
fff39dd1 | 23 | AliEMCALTriggerBoard(const TVector2& RegionSize); |
916f1e76 | 24 | virtual ~AliEMCALTriggerBoard(); |
25 | ||
26 | virtual void SlidingWindow(L1TriggerType_t type, Int_t Threshold); | |
27 | ||
28 | virtual void ZeroRegion(); | |
29 | ||
30 | virtual void Scan(); | |
31 | virtual void Reset(); | |
32 | ||
33 | virtual void PatchSize(TVector2& Size) const {Size = *fPatchSize;} | |
34 | virtual TVector2* PatchSize( ) const { return fPatchSize;} | |
35 | virtual void RegionSize(TVector2& Size) const {Size = *fRegionSize;} | |
36 | virtual TVector2* RegionSize( ) const { return fRegionSize;} | |
37 | virtual void SubRegionSize(TVector2& Size) const {Size = *fSubRegionSize;} | |
38 | virtual TVector2* SubRegionSize( ) const { return fSubRegionSize;} | |
39 | ||
40 | virtual const TClonesArray& Patches() const {return *fPatches;} | |
41 | ||
42 | virtual void SetRegionSize(const TVector2& Size) { *fRegionSize = Size;} | |
43 | virtual void SetPatchSize(const TVector2& Size) { *fPatchSize = Size;} | |
44 | virtual void SetSubRegionSize(const TVector2& Size) { *fSubRegionSize = Size;} | |
45 | ||
46 | virtual Int_t** Region() {return fRegion;} | |
47 | virtual Int_t** Map() {return fMap;} | |
48 | virtual void Map(Int_t arr[][64], const TVector2& Size) {for (Int_t i=0;i<Size.X();i++) for (Int_t j=0;j<Size.Y();j++) arr[i][j] = fMap[i][j];} | |
49 | ||
50 | private: | |
51 | ||
52 | AliEMCALTriggerBoard(const AliEMCALTriggerBoard& rhs); // NOT implemented | |
53 | AliEMCALTriggerBoard& operator=(const AliEMCALTriggerBoard& rhs); // NOT implemented | |
54 | ||
55 | protected: | |
56 | ||
57 | Int_t** fRegion; //! | |
58 | Int_t** fMap; //! Map the position to digit index (which eq. to ADC channel) | |
59 | TVector2* fRegionSize; //! in FastOR unit | |
60 | TVector2* fSubRegionSize; //! in FastOR unit | |
61 | TVector2* fPatchSize; //! in subregion unit | |
62 | TClonesArray* fPatches; //! | |
63 | ||
64 | ClassDef(AliEMCALTriggerBoard,1) | |
65 | }; | |
66 | ||
67 | #endif |