X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONGlobalTrigger.cxx;h=ec84fd69ca0025717a6aab325b8309946e98921d;hb=d3484a41f4b410099cbca90c5a8688876371d146;hp=8aa5adde1f0d7cbb9e245a8294176ef4fbd675e4;hpb=71a2d3aa63e94daa0244d8d6d1c7c162ae29a374;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONGlobalTrigger.cxx b/MUON/AliMUONGlobalTrigger.cxx index 8aa5adde1f0..ec84fd69ca0 100644 --- a/MUON/AliMUONGlobalTrigger.cxx +++ b/MUON/AliMUONGlobalTrigger.cxx @@ -21,6 +21,7 @@ #include "AliLog.h" #include "AliMUONLocalStruct.h" +//----------------------------------------------------------------------------- /// \class AliMUONGlobalTrigger /// Global Trigger algorithm data output. /// Built from Local and Regional algorithms. \n @@ -28,6 +29,7 @@ /// add SetGlobalPattern and GetGlobalPattern method for rawdata /// (Ch. Finck) /// \author Ph. Crochet +//----------------------------------------------------------------------------- /// \cond CLASSIMP ClassImp(AliMUONGlobalTrigger) @@ -46,6 +48,8 @@ AliMUONGlobalTrigger::AliMUONGlobalTrigger() fPairLikeHpt(0) { /// Default constructor + AliDebug(1,Form("this=%p",this)); + for (Int_t i = 0; i < 4; i++) fInput[i] = 0; } //---------------------------------------------------------------------- @@ -62,12 +66,16 @@ AliMUONGlobalTrigger::AliMUONGlobalTrigger(const AliMUONGlobalTrigger& theMUONGl fPairLikeHpt(theMUONGlobalTrig.fPairLikeHpt) { /// Copy constructor + AliDebug(1,Form("this=%p copy ctor",this)); + for (Int_t i = 0; i < 4; i++) fInput[i] = theMUONGlobalTrig.fInput[i]; + } //---------------------------------------------------------------------- AliMUONGlobalTrigger::~AliMUONGlobalTrigger() { /// Destructor + AliDebug(1,Form("this=%p",this)); } //---------------------------------------------------------------------- @@ -91,6 +99,8 @@ AliMUONGlobalTrigger& AliMUONGlobalTrigger::operator=(const AliMUONGlobalTrigger fPairLikeLpt = theMUONGlobalTrig.fPairLikeLpt; fPairLikeHpt = theMUONGlobalTrig.fPairLikeHpt; + for (Int_t i = 0; i < 4; i++) fInput[i] = theMUONGlobalTrig.fInput[i]; + return *this; } @@ -102,15 +112,14 @@ void AliMUONGlobalTrigger::SetFromGlobalResponse(UShort_t globalResponse) /// [US:2, LS:2, Single:2] with [Hpt, Lpt] /// remove Apt - // don't have the information anymore of the sign - fSingleLpt = globalResponse & 0x1; - fSingleHpt = (globalResponse >> 1) & 0x1; + fSingleLpt = (globalResponse >> 1) & 0x1; + fSingleHpt = (globalResponse >> 2) & 0x1; - fPairUnlikeLpt = (globalResponse >> 4) & 0x1; - fPairUnlikeHpt = (globalResponse >> 5) & 0x1; + fPairLikeLpt = (globalResponse >> 3) & 0x1; + fPairLikeHpt = (globalResponse >> 4) & 0x1; - fPairLikeLpt = (globalResponse >> 2) & 0x1; - fPairLikeHpt = (globalResponse >> 3) & 0x1; + fPairUnlikeLpt = (globalResponse >> 5) & 0x1; + fPairUnlikeHpt = (globalResponse >> 6) & 0x1; } @@ -121,29 +130,36 @@ UChar_t AliMUONGlobalTrigger::GetGlobalResponse() const /// from class member values /// [US:2, LS:2, Single:2] with [Hpt, Lpt] - Int_t response = 0; + UChar_t response = 0; - if (SingleLpt()) response|= 0x1; - if (SingleHpt()) response|= 0x2; + if (SingleLpt()) response|= 0x2; + if (SingleHpt()) response|= 0x4; - if (PairLikeLpt()) response|= 0x4; - if (PairLikeHpt()) response|= 0x8; + if (PairLikeLpt()) response|= 0x8; + if (PairLikeHpt()) response|= 0x10; - if (PairUnlikeLpt()) response|= 0x10; - if (PairUnlikeHpt()) response|= 0x20; + if (PairUnlikeLpt()) response|= 0x20; + if (PairUnlikeHpt()) response|= 0x40; return response; } + +//----------------------------------------------------------- +void AliMUONGlobalTrigger::SetFromGlobalInput(const UInt_t *globalInput) +{ + /// Global trigger board input + /// 4 words each of 32 bits + + for (Int_t i = 0; i < 4; i++) fInput[i] = globalInput[i]; + +} + //---------------------------------------------------------------------- -void AliMUONGlobalTrigger::Print(Option_t* opt) const +void AliMUONGlobalTrigger::Print(Option_t*) const { /// /// Printing Global Trigger information /// - TString sopt(opt); - sopt.ToUpper(); - if ( sopt.Contains("FULL") ) { - printf("=============================================\n"); printf(" Global Trigger output Low pt High pt\n"); printf(" Single :\t"); @@ -159,7 +175,7 @@ void AliMUONGlobalTrigger::Print(Option_t* opt) const printf("\n"); printf("=============================================\n"); - } + }