1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
4 #ifndef ALIMUONTRIGGERDECISION_H
5 #define ALIMUONTRIGGERDECISION_H
6 ////////////////////////////////////////////////
7 // MUON Trigger Decision Class //
8 ////////////////////////////////////////////////
11 class AliMUONHitMapA1;
14 class AliMUONSegmentation;
15 class AliMUONResponse;
17 class AliMUONTriggerDecision :
20 AliMUONTriggerDecision(Int_t iprint); // constructor
21 ~AliMUONTriggerDecision(); // destructor
28 void TrigX(Int_t ch1q[16], Int_t ch2q[16], Int_t ch3q[32], Int_t ch4q[32],
29 Int_t coinc44, Int_t minDevStrip[5], Int_t minDev[5]);
30 void Sort2x5(Int_t dev1[6], Int_t dev2[6],
31 Int_t minDev[6], Int_t &dev1GTdev2);
32 void TrigY(Int_t y1[16], Int_t y2[16], Int_t y3[16], Int_t y4[16],
33 Int_t y3u[16], Int_t y3d[16], Int_t y4u[16], Int_t y4d[16],
34 Int_t x2m, Int_t x2ud, Int_t orMud[2], Int_t resetMid,
35 Int_t coinc44, Int_t coordY[5]);
36 void LocalTrigger(Int_t icirc, Int_t minDevStrip[5],
37 Int_t minDev[5], Int_t coordY[5],
42 void PrintBitPatXInput(Int_t icirc);
43 void PrintBitPatYInput(Int_t icirc);
44 void PrintLocalOutput(Int_t minDevStrip[5], Int_t minDev[5],
47 // return member data information
48 Int_t GetITrigger(Int_t icirc);
49 Int_t GetStripX11(Int_t icirc);
50 Int_t GetDev(Int_t icirc);
51 Int_t GetStripY11(Int_t icirc);
52 void GetLutOutput(Int_t icirc, Int_t lpt[2], Int_t hpt[2], Int_t apt[2]);
53 void GetGlobalTrigger(Int_t singlePlus[3], Int_t singleMinus[3],
54 Int_t singleUndef[3], Int_t pairUnlike[3],
57 // Add a new Local Trigger
58 // virtual void AddLocalTrigger(const AliMUONLocalTrigger);
59 // Return pointer to Local Triggers
60 // TClonesArray* LocalTriggers(){return fLocalTriggers;}
62 ClassDef(AliMUONTriggerDecision,1) // Trigger Decision class
65 Int_t fDebug; // print option
67 // Global Trigger information [0] : Low pt, [1] : High pt, [2] : All pt
68 Int_t fGlobalSinglePlus[3]; // tot num of single plus
69 Int_t fGlobalSingleMinus[3]; // tot num of single minus
70 Int_t fGlobalSingleUndef[3]; // tot num of single undefined
71 Int_t fGlobalPairUnlike[3]; // tot num of unlike-sign pairs
72 Int_t fGlobalPairLike[3]; // tot num of like-sign pairs
74 // Local Trigger information
75 Int_t fTrigger[234]; // fTrigger = 0 : no trigger, 1 : trigger
76 Int_t fStripX11[234]; // X strip in MC11 which triggers
77 Int_t fDev[234]; // deviation which triggers
78 Int_t fStripY11[234]; // Y strip in MC11 which triggers
79 Int_t fLutLpt[234][2]; // Local Trigger info Low pt
80 Int_t fLutHpt[234][2]; // Local Trigger info High pt
81 Int_t fLutApt[234][2]; // Local Trigger info All pt
84 Int_t fXbit11[234][16]; // bit pattern XM11
85 Int_t fXbit12[234][16]; // bit pattern XM12
86 Int_t fXbit21[234][32]; // bit pattern XM21
87 Int_t fXbit22[234][32]; // bit pattern XM22
88 Int_t fYbit11[234][16]; // bit pattern YM11
89 Int_t fYbit12[234][16]; // bit pattern YM12
90 Int_t fYbit21[234][16]; // bit pattern YM21
91 Int_t fYbit22[234][16]; // bit pattern YM22
93 Int_t fYbit21U[234][16]; // bit pattern YM21 Up
94 Int_t fYbit22U[234][16]; // bit pattern YM22 Up
95 Int_t fYbit21D[234][16]; // bit pattern YM21 Down
96 Int_t fYbit22D[234][16]; // bit pattern YM22 Down
99 // TClonesArray* fLocalTriggers; // Local Triggers
100 // Int_t fNLocalTriggers; // Number of Local Triggers