Line data Source code
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 */
5 :
6 : /* $Id$ */
7 :
8 : /// \ingroup trigger
9 : /// \class AliMUONGlobalTriggerBoard
10 : /// \brief Global trigger board
11 : ///
12 : // Author: Rachid Guernane (LPCCFd)
13 :
14 : #include "AliMUONTriggerBoard.h"
15 :
16 0 : class AliMUONGlobalTriggerBoard : public AliMUONTriggerBoard
17 : {
18 : public:
19 :
20 : AliMUONGlobalTriggerBoard();
21 : AliMUONGlobalTriggerBoard(const char *name, Int_t a);
22 : virtual ~AliMUONGlobalTriggerBoard();
23 :
24 : /// Set regional board responses
25 25524 : virtual void SetRegionalResponse(UShort_t resp[16]) {for (Int_t i=0; i<16; i++) fRegionalResponse[i] = resp[i];}
26 :
27 : virtual void Response();
28 :
29 : /// response of the algorithm
30 : virtual UShort_t Algo(UShort_t i, UShort_t j, const char *thres);
31 :
32 : /// Reset regional board responses
33 0 : virtual void Reset() {for (Int_t i=0; i<16; i++) fRegionalResponse[i] = 0;}
34 :
35 : /// scan response of regional boards
36 : virtual void Scan(Option_t *option) const;
37 :
38 : /// Dummy implementation
39 0 : virtual void Resp(Option_t*) const {}
40 :
41 : /// Set mask for global input (from regional boards)
42 : void Mask(Int_t index, UInt_t mask);
43 :
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 1418 : UInt_t* GetGlobalInput() { return fGlobalInput; }
50 :
51 : void RecomputeRegional(UInt_t globalInput[4]);
52 :
53 : private:
54 :
55 : UShort_t InvertPairBits(Int_t iReg);
56 :
57 : UShort_t fRegionalResponse[16]; ///< Regional board responses
58 : UInt_t fGlobalInput[4]; ///< Global input
59 : UInt_t fMask[4]; ///< Mask for the global input
60 :
61 18 : ClassDef(AliMUONGlobalTriggerBoard,2) //Global trigger board
62 : };
63 : #endif
|