ROOT logo
#ifndef ALIMUONGLOBALTRIGGERBOARD_H
#define ALIMUONGLOBALTRIGGERBOARD_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

/// \ingroup trigger
/// \class AliMUONGlobalTriggerBoard
/// \brief Global trigger board
///
//  Author: Rachid Guernane (LPCCFd)

#include "AliMUONTriggerBoard.h"

class AliMUONGlobalTriggerBoard : public AliMUONTriggerBoard
{
   public:

      AliMUONGlobalTriggerBoard();  
      AliMUONGlobalTriggerBoard(const char *name, Int_t a);
      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();

                       /// 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 {}

                       /// 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 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,2) //Global trigger board
};
#endif
 AliMUONGlobalTriggerBoard.h:1
 AliMUONGlobalTriggerBoard.h:2
 AliMUONGlobalTriggerBoard.h:3
 AliMUONGlobalTriggerBoard.h:4
 AliMUONGlobalTriggerBoard.h:5
 AliMUONGlobalTriggerBoard.h:6
 AliMUONGlobalTriggerBoard.h:7
 AliMUONGlobalTriggerBoard.h:8
 AliMUONGlobalTriggerBoard.h:9
 AliMUONGlobalTriggerBoard.h:10
 AliMUONGlobalTriggerBoard.h:11
 AliMUONGlobalTriggerBoard.h:12
 AliMUONGlobalTriggerBoard.h:13
 AliMUONGlobalTriggerBoard.h:14
 AliMUONGlobalTriggerBoard.h:15
 AliMUONGlobalTriggerBoard.h:16
 AliMUONGlobalTriggerBoard.h:17
 AliMUONGlobalTriggerBoard.h:18
 AliMUONGlobalTriggerBoard.h:19
 AliMUONGlobalTriggerBoard.h:20
 AliMUONGlobalTriggerBoard.h:21
 AliMUONGlobalTriggerBoard.h:22
 AliMUONGlobalTriggerBoard.h:23
 AliMUONGlobalTriggerBoard.h:24
 AliMUONGlobalTriggerBoard.h:25
 AliMUONGlobalTriggerBoard.h:26
 AliMUONGlobalTriggerBoard.h:27
 AliMUONGlobalTriggerBoard.h:28
 AliMUONGlobalTriggerBoard.h:29
 AliMUONGlobalTriggerBoard.h:30
 AliMUONGlobalTriggerBoard.h:31
 AliMUONGlobalTriggerBoard.h:32
 AliMUONGlobalTriggerBoard.h:33
 AliMUONGlobalTriggerBoard.h:34
 AliMUONGlobalTriggerBoard.h:35
 AliMUONGlobalTriggerBoard.h:36
 AliMUONGlobalTriggerBoard.h:37
 AliMUONGlobalTriggerBoard.h:38
 AliMUONGlobalTriggerBoard.h:39
 AliMUONGlobalTriggerBoard.h:40
 AliMUONGlobalTriggerBoard.h:41
 AliMUONGlobalTriggerBoard.h:42
 AliMUONGlobalTriggerBoard.h:43
 AliMUONGlobalTriggerBoard.h:44
 AliMUONGlobalTriggerBoard.h:45
 AliMUONGlobalTriggerBoard.h:46
 AliMUONGlobalTriggerBoard.h:47
 AliMUONGlobalTriggerBoard.h:48
 AliMUONGlobalTriggerBoard.h:49
 AliMUONGlobalTriggerBoard.h:50
 AliMUONGlobalTriggerBoard.h:51
 AliMUONGlobalTriggerBoard.h:52
 AliMUONGlobalTriggerBoard.h:53
 AliMUONGlobalTriggerBoard.h:54
 AliMUONGlobalTriggerBoard.h:55
 AliMUONGlobalTriggerBoard.h:56
 AliMUONGlobalTriggerBoard.h:57
 AliMUONGlobalTriggerBoard.h:58
 AliMUONGlobalTriggerBoard.h:59
 AliMUONGlobalTriggerBoard.h:60
 AliMUONGlobalTriggerBoard.h:61
 AliMUONGlobalTriggerBoard.h:62
 AliMUONGlobalTriggerBoard.h:63