/// \ingroup raw
/// \class AliMUONLocalStruct
-/// \brief rawdata local card structure for trigger
+/// \brief Rawdata local card structure for trigger
///
// Author Christian Finck
#include <TObject.h>
#include <TMath.h>
+#include <TArrayS.h>
+
class AliMUONLocalStruct : public TObject{
UShort_t GetX4() const {return (fData[1] >> 16) & 0xFFFF;}
/// Return X3
UShort_t GetX3() const {return (fData[1]) & 0xFFFF;}
+ /// return X pattern array
+ void GetXPattern(TArrayS& array) const;
+ /// return Y pattern array
+ void GetYPattern(TArrayS& array) const;
/// Return Y2
UShort_t GetY2() const {return (fData[2] >> 16) & 0xFFFF;}
UChar_t GetId() const {return fData[4] >> 19 & 0xF;}
/// Return Dec
UChar_t GetDec() const {return fData[4] >> 15 & 0xF;}
+ /// Return TrigY
+ Bool_t GetTrigY() const {return (fData[4] >> 14 & 0x1);}
/// Return TriggerY
- Bool_t GetTriggerY() const {return (fData[4] >> 14 & 0x1);}
+ Bool_t GetTriggerY() const {return !(GetTrigY() && GetYPos()==15);}
/// Return Upos
UChar_t GetYPos() const {return fData[4] >> 10 & 0xF;}
- /// Return Xdev
- UChar_t GetXDev() const {return fData[4] >> 5 & 0x1F;}
+ /// Get Sign of X deviation
+ UChar_t GetSXDev() const {return fData[4] >> 9 & 0x1;}
+ /// Get X deviation
+ UChar_t GetXDev() const {return fData[4] >> 5 & 0xF;}
/// Return TriggerX
- Bool_t GetTriggerX() const {return ((GetXDev() >> 4 & 0x1) && !(GetXDev() & 0xF));}
+ Bool_t GetTriggerX() const {return !(GetSXDev() &&
+ !GetXDev() &&
+ GetXPos()==0);}
/// Return Xpos
UChar_t GetXPos() const {return fData[4] & 0x1F;}
/// Return local clock
UInt_t GetClock() const {return fClk;}
/// Return switch
- UChar_t GetSwitch() const {return (fEOS >> 2) & 0x3FF;}
+ UShort_t GetSwitch() const {return (fEOS >> 1) & 0x3FF;}
/// Return ComptXY
- UChar_t GetComptXY() const {return fEOS & 3;}
+ UChar_t GetComptXY() const {return fEOS & 1;}
/// Return XY1
UShort_t GetXY1(Int_t n) const {return (n % 2 == 0) ?
static const UInt_t fgkEndOfLocal; ///< end of local info word
static const UInt_t fgkDisableWord; ///< Word for "empty" slots
- ClassDef(AliMUONLocalStruct,3)
+ ClassDef(AliMUONLocalStruct,3) //Rawdata local card structure for trigger
};
#endif