1 #ifndef ALIMUONGLOBALTRIGGERBOARD_H
2 #define ALIMUONGLOBALTRIGGERBOARD_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 /// \class AliMUONGlobalTriggerBoard
10 /// \brief Global trigger board
12 // Author: Rachid Guernane (LPCCFd)
14 #include "AliMUONTriggerBoard.h"
16 class AliMUONGlobalTriggerBoard : public AliMUONTriggerBoard
20 AliMUONGlobalTriggerBoard();
21 AliMUONGlobalTriggerBoard(const char *name, Int_t a);
22 virtual ~AliMUONGlobalTriggerBoard();
24 /// Set regional board responses
25 virtual void SetRegionalResponse(UShort_t resp[16]) {for (Int_t i=0; i<16; i++) fRegionalResponse[i] = resp[i];}
27 virtual void Response();
29 /// response of the algorithm
30 virtual UShort_t Algo(UShort_t i, UShort_t j, const char *thres);
32 /// Reset regional board responses
33 virtual void Reset() {for (Int_t i=0; i<16; i++) fRegionalResponse[i] = 0;}
35 /// scan response of regional boards
36 virtual void Scan(Option_t *option) const;
38 /// Dummy implementation
39 virtual void Resp(Option_t*) const {}
41 /// Set mask for global input (from regional boards)
42 void Mask(Int_t index, UInt_t mask);
44 /// Build the 4 words (32bits) global input
45 void BuildGlobalInput();
46 /// Apply masks to global input
47 void MaskGlobalInput();
48 /// Global input 4 words (32bits) from regional responses
49 UInt_t* GetGlobalInput() { return fGlobalInput; }
53 UShort_t fRegionalResponse[16]; ///< Regional board responses
54 UInt_t fGlobalInput[4]; ///< Global input
55 UInt_t fMask[4]; ///< Mask for the global input
57 ClassDef(AliMUONGlobalTriggerBoard,2) //Global trigger board