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 */
7 EMCal trigger board super class
8 run the sliding window algorithm
9 Author: R. GUERNANE LPSC Grenoble CNRS/IN2P3
12 #include "AliEMCALTriggerTypes.h"
18 class AliEMCALTriggerBoard : public TObject
22 AliEMCALTriggerBoard();
23 AliEMCALTriggerBoard(const TVector2& RegionSize);
24 virtual ~AliEMCALTriggerBoard();
26 virtual void SlidingWindow(TriggerType_t type, Int_t Threshold, Int_t time = -1);
28 virtual void ZeroRegion();
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;}
40 virtual const TClonesArray& Patches() const {return *fPatches;}
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;}
46 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];}
48 virtual Int_t** Region() {return fRegion;}
49 virtual Int_t** Map() {return fMap;}
50 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];}
54 AliEMCALTriggerBoard(const AliEMCALTriggerBoard& rhs); // NOT implemented
55 AliEMCALTriggerBoard& operator=(const AliEMCALTriggerBoard& rhs); // NOT implemented
60 Int_t** fMap; //! Map the position to digit index (which eq. to ADC channel)
61 TVector2* fRegionSize; //! in FastOR unit
62 TVector2* fSubRegionSize; //! in FastOR unit
63 TVector2* fPatchSize; //! in subregion unit
64 TClonesArray* fPatches; //!
66 ClassDef(AliEMCALTriggerBoard,1)