/* $Id$ */
-//*-- Author: Rachid Guernane (LPCCFd)
-// GLOBAL TRIGGER IMPLEMENTATION
-// INPUTS ARE REGIONAL RESPONSES
-// OUTPUT IS A 12-BIT WORD
-// 4 BITS PER TRIGGER LEVEL
+//-----------------------------------------------------------------------------
+/// \class AliMUONGlobalTriggerBoard
+/// Global trigger implementation:
+/// - inputs are regional responses
+/// - output is a 12-bit word
+/// - 4 bits per trigger level
+/// \todo Change member functions comments in capital letters to normal text
+///
+/// \author Rachid Guernane (LPCCFd)
+//-----------------------------------------------------------------------------
#include "AliMUONGlobalTriggerBoard.h"
#include "AliLog.h"
//___________________________________________
AliMUONGlobalTriggerBoard::AliMUONGlobalTriggerBoard()
{
+/// Default constructor
+
for (Int_t i=0;i<16;i++) fRegionalResponse[i] = 0;
}
//___________________________________________
AliMUONGlobalTriggerBoard::AliMUONGlobalTriggerBoard(const char *name, Int_t a) : AliMUONTriggerBoard(name, a)
{
+/// Standard constructor
+
for (Int_t i=0;i<16;i++) fRegionalResponse[i] = 0;
}
+//___________________________________________
+AliMUONGlobalTriggerBoard::~AliMUONGlobalTriggerBoard()
+{
+/// Destructor
+}
+
//___________________________________________
void AliMUONGlobalTriggerBoard::Mask(Int_t index, UShort_t mask)
{
- // MASK GLOBAL TRIGGER BOARD INPUT index WITH VALUE mask
+ /// MASK GLOBAL TRIGGER BOARD INPUT index WITH VALUE mask
if ( index>=0 && index < 16 )
{
fMask[index]=mask;
//___________________________________________
void AliMUONGlobalTriggerBoard::Response()
{
- // COMPUTE THE GLOBAL TRIGGER BOARD
- // RESPONSE ACCORDING TO THE Algo() METHOD
-/// output from global trigger algorithm
-/// [+, -, LS, US] * [Hpt, Lpt]
-/// transformed to [usHpt, usLpt, lsHpt, lsLpt, sHpt, sLpt] according
-/// to Global Trigger Unit user manual
+ /// COMPUTE THE GLOBAL TRIGGER BOARD
+ /// RESPONSE ACCORDING TO THE Algo() METHOD
+// output from global trigger algorithm
+// [+, -, LS, US] * [Hpt, Lpt]
+// transformed to [usHpt, usLpt, lsHpt, lsLpt, sHpt, sLpt] according
+// to Global Trigger Unit user manual
Int_t t[16];
for (Int_t i=0;i<16;i++) t[i] = fRegionalResponse[i] & fMask[i];
rank /= 2;
}
- cout << " ===============================================" << "\n";
- cout << " here ----------------- " << t[0] << "\n";
- cout << " ===============================================" << "\n";
UChar_t sLpt, sHpt, lsLpt, lsHpt, usLpt, usHpt;
sLpt = ((t[0] & 0xC) != 0);
sHpt = ((t[0] & 0xC0) != 0);
usHpt <<= 5;
fResponse = sLpt | sHpt | lsLpt | lsHpt | usLpt |usHpt;
-
- cout << " ===============================================" << "\n";
- cout << sLpt << " " << sHpt << " " << lsLpt << " "<< lsHpt << " "
- << " " << usLpt << " " << usHpt <<"\n";
- cout << " here +++++++++++++++++++ " << fResponse << "\n";
- cout << " ===============================================" << "\n";
}
//___________________________________________
UShort_t AliMUONGlobalTriggerBoard::Algo(UShort_t i, UShort_t j, char *thres)
{
- // GLOBAL TRIGGER ALGORITHM
+ /// GLOBAL TRIGGER ALGORITHM
TBits a(8), b(8); a.Set(8,&i); b.Set(8,&j);
TBits trg1(2), trg2(2), trg(2);
//___________________________________________
void AliMUONGlobalTriggerBoard::Scan(Option_t*) const
{
- // PRINT GLOBAL TRIGGER OUTPUT
+ /// PRINT GLOBAL TRIGGER OUTPUT
TBits w(8); w.Set(8,&fResponse);
// TRG[1:0]