]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONGlobalTriggerBoard.h
Update of ACORDE-QA-Raw data histograms (now they go from -0.5 to 59.5)
[u/mrichter/AliRoot.git] / MUON / AliMUONGlobalTriggerBoard.h
index b91fd79acd9d0169d26b75fb56bd3cb35346771d..a1b14301ad611b07613ee6824407a9c348ad4a98 100644 (file)
@@ -5,11 +5,11 @@
 
 /* $Id$ */
 
-/// \ingroup sim
+/// \ingroup trigger
 /// \class AliMUONGlobalTriggerBoard
-/// \brief GLOBAL TRIGGER
+/// \brief Global trigger board
 ///
-/// \author Rachid Guernane (LPCCFd)
+//  Author: Rachid Guernane (LPCCFd)
 
 #include "AliMUONTriggerBoard.h"
 
@@ -19,27 +19,45 @@ class AliMUONGlobalTriggerBoard : public AliMUONTriggerBoard
 
       AliMUONGlobalTriggerBoard();  
       AliMUONGlobalTriggerBoard(const char *name, Int_t a);
-      virtual ~AliMUONGlobalTriggerBoard() {;}
-    
+      virtual ~AliMUONGlobalTriggerBoard();
+                       
+                       /// Set regional board responses
       virtual void     SetRegionalResponse(UShort_t resp[16]) {for (Int_t i=0; i<16; i++) fRegionalResponse[i] = resp[i];}
 
       virtual void     Response();
 
-      virtual UShort_t Algo(UShort_t i, UShort_t j, char *thres);
-
+                       /// response of the algorithm
+      virtual UShort_t Algo(UShort_t i, UShort_t j, const char *thres);
+                      
+                       /// Reset regional board responses
       virtual void     Reset() {for (Int_t i=0; i<16; i++) fRegionalResponse[i] = 0;}
 
+                       /// scan response of regional boards
       virtual void     Scan(Option_t *option) const;
 
+                       /// Dummy implementation
       virtual void     Resp(Option_t*) const {}
 
-      void Mask(Int_t index, UShort_t mask);
+                       /// Set mask for global input (from regional boards)
+      void             Mask(Int_t index, UInt_t mask);
+
+                       /// Build the 4 words (32bits) global input
+      void             BuildGlobalInput();
+                       /// Apply masks to global input
+      void             MaskGlobalInput();
+                       /// Global input 4 words (32bits) from regional responses
+      UInt_t*          GetGlobalInput() { return fGlobalInput; }
+
+      void             RecomputeRegional(UInt_t globalInput[4]);
       
    private:
 
-      UShort_t fRegionalResponse[16]; // REGIONAL BOARD RESPONSES
-      UShort_t fMask[16];             // MASK
+      UShort_t InvertPairBits(Int_t iReg);
+
+      UShort_t fRegionalResponse[16]; ///< Regional board responses
+      UInt_t   fGlobalInput[4];       ///< Global input 
+      UInt_t   fMask[4];              ///< Mask for the global input
 
-   ClassDef(AliMUONGlobalTriggerBoard,1) 
+   ClassDef(AliMUONGlobalTriggerBoard,2) //Global trigger board
 };
 #endif