// Author Rachid Guernane (LPCCFd)
#include "AliMUONTriggerBoard.h"
+#include "AliMpLocalBoard.h"
class AliMUONTriggerLut;
class AliMUONLocalTriggerBoard : public AliMUONTriggerBoard
{
public:
-
- /// \todo add comment
- enum ESwitch {
- kX2d = 0,
- kX2m,
- kX2u,
- kOR0,
- kOR1,
- kENY,
- kZeroAllYLSB,
- kZeroDown,
- kZeroMiddle,
- kZeroUp };
AliMUONLocalTriggerBoard();
- AliMUONLocalTriggerBoard(const char *name, Int_t a, AliMUONTriggerLut* lut);
+ AliMUONLocalTriggerBoard(AliMpLocalBoard* mpLocalBoard);
+
virtual ~AliMUONLocalTriggerBoard();
/// Return true if LUT is set
virtual void Pattern(Option_t *option = "X Y") const; // default option displays X then Y bp
virtual void Reset();
+ virtual void ResetResponse();
- /// Set i-th Switch value
- virtual void SetSwitch(Int_t i, Int_t value) {fSwitch[i] = value;}
/// Return i-th Switch value
- virtual UShort_t GetSwitch(Int_t i) const {return fSwitch[i];}
-
- /// Set Transverse connector
- virtual void SetTC(Bool_t con) {fTC = con;}
+ virtual UShort_t GetSwitch(Int_t i) const {return (UShort_t)fMpLocalBoard->GetSwitch(i);}
/// Return Transverse connector
- virtual Bool_t GetTC() const {return fTC;}
-
- /// Set Board number
- virtual void SetNumber(Int_t nb) {fNumber = nb;}
+ virtual Bool_t GetTC() const {return fMpLocalBoard->GetTC();}
/// Return Board number
- virtual Int_t GetNumber() const {return fNumber;}
+ virtual Int_t GetNumber() const;
+
+ /// Return Crate name
+ virtual TString GetCrate() const {return fMpLocalBoard->GetCrate();}
+
virtual void Module(char *mod);
/// Set XYU
virtual void SetXYU(UShort_t V[2][4]) {for (Int_t i=0;i<2;i++) for (Int_t j=0;j<4;j++) fXYU[i][j] = V[i][j];}
+ /// Return XYU
+ virtual void GetXYU(UShort_t V[2][4]) const {for (Int_t i=0;i<2;i++) for (Int_t j=0;j<4;j++) V[i][j] = fXYU[i][j];}
+
/// Set XYD
virtual void SetXYD(UShort_t V[2][4]) {for (Int_t i=0;i<2;i++) for (Int_t j=0;j<4;j++) fXYD[i][j] = V[i][j];}
+ /// Return XYD
+ virtual void GetXYD(UShort_t V[2][4]) const {for (Int_t i=0;i<2;i++) for (Int_t j=0;j<4;j++) V[i][j] = fXYD[i][j];}
+
virtual void Scan(Option_t *option = "") const;
virtual Int_t GetI() const;
/// 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;}
-
- /// Set Crate name
- virtual void SetCrate(TString crate) {fCrate = crate;}
- /// Return Crate name
- virtual TString GetCrate() const {return fCrate;}
+ virtual Bool_t IsTrigY() const;
+
+ virtual Bool_t IsTrigX() const;
+
+ AliMUONLocalTriggerBoard(const AliMUONLocalTriggerBoard& right);
+ AliMUONLocalTriggerBoard& operator = (const AliMUONLocalTriggerBoard& right);
+ virtual Bool_t IsNull() const;
+
protected:
static const Int_t fgkCircuitId[234]; ///< old numbering (to be removed)
virtual void BP(Option_t *option) const; ///< display X/Y bp
private:
- /// Not implemented
- AliMUONLocalTriggerBoard(const AliMUONLocalTriggerBoard& right);
- /// Not implemented
- AliMUONLocalTriggerBoard& operator = (const AliMUONLocalTriggerBoard& right);
-
- Int_t fNumber; ///< Board number
+ AliMpLocalBoard* fMpLocalBoard; ///< pointer to the local board mapping
- TString fCrate; ///< Crate name
-
- UShort_t fSwitch[10]; ///< Switch
UShort_t fXY[2][4]; ///< Bit pattern
UShort_t fXYU[2][4]; ///< Bit pattern UP
UShort_t fXYD[2][4]; ///< Bit pattern DOWN
UShort_t fMask[2][4]; ///< Mask
- Bool_t fTC; ///< Transverse connector
-
Int_t fStripX11; ///< MT1 X position of the valid road
Int_t fStripY11; ///< MT1 Y position of the valid road
AliMUONTriggerLut *fLUT; //!< Pointer to trigger LUT, that we do not own.
Int_t fCoinc44; ///< Coinc 44 (0/1 = coinc34/coinc44)
- ClassDef(AliMUONLocalTriggerBoard,1)
+ ClassDef(AliMUONLocalTriggerBoard,2) //Implementation of local trigger board objects
};
#endif