1 #ifndef ALITOFTRIGGER_H
2 #define ALITOFTRIGGER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 /////////////////////////////////////////////////
11 // TOF Trigger Detector Class //
13 /////////////////////////////////////////////////
15 #include "AliTriggerDetector.h"
19 class AliTOFTrigger : public AliTriggerDetector
22 AliTOFTrigger(); // constructor
23 AliTOFTrigger(Int_t HighMultTh, Int_t ppMBTh, Int_t MultiMuonTh, Int_t UPTh, Float_t deltaminpsi, Float_t deltamaxpsi, Float_t deltaminro, Float_t deltamaxro, Int_t stripWindow); //constructor with parameters
24 AliTOFTrigger(const AliTOFTrigger & tr);
25 virtual ~AliTOFTrigger(){} // destructor
26 virtual void CreateInputs();
27 virtual void Trigger();
28 Int_t GetHighMultTh() const {return fHighMultTh;}
29 Int_t GetppMBTh() const {return fppMBTh;}
30 Int_t GetMultiMuonTh() const {return fMultiMuonTh;}
31 Int_t GetUPTh() const {return fUPTh;}
32 Float_t Getdeltaminpsi() const {return fdeltaminpsi;}
33 Float_t Getdeltamaxpsi() const {return fdeltamaxpsi;}
34 Float_t Getdeltaminro() const {return fdeltaminro;}
35 Float_t Getdeltamaxro() const {return fdeltamaxro;}
36 Int_t GetstripWindow() const {return fstripWindow;}
38 void GetMap(Bool_t **map) const;
39 //void PrintMap(); // to be checked because of warning problems
40 void GetTRDmap(Bool_t **map) const;
41 Bool_t GetBit(Int_t nDDL, Int_t nTRM, Int_t iChain,Int_t iTDC, Int_t iCH);
42 Bool_t GetBit(Int_t *detind);
43 void SetBit(Int_t nDDL, Int_t nTRM, Int_t iChain,Int_t iTDC, Int_t iCH);
44 void SetBit(Int_t *detind);
45 void ResetBit(Int_t nDDL, Int_t nTRM, Int_t iChain,Int_t iTDC, Int_t iCH);
46 void ResetBit(Int_t *detind);
49 void SetHighMultTh(Int_t HighMultTh){fHighMultTh = HighMultTh;}
50 void SetppMBTh(Int_t ppMBTh){fppMBTh = ppMBTh;}
51 void SetMultiMuonTh(Int_t MultiMuonTh){fMultiMuonTh = MultiMuonTh;}
52 void SetUPTh(Int_t UPTh){fUPTh = UPTh;}
53 void Setdeltaminpsi(Float_t deltaminpsi){fdeltaminpsi = deltaminpsi;}
54 void Setdeltamaxpsi(Float_t deltamaxpsi){fdeltamaxpsi = deltamaxpsi;}
55 void Setdeltaminro(Float_t deltaminro){fdeltaminro = deltaminro;}
56 void Setdeltamaxro(Float_t deltamaxro){fdeltamaxro = deltamaxro;}
57 void SetstripWindow(Int_t stripWindow){fstripWindow = stripWindow;}
59 void CreateCTTMMatrix();
60 void CreateLTMMatrix();
61 void CreateLTMMatrixFromDigits();
62 void CreateLTMMatrixFromRaw(AliRawReader *fRawReader);
66 kNLTM = 72, //Number of LTM
67 kNLTMchannels = 48, //Number of channels in a LTM
68 kNCTTM = 36, //Number of CTTM per TOF side
69 kNCTTMchannels = 24, //Number of channels in a CTTM
70 kNLTMtoTRDchannels = 8 //Number of channels in a CTTM
73 void GetCTTMIndex(Int_t *detind, Int_t *indexCTTM);
74 void GetLTMIndex(const Int_t * const detind, Int_t *LTMIndex);
75 Bool_t fLTMmatrix[kNLTM][kNLTMchannels]; //LTM matrix
76 Bool_t fCTTMmatrixFront[kNCTTM][kNCTTMchannels];//CTTM matrix for TOP FPGA
77 Bool_t fCTTMmatrixBack[kNCTTM][kNCTTMchannels]; //CTTM matrix for BOTTOM FPGA
78 Int_t fHighMultTh; //threshold for High Multiplicity trigger
79 Int_t fppMBTh; //threshold for pp Minimum Bias trigger
80 Int_t fMultiMuonTh; //threshold for Multi Muon trigger
81 Int_t fUPTh; //threshold for Ultra-Per coll trigger
82 Float_t fdeltaminpsi; //min delta phi for J/psi decay (UP trigger)
83 Float_t fdeltamaxpsi; //max delta phi for J/psi decay (UP trigger)
84 Float_t fdeltaminro; //min delta phi for ro decay (UP trigger)
85 Float_t fdeltamaxro; //max delta phi for ro decay (UP trigger)
86 Int_t fstripWindow; //strip window for triggering
88 ClassDef(AliTOFTrigger,1) // TOF Trigger Detector class