]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONGlobalTriggerBoard.h
- Some trigger informations were not properly recovered from ESD
[u/mrichter/AliRoot.git] / MUON / AliMUONGlobalTriggerBoard.h
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 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       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       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       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       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    ClassDef(AliMUONGlobalTriggerBoard,2) //Global trigger board
62 };
63 #endif