]>
Commit | Line | Data |
---|---|---|
be972727 | 1 | #ifndef ALIMUONLOCALTRIGGERBOARD_H |
2 | #define ALIMUONLOCALTRIGGERBOARD_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | //*-- Author: Rachid Guernane (LPCCFd) | |
9 | ||
10 | #include "AliMUONTriggerBoard.h" | |
11 | ||
12 | class AliMUONTriggerLut; | |
13 | ||
14 | class AliMUONLocalTriggerBoard : public AliMUONTriggerBoard | |
15 | { | |
16 | public: | |
17 | AliMUONLocalTriggerBoard(); | |
41922e78 | 18 | AliMUONLocalTriggerBoard(const char *name, Int_t a, AliMUONTriggerLut* lut); |
be972727 | 19 | virtual ~AliMUONLocalTriggerBoard() {;} |
20 | ||
21 | virtual void Setbit(Int_t strip, Int_t cathode, Int_t chamber); | |
8af755f4 | 22 | virtual void SetbitM(Int_t strip, Int_t cathode, Int_t chamber); |
be972727 | 23 | |
8af755f4 | 24 | virtual void Pattern(Option_t *option = "X Y"); // default option displays X then Y bp |
be972727 | 25 | |
26 | virtual void Reset(); | |
27 | ||
28 | virtual void SetSwitch(Int_t i, Int_t value) {fSwitch[i] = value;} | |
29 | ||
30 | virtual UShort_t GetSwitch(Int_t i) {return fSwitch[i];} | |
31 | ||
32 | virtual void SetTC(Bool_t con) {fTC = con;} | |
33 | ||
34 | virtual Bool_t GetTC() {return fTC;} | |
35 | ||
8af755f4 | 36 | virtual void SetNumber(Int_t nb) {fNumber = nb;} |
37 | ||
38 | virtual Int_t GetNumber() {return fNumber;} | |
39 | ||
be972727 | 40 | virtual void Module(char *mod); |
41 | ||
42 | virtual void GetX34(UShort_t *X) {for (Int_t i=0;i<2;i++) X[i] = fXY[0][i+2];} | |
43 | ||
44 | virtual void SetX34(UShort_t *X) {for (Int_t i=0;i<2;i++) fXY[0][i+2] = X[i];} | |
45 | ||
46 | virtual void GetY(UShort_t *Y) {for (Int_t i=0;i<4;i++) Y[i] = fXY[1][i];} | |
47 | ||
48 | virtual void SetY(UShort_t *Y) {for (Int_t i=0;i<4;i++) fXY[1][i] = Y[i];} | |
49 | ||
50 | virtual void GetXY(UShort_t XY[2][4]) {for (Int_t i=0;i<2;i++) for (Int_t j=0;j<4;j++) XY[i][j] = fXY[i][j];} | |
51 | ||
52 | virtual UShort_t GetXY(Int_t i, Int_t j) {return fXY[i][j];} | |
53 | ||
54 | virtual void SetXY(UShort_t XY[2][4]) {for (Int_t i=0;i<2;i++) for (Int_t j=0;j<4;j++) fXY[i][j] = XY[i][j];} | |
55 | ||
56 | virtual void Conf(); | |
57 | ||
58 | virtual void Response(); | |
59 | ||
41922e78 | 60 | virtual void Mask(Int_t index, UShort_t value); |
be972727 | 61 | |
62 | virtual void TrigX(Int_t ch1q[16], Int_t ch2q[16], Int_t ch3q[32], Int_t ch4q[32], | |
63 | Int_t coinc44); | |
64 | ||
65 | virtual void Sort2x5(Int_t dev1[6], Int_t dev2[6], | |
66 | Int_t minDev[6], Int_t &dev1GTdev2); | |
67 | ||
68 | virtual void TrigY(Int_t y1[16], Int_t y2[16], Int_t y3[16], Int_t y4[16], | |
69 | Int_t y3u[16], Int_t y3d[16], Int_t y4u[16], Int_t y4d[16], | |
70 | Int_t coinc44); | |
71 | ||
72 | 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];} | |
73 | ||
74 | 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];} | |
75 | ||
76 | virtual void Scan(Option_t *option = ""); | |
77 | ||
78 | virtual Int_t GetI(); | |
79 | ||
80 | virtual void LocalTrigger(); | |
81 | ||
82 | virtual Int_t Triggered() {return fOutput;} | |
83 | ||
84 | virtual Int_t GetStripX11() {return fStripX11;} | |
85 | ||
86 | virtual Int_t GetStripY11() {return fStripY11;} | |
87 | ||
88 | virtual Int_t GetDev() {return fDev;} | |
89 | ||
8af755f4 | 90 | virtual void SetCrate(TString crate) {fCrate = crate;} |
91 | virtual TString GetCrate() {return fCrate;} | |
92 | ||
be972727 | 93 | protected: |
884a73f1 | 94 | AliMUONLocalTriggerBoard(const AliMUONLocalTriggerBoard& right); |
95 | AliMUONLocalTriggerBoard& operator = (const AliMUONLocalTriggerBoard& right); | |
96 | ||
be972727 | 97 | |
98 | virtual void Resp(Option_t *option); // local trigger info before ("I") and after ("F") LUT | |
99 | ||
100 | virtual void BP(Option_t *option); // display X/Y bp | |
101 | ||
102 | private: | |
103 | ||
104 | Int_t fNumber; | |
105 | ||
8af755f4 | 106 | TString fCrate; |
107 | ||
be972727 | 108 | UShort_t fSwitch[10], fXY[2][4], fXYU[2][4], fXYD[2][4], fMask[2][4]; |
109 | ||
110 | // Transverse connector | |
111 | Bool_t fTC; | |
112 | ||
113 | // MT1 X position of the valid road | |
114 | Int_t fStripX11; | |
115 | ||
116 | // MT1 Y position of the valid road | |
117 | Int_t fStripY11; | |
118 | ||
119 | // Deviation in [0;+30] | |
120 | Int_t fDev; | |
121 | ||
122 | // Pt cuts estimated from LUT | |
123 | Int_t fLutLpt[2]; | |
124 | Int_t fLutHpt[2]; | |
125 | Int_t fLutApt[2]; | |
126 | ||
127 | // Outputs of the local logic | |
128 | Int_t fOutput; | |
129 | Int_t fMinDevStrip[5]; | |
130 | Int_t fMinDev[5]; | |
131 | Int_t fCoordY[5]; | |
132 | ||
41922e78 | 133 | AliMUONTriggerLut *fLUT; //! Pointer to trigger LUT, that we do not own. |
be972727 | 134 | |
135 | ClassDef(AliMUONLocalTriggerBoard,1) | |
136 | }; | |
137 | #endif |