// Author Ph. Crochet
#include <TObject.h>
+#include "AliMUONRawStreamTriggerHP.h"
class AliMUONLocalStruct;
class TArrayS;
void GetYPattern(TArrayS& array) const;
Char_t GetLoDecision() const;
+
+ Int_t GetDeviation() const;
+ void SetDeviation(Int_t deviation);
+
+ /// Trigger response X strips
+ Bool_t IsTrigX() const;
+ /// Trigger response Y strips
+ Bool_t IsTrigY() const;
+
+ /// Hit pattern from the re-calculated trigger response after removing chambers one-by-one
+ UShort_t GetHitPatternFromResponse() const {return fHitPatternFromResponse; }
+
+ /// Triggers from the re-calculated trigger response after removing chambers one-by-one
+ UChar_t GetTriggerWithoutChamber() const {return fTriggerWithoutChamber; }
// setter methods
//
void SetY4Pattern(UShort_t pat) {fY4Pattern = pat;}
void SetLocalStruct(Int_t loCircuit, AliMUONLocalStruct& localStruct);
+ void SetLocalStruct(Int_t loCircuit, const AliMUONRawStreamTriggerHP::AliLocalStruct& localStruct);
Bool_t IsNull() const;
virtual void Print(Option_t* opt="") const;
virtual const char* GetName() const;
-
+
+ /// The board would provide a trigger even after removing chamber ich [0,3]
+ void SetTriggerWithoutChamber(Int_t ich){ fTriggerWithoutChamber |= 1 << (3 - ich); }
+
+ /// Trigger algorithm did NOT find hit in the specified chamber and cathode
+ void SetNoHitInPlane(Int_t icath, Int_t ich){ fHitPatternFromResponse &= ~(1 << (7 - 4*icath - ich)); }
+
private:
Int_t fLoCircuit; ///< Circuit number
Int_t fLoStripX; ///< X strip in MT11
UShort_t fY3Pattern; ///< Y strip pattern for chamber 21
UShort_t fY4Pattern; ///< Y strip pattern for chamber 22
- ClassDef(AliMUONLocalTrigger,4) // reconstructed Local Trigger object
+ UShort_t fHitPatternFromResponse; ///< Fired plane according to re-computed repsonse
+ UChar_t fTriggerWithoutChamber; ///< Pattern of triggers after chamber removal
+
+ ClassDef(AliMUONLocalTrigger,5) // reconstructed Local Trigger object
};
#endif