In AliMUONLocalTriggerBoard:
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 16 Apr 2009 08:50:17 +0000 (08:50 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 16 Apr 2009 08:50:17 +0000 (08:50 +0000)
Adding methods to check separately if the bending or non-bending plane
triggered. The methods are useful when re-building the trigger response
for checks.
(Diego)

MUON/AliMUONLocalTriggerBoard.cxx
MUON/AliMUONLocalTriggerBoard.h

index 3ba21ef..9dc5583 100644 (file)
@@ -1055,23 +1055,17 @@ void AliMUONLocalTriggerBoard::LocalTrigger()
     Int_t deviation=0;
     Int_t iStripY=0;
     Int_t iStripX=0;
-    Bool_t xOutput=kFALSE;
-    Bool_t yOutput=kFALSE;
-
-   for (Int_t i=0; i<4; i++) deviation += static_cast<int>( fMinDev[i] << i );
-   for (Int_t i=0; i<4; i++) iStripY   += static_cast<int>( fCoordY[i] << i );
-
-   if (fMinDev[4]==1 && !deviation) xOutput=kFALSE;  // no trigger in X
-   else xOutput=kTRUE;                               // trigger in X
-   if (fCoordY[4]==1 && iStripY==15) yOutput=kFALSE; // no trigger in Y
-   else yOutput=kTRUE;                               // trigger in Y
+    Bool_t xOutput = IsTrigX();
+    Bool_t yOutput = IsTrigY();
 
    if (xOutput) {
       for (Int_t i=0; i<5; i++) iStripX += static_cast<int>( fMinDevStrip[i] << i );
+      for (Int_t i=0; i<4; i++) deviation += static_cast<int>( fMinDev[i] << i );
       fDev      = deviation;
       fStripX11 = iStripX;
    }
    if (yOutput) {
+     for (Int_t i=0; i<4; i++) iStripY   += static_cast<int>( fCoordY[i] << i );
       fStripY11 = iStripY;
       fTrigY    = fCoordY[4];
    }
@@ -1318,3 +1312,33 @@ void AliMUONLocalTriggerBoard::Response()
    LocalTrigger();
 }
 
+//___________________________________________
+Bool_t AliMUONLocalTriggerBoard::IsTrigY() const
+{
+  /// Return the response of non-bending plane
+  Int_t iStripY = 0;
+  Bool_t output = kFALSE;
+
+  for (Int_t i=0; i<4; i++) iStripY   += static_cast<int>( fCoordY[i] << i );
+
+  if (fCoordY[4]==1 && iStripY==15) output=kFALSE; // no trigger in Y
+  else output=kTRUE;                               // trigger in Y
+   
+  return output;
+}
+
+//___________________________________________
+Bool_t AliMUONLocalTriggerBoard::IsTrigX() const
+{
+  /// Return the response of bending plane
+
+  Int_t deviation = 0;
+  Bool_t output = kFALSE;
+
+  for (Int_t i=0; i<4; i++) deviation += static_cast<int>( fMinDev[i] << i );
+
+  if (fMinDev[4]==1 && !deviation) output=kFALSE;  // no trigger in X
+  else output=kTRUE;                               // trigger in X
+
+  return output;
+}
index 69a96ed..ac75891 100644 (file)
@@ -118,8 +118,12 @@ class AliMUONLocalTriggerBoard : public AliMUONTriggerBoard
                        /// Return Sign of Deviation 
       virtual Int_t    GetSdev() const {return fMinDev[4];}
       
-                       /// Return Sign of Deviation 
+                       /// Return Trigger in Y
       virtual Int_t    GetTrigY() const {return fTrigY;}
+
+      virtual Bool_t   IsTrigY() const;
+
+      virtual Bool_t   IsTrigX() const;
       
    protected: