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 */
8 //*-- Author: Rachid Guernane (LPCCFd)
22 class AliMUONTriggerCrate;
23 class AliMUONCalibrationData;
25 class AliMUONGlobalTriggerBoard;
28 class AliMUONTriggerElectronics : public TTask
31 AliMUONTriggerElectronics(AliMUONData* Data = 0, AliMUONCalibrationData* =0);
32 virtual ~AliMUONTriggerElectronics();
34 virtual void Exec(Option_t*);
36 // CRATE CONFIG FROM ASCII FILE
37 virtual void SetDataSource(TString SourceFile = "$ALICE_ROOT/MUON/data/CRATE.TXT")
38 {fSourceFileName = SourceFile;}
40 virtual void Factory(AliMUONCalibrationData*);
41 void LoadMasks(AliMUONCalibrationData*);
42 virtual void AddCrate(char *name);
44 virtual AliMUONTriggerCrate* Crate(char *name);
47 virtual void Feed(UShort_t pattern[2][4]);
50 virtual void BoardName(Int_t ix, Int_t iy, char *name);
54 virtual void Scan(Option_t *option);
56 virtual void LocalResponse();
57 virtual void RegionalResponse();
58 virtual void GlobalResponse();
60 virtual void BuildName(Int_t icirc, char name[20]);
62 virtual void DumpOS();
64 virtual void Digits2Trigger();
65 virtual void Trigger();
66 virtual void ClearDigitNumbers();
67 virtual void DigitFiredCircuit(Int_t circuit, Int_t cathode, Int_t chamber, Int_t digit);
69 // virtual AliMUONData* GetMUONData() {return fMUONData;}
72 AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right);
73 AliMUONTriggerElectronics& operator = (const AliMUONTriggerElectronics& right);
76 TString fSourceFileName;
77 TClonesArray *fCrates;
78 AliMUONGlobalTriggerBoard *fGlobalTriggerBoard;
80 static const Int_t fgkNCrates;
81 UShort_t fLocal[16][16]; // 16 crates of 16 LB
82 UShort_t fRegional[16];
84 AliMUONData *fMUONData; //! Data container for MUON subsystem
85 TArrayI fDigitNumbers[234]; //! The digit number that fired a circuit.
89 ClassDef(AliMUONTriggerElectronics,1)