]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONLocalTrigger.cxx
New methods to display tracking informations have been added
[u/mrichter/AliRoot.git] / MUON / AliMUONLocalTrigger.cxx
index 41c56390c64b17e4dec806703095a815e9783f41..9f636fe9a1589d12abe118f2b208244739e15d38 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/*
-
-*/
+/* $Id$ */
 
 #include "AliMUONLocalTrigger.h"
 
 ClassImp(AliMUONLocalTrigger);
 //----------------------------------------------------------------------
 AliMUONLocalTrigger::AliMUONLocalTrigger()
+  : TObject()
 {
 // constructor
   fLoCircuit = 0;
@@ -31,9 +30,80 @@ AliMUONLocalTrigger::AliMUONLocalTrigger()
   fLoLpt     = 0;
   fLoHpt     = 0;
   fLoApt     = 0;
+
+  fX1Pattern  = 0;
+  fX2Pattern  = 0;
+  fX3Pattern  = 0;
+  fX4Pattern  = 0;
+
+  fY1Pattern  = 0;
+  fY2Pattern  = 0;
+  fY3Pattern  = 0;
+  fY4Pattern  = 0;
+
+  fLoDecision = 0;
+
 }
 //----------------------------------------------------------------------
-AliMUONLocalTrigger::AliMUONLocalTrigger(Int_t *localtr)
+AliMUONLocalTrigger::AliMUONLocalTrigger(const AliMUONLocalTrigger& theMUONLocalTrig)
+  : TObject(theMUONLocalTrig)
+{
+// copy constructor (useful for TClonesArray)
+  fLoCircuit = theMUONLocalTrig.fLoCircuit;
+  fLoStripX  = theMUONLocalTrig.fLoStripX;         
+  fLoDev     = theMUONLocalTrig.fLoDev;           
+  fLoStripY  = theMUONLocalTrig.fLoStripY;           
+  fLoLpt     = theMUONLocalTrig.fLoLpt;
+  fLoHpt     = theMUONLocalTrig.fLoHpt;
+  fLoApt     = theMUONLocalTrig.fLoApt;
+
+  fX1Pattern  = theMUONLocalTrig.fX1Pattern;
+  fX2Pattern  = theMUONLocalTrig.fX2Pattern;
+  fX3Pattern  = theMUONLocalTrig.fX3Pattern;
+  fX4Pattern  = theMUONLocalTrig.fX4Pattern;
+
+  fY1Pattern  = theMUONLocalTrig.fY1Pattern;
+  fY2Pattern  = theMUONLocalTrig.fY2Pattern;
+  fY3Pattern  = theMUONLocalTrig.fY3Pattern;
+  fY4Pattern  = theMUONLocalTrig.fY4Pattern;
+
+  fLoDecision =  theMUONLocalTrig.fLoDecision;
+}
+//----------------------------------------------------------------------
+AliMUONLocalTrigger& AliMUONLocalTrigger::operator=(const AliMUONLocalTrigger& theMUONLocalTrig)
+{
+// equal operator (useful for non-pointer member in TClonesArray)
+  if (this == &theMUONLocalTrig)
+    return *this;
+
+  // base class assignement
+  TObject::operator=(theMUONLocalTrig);
+
+  fLoCircuit = theMUONLocalTrig.fLoCircuit;
+  fLoStripX  = theMUONLocalTrig.fLoStripX;         
+  fLoDev     = theMUONLocalTrig.fLoDev;           
+  fLoStripY  = theMUONLocalTrig.fLoStripY;           
+  fLoLpt     = theMUONLocalTrig.fLoLpt;
+  fLoHpt     = theMUONLocalTrig.fLoHpt;
+  fLoApt     = theMUONLocalTrig.fLoApt;
+
+  fX1Pattern  = theMUONLocalTrig.fX1Pattern;
+  fX2Pattern  = theMUONLocalTrig.fX2Pattern;
+  fX3Pattern  = theMUONLocalTrig.fX3Pattern;
+  fX4Pattern  = theMUONLocalTrig.fX4Pattern;
+
+  fY1Pattern  = theMUONLocalTrig.fY1Pattern;
+  fY2Pattern  = theMUONLocalTrig.fY2Pattern;
+  fY3Pattern  = theMUONLocalTrig.fY3Pattern;
+  fY4Pattern  = theMUONLocalTrig.fY4Pattern;
+
+  fLoDecision =  theMUONLocalTrig.fLoDecision;
+
+  return *this;
+}
+
+//----------------------------------------------------------------------
+AliMUONLocalTrigger::AliMUONLocalTrigger(Int_t* localtr)
 {
 // add a local trigger object 
   fLoCircuit = localtr[0];
@@ -43,42 +113,23 @@ AliMUONLocalTrigger::AliMUONLocalTrigger(Int_t *localtr)
   fLoLpt     = localtr[4];
   fLoHpt     = localtr[5];
   fLoApt     = localtr[6];
-}
 
-//----------------------------------------------------------------------
-//--- methods which return member data related info
-//----------------------------------------------------------------------
-Int_t AliMUONLocalTrigger::LoCircuit(){ 
-// returns circuit number 
-return fLoCircuit;
-}
-//----------------------------------------------------------------------
-Int_t AliMUONLocalTrigger::LoStripX(){  
-// returns X strip in MT11 
-return fLoStripX;
-}
-//----------------------------------------------------------------------
-Int_t AliMUONLocalTrigger::LoDev(){     
-// returns deviation 
-return fLoDev;
-}
-//----------------------------------------------------------------------
-Int_t AliMUONLocalTrigger::LoStripY(){  
-// returns Y strip in MT11 
-return fLoStripY;
-}
-//----------------------------------------------------------------------
-Int_t AliMUONLocalTrigger::LoLpt(){     
-// returns Low pt  0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
-return fLoLpt;
-}
-//----------------------------------------------------------------------
-Int_t AliMUONLocalTrigger::LoHpt(){     
-// returns High pt 0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
-return fLoHpt;
+  // keep on with this way
+  fX1Pattern = (UShort_t)localtr[7];
+  fX2Pattern = (UShort_t)localtr[8];
+  fX3Pattern = (UShort_t)localtr[9];
+  fX4Pattern = (UShort_t)localtr[10];
+
+  fY1Pattern = (UShort_t)localtr[11];
+  fY2Pattern = (UShort_t)localtr[12];
+  fY3Pattern = (UShort_t)localtr[13];
+  fY4Pattern = (UShort_t)localtr[14];
 }
 //----------------------------------------------------------------------
-Int_t AliMUONLocalTrigger::LoApt(){     
-// returns All pt  0 : nothing, 1 : Minus, 2 : Plus, 3 : Undef
-return fLoApt;
+Char_t AliMUONLocalTrigger::GetLoDecision()
+{
+  fLoDecision  = (fLoLpt & 0x3);
+  fLoDecision |= (fLoHpt << 2) & 0xC;
+
+  return fLoDecision;
 }