X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONGlobalTriggerBoard.h;h=a1b14301ad611b07613ee6824407a9c348ad4a98;hb=2176e8cffb1bf74705a0b9654e040ab08dc57210;hp=b91fd79acd9d0169d26b75fb56bd3cb35346771d;hpb=edd00c2d95e98a50f7ad305bbe747c1db48247be;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONGlobalTriggerBoard.h b/MUON/AliMUONGlobalTriggerBoard.h index b91fd79acd9..a1b14301ad6 100644 --- a/MUON/AliMUONGlobalTriggerBoard.h +++ b/MUON/AliMUONGlobalTriggerBoard.h @@ -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