* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-
-*/
+/* $Id$ */
#include "AliMUONLocalTrigger.h"
ClassImp(AliMUONLocalTrigger);
//----------------------------------------------------------------------
AliMUONLocalTrigger::AliMUONLocalTrigger()
+ : TObject()
{
// constructor
fLoCircuit = 0;
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];
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;
}