1 #ifndef ALIVZEROTRIGGERSIMULATOR_H
\r
2 #define ALIVZEROTRIGGERSIMULATOR_H
\r
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
\r
6 * See cxx source for full Copyright notice
\r
11 #include "AliVZEROTriggerData.h"
\r
13 class AliVZEROLogicalSignal;
\r
17 class AliVZEROTriggerSimulator : public TObject {
\r
19 AliVZEROTriggerSimulator();
\r
20 AliVZEROTriggerSimulator(TTree * digitsTree, TClonesArray* digits);
\r
21 ~AliVZEROTriggerSimulator();
\r
23 AliVZEROTriggerData * GetTriggerData() const {return fTriggerData;};
\r
25 Bool_t GetBBAandBBC() const {return (fTriggerWord & 0x1);};
\r
26 Bool_t GetBBAorBBC() const {return (fTriggerWord>>1 & 0x1);};
\r
27 Bool_t GetBGAandBBC() const {return (fTriggerWord>>2 & 0x1);};
\r
28 Bool_t GetBGA() const {return (fTriggerWord>>3 & 0x1);};
\r
29 Bool_t GetBGCandBBA() const {return (fTriggerWord>>4 & 0x1);};
\r
30 Bool_t GetBGC() const {return (fTriggerWord>>5 & 0x1);};
\r
31 Bool_t GetCTA1andCTC1() const {return (fTriggerWord>>6 & 0x1);};
\r
32 Bool_t GetCTA1orCTC1() const {return (fTriggerWord>>7 & 0x1);};
\r
33 Bool_t GetCTA2andCTC2() const {return (fTriggerWord>>8 & 0x1);};
\r
34 Bool_t GetCTA2orCTC2() const {return (fTriggerWord>>9 & 0x1);};
\r
35 Bool_t GetMTAandMTC() const {return (fTriggerWord>>10 & 0x1);};
\r
36 Bool_t GetMTAorMTC() const {return (fTriggerWord>>11 & 0x1);};
\r
37 Bool_t GetBBA() const {return (fTriggerWord>>12 & 0x1);};
\r
38 Bool_t GetBBC() const {return (fTriggerWord>>13 & 0x1);};
\r
39 Bool_t GetBGAorBGC() const {return (fTriggerWord>>14 & 0x1);};
\r
40 Bool_t GetBeamGas() const {return (fTriggerWord>>15 & 0x1);};
\r
42 void SetBBAandBBC() { (fTriggerWord += 0x1);};
\r
43 void SetBBAorBBC() { (fTriggerWord += 0x1<<1);};
\r
44 void SetBGAandBBC() { (fTriggerWord += 0x1<<2);};
\r
45 void SetBGA() { (fTriggerWord += 0x1<<3);};
\r
46 void SetBGCandBBA() { (fTriggerWord += 0x1<<4);};
\r
47 void SetBGC() { (fTriggerWord += 0x1<<5);};
\r
48 void SetCTA1andCTC1() { (fTriggerWord += 0x1<<6);};
\r
49 void SetCTA1orCTC1() { (fTriggerWord += 0x1<<7);};
\r
50 void SetCTA2andCTC2() { (fTriggerWord += 0x1<<8);};
\r
51 void SetCTA2orCTC2() { (fTriggerWord += 0x1<<9);};
\r
52 void SetMTAandMTC() { (fTriggerWord += 0x1<<10);};
\r
53 void SetMTAorMTC() { (fTriggerWord += 0x1<<11);};
\r
54 void SetBBA() { (fTriggerWord += 0x1<<12);};
\r
55 void SetBBC() { (fTriggerWord += 0x1<<13);};
\r
56 void SetBGAorBGC() { (fTriggerWord += 0x1<<14);};
\r
57 void SetBeamGas() { (fTriggerWord += 0x1<<15);};
\r
63 AliVZEROTriggerSimulator(const AliVZEROTriggerSimulator &/*triggerSim*/);
\r
64 AliVZEROTriggerSimulator& operator= (const AliVZEROTriggerSimulator & /*triggerSim*/);
\r
65 AliVZEROTriggerData * LoadTriggerData() const ;
\r
66 void GenerateBBWindows();
\r
67 void GenerateBGWindows();
\r
70 AliVZEROLogicalSignal * fBBGate[AliVZEROTriggerData::kNCIUBoards];
\r
71 AliVZEROLogicalSignal * fBBLatch[AliVZEROTriggerData::kNCIUBoards];
\r
72 AliVZEROLogicalSignal * fBBReset[AliVZEROTriggerData::kNCIUBoards];
\r
74 AliVZEROLogicalSignal * fBGGate[AliVZEROTriggerData::kNCIUBoards];
\r
75 AliVZEROLogicalSignal * fBGLatch[AliVZEROTriggerData::kNCIUBoards];
\r
76 AliVZEROLogicalSignal * fBGReset[AliVZEROTriggerData::kNCIUBoards];
\r
78 AliVZEROTriggerData *fTriggerData; // Object holding the trigger configuration parameters
\r
81 TClonesArray* fDigits;
\r
83 Bool_t fBBFlags[64];
\r
84 Bool_t fBGFlags[64];
\r
87 UShort_t fTriggerWord;
\r
89 ClassDef( AliVZEROTriggerSimulator, 1 )
\r
94 #endif // ALIVZEROTRIGGERSIMULATOR_H
\r