Line data Source code
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;
15 :
16 : class AliEMCALTriggerBoard : public TObject
17 : {
18 :
19 : public:
20 : AliEMCALTriggerBoard();
21 : AliEMCALTriggerBoard(const TVector2& RegionSize);
22 : virtual ~AliEMCALTriggerBoard();
23 :
24 : virtual void SlidingWindow(Int_t Threshold);
25 :
26 : virtual void ZeroRegion();
27 :
28 : virtual void Scan();
29 : virtual void Reset();
30 :
31 0 : virtual void PatchSize(TVector2& Size) const {Size = *fPatchSize;}
32 256 : virtual TVector2* PatchSize( ) const { return fPatchSize;}
33 0 : virtual void RegionSize(TVector2& Size) const {Size = *fRegionSize;}
34 85624 : virtual TVector2* RegionSize( ) const { return fRegionSize;}
35 0 : virtual void SubRegionSize(TVector2& Size) const {Size = *fSubRegionSize;}
36 256 : virtual TVector2* SubRegionSize( ) const { return fSubRegionSize;}
37 :
38 304 : virtual const TClonesArray& Patches() const {return *fPatches;}
39 :
40 0 : virtual void SetRegionSize(const TVector2& Size) { *fRegionSize = Size;}
41 184 : virtual void SetPatchSize(const TVector2& Size) { *fPatchSize = Size;}
42 184 : virtual void SetSubRegionSize(const TVector2& Size) { *fSubRegionSize = Size;}
43 :
44 50720 : virtual void SetRegion(Int_t arr[][64]) {for (Int_t i = 0; i < fRegionSize->X(); i++) for (Int_t j = 0; j < fRegionSize->Y(); j++) fRegion[i][j] = arr[i][j];}
45 :
46 0 : virtual Int_t** Region() {return fRegion;}
47 120 : virtual Int_t** Map() {return fMap;}
48 0 : 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 : protected:
51 :
52 : Int_t** fRegion; //!
53 : Int_t** fMap; //! Map the position to digit index (which eq. to ADC channel)
54 : TVector2* fRegionSize; //! in FastOR unit
55 : TVector2* fSubRegionSize; //! in FastOR unit
56 : TVector2* fPatchSize; //! in subregion unit
57 : TClonesArray* fPatches; //!
58 :
59 : private:
60 :
61 : AliEMCALTriggerBoard(const AliEMCALTriggerBoard& rhs); // NOT implemented
62 : AliEMCALTriggerBoard& operator=(const AliEMCALTriggerBoard& rhs); // NOT implemented
63 :
64 42 : ClassDef(AliEMCALTriggerBoard,1)
65 : };
66 :
67 : #endif
|