1 #ifndef ALIMUONTRIGGERELECTRONICS_H
2 #define ALIMUONTRIGGERELECTRONICS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 /// \class AliMUONTriggerElectronics
10 /// \brief Manager class for muon trigger electronics
12 /// Client of trigger board classes
14 /// \author Rachid Guernane (LPCCFd)
24 class AliMUONTriggerCrate;
25 class AliMUONCalibrationData;
26 class AliMUONGlobalTriggerBoard;
27 class AliMUONTriggerCrateStore;
28 class AliMUONVTriggerStore;
29 class AliMUONVDigitStore;
31 class AliMUONTriggerElectronics : public TObject
34 AliMUONTriggerElectronics(AliMUONCalibrationData* calibData=0);
36 virtual ~AliMUONTriggerElectronics();
38 virtual void Factory(AliMUONCalibrationData* calibData);
39 void LoadMasks(AliMUONCalibrationData* calibData);
41 virtual void Feed(UShort_t pattern[2][4]);
42 virtual void Feed(const AliMUONVDigitStore& digitStore);
43 virtual void Feed(const AliMUONVTriggerStore& triggerStore);
46 virtual void Scan(const Option_t *option);
48 virtual void LocalResponse();
49 virtual void RegionalResponse();
50 virtual void GlobalResponse();
52 virtual void DumpOS();
54 virtual void Digits2Trigger(const AliMUONVDigitStore& digitStore,
55 AliMUONVTriggerStore& triggerStore);
57 virtual Bool_t ModifiedLocalResponse(Int_t loCircuit,
58 Bool_t& bendingPlaneResp,
59 Bool_t& nonBendingPlaneResp,
60 Bool_t isCoinc44 = kFALSE,
61 Int_t removeChamber = -1);
63 virtual void ResponseRemovingChambers(AliMUONVTriggerStore& triggerStore);
65 /// Return Crate array
66 AliMUONTriggerCrateStore* GetCrateStore() {return fCrates;}
70 AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right);
72 AliMUONTriggerElectronics& operator = (const AliMUONTriggerElectronics& right);
74 void FeedCopyNeighbours();
76 /// set copy card array
80 TList* fCopyXInput[2]; ///< list of copy X input from local to local board
81 TList* fCopyYInput[2]; ///< list of copy Y input from local to local board
82 AliMUONTriggerCrateStore *fCrates; ///< Crate array
83 AliMUONGlobalTriggerBoard *fGlobalTriggerBoard; ///< Global trigger board
85 ClassDef(AliMUONTriggerElectronics,4) //Manager class for muon trigger electronics