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)
28 class AliMUONTriggerCrate;
29 class AliMUONCalibrationData;
31 class AliMUONGlobalTriggerBoard;
32 class AliMUONTriggerCrateStore;
34 class AliMUONTriggerElectronics : public TTask
37 AliMUONTriggerElectronics(AliMUONData* data = 0,
38 AliMUONCalibrationData* calibData=0);
39 virtual ~AliMUONTriggerElectronics();
41 virtual void Exec(Option_t*);
43 // CRATE CONFIG FROM ASCII FILE
44 virtual void SetDataSource(TString SourceFile = "$ALICE_ROOT/MUON/data/CRATE.TXT")
45 {fSourceFileName = SourceFile;}
47 virtual void Factory(AliMUONCalibrationData* calibData);
48 void LoadMasks(AliMUONCalibrationData* calibData);
50 virtual void Feed(UShort_t pattern[2][4]);
53 virtual void BoardName(Int_t ix, Int_t iy, char *name);
57 virtual void Scan(Option_t *option);
59 virtual void LocalResponse();
60 virtual void RegionalResponse();
61 virtual void GlobalResponse();
63 virtual void BuildName(Int_t icirc, char name[20]);
65 virtual void DumpOS();
67 virtual void Digits2Trigger();
68 virtual void Trigger();
69 virtual void ClearDigitNumbers();
70 virtual void DigitFiredCircuit(Int_t circuit, Int_t cathode, Int_t chamber, Int_t digit);
73 AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right);
74 AliMUONTriggerElectronics& operator = (const AliMUONTriggerElectronics& right);
77 TString fSourceFileName; // Source file
78 AliMUONTriggerCrateStore *fCrates; // Crate array
79 AliMUONGlobalTriggerBoard *fGlobalTriggerBoard; // Global trigger board
80 AliMUONData *fMUONData; //! Data container for MUON subsystem
81 TArrayI fDigitNumbers[234]; //! The digit number that fired a circuit.
83 ClassDef(AliMUONTriggerElectronics,2)