]>
Commit | Line | Data |
---|---|---|
516d3280 | 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 */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
4f725a38 | 8 | /// \ingroup sim |
9 | /// \class AliMUONTriggerElectronics | |
10 | /// \brief Manager class for muon trigger electronics | |
11 | /// | |
12 | /// Client of trigger board classes | |
13 | /// | |
14 | /// \author Rachid Guernane (LPCCFd) | |
516d3280 | 15 | |
16 | #ifndef ROOT_TTask | |
17 | # include "TTask.h" | |
18 | #endif | |
19 | ||
20 | #ifndef ROOT_TArrayI | |
21 | # include "TArrayI.h" | |
22 | #endif | |
23 | ||
24 | #ifndef ROOT_TString | |
25 | # include "TString.h" | |
26 | #endif | |
27 | ||
28 | class AliMUONTriggerCrate; | |
4c0f0f5d | 29 | class AliMUONCalibrationData; |
516d3280 | 30 | class AliMUONData; |
31 | class AliMUONGlobalTriggerBoard; | |
32 | class TClonesArray; | |
33 | ||
34 | class AliMUONTriggerElectronics : public TTask | |
35 | { | |
36 | public: | |
4f725a38 | 37 | AliMUONTriggerElectronics(AliMUONData* data = 0, |
38 | AliMUONCalibrationData* calibData=0); | |
516d3280 | 39 | virtual ~AliMUONTriggerElectronics(); |
40 | ||
41 | virtual void Exec(Option_t*); | |
42 | ||
43 | // CRATE CONFIG FROM ASCII FILE | |
44 | virtual void SetDataSource(TString SourceFile = "$ALICE_ROOT/MUON/data/CRATE.TXT") | |
45 | {fSourceFileName = SourceFile;} | |
46 | ||
4f725a38 | 47 | virtual void Factory(AliMUONCalibrationData* calibData); |
48 | void LoadMasks(AliMUONCalibrationData* calibData); | |
516d3280 | 49 | virtual void AddCrate(char *name); |
50 | ||
51 | virtual AliMUONTriggerCrate* Crate(char *name); | |
52 | ||
53 | virtual void Feed(); | |
54 | virtual void Feed(UShort_t pattern[2][4]); | |
8af755f4 | 55 | virtual void FeedM(); |
516d3280 | 56 | |
57 | virtual void BoardName(Int_t ix, Int_t iy, char *name); | |
58 | ||
59 | virtual void Reset(); | |
60 | ||
61 | virtual void Scan(Option_t *option); | |
62 | ||
63 | virtual void LocalResponse(); | |
64 | virtual void RegionalResponse(); | |
65 | virtual void GlobalResponse(); | |
66 | ||
67 | virtual void BuildName(Int_t icirc, char name[20]); | |
68 | ||
69 | virtual void DumpOS(); | |
70 | ||
71 | virtual void Digits2Trigger(); | |
72 | virtual void Trigger(); | |
73 | virtual void ClearDigitNumbers(); | |
74 | virtual void DigitFiredCircuit(Int_t circuit, Int_t cathode, Int_t chamber, Int_t digit); | |
75 | ||
884a73f1 | 76 | protected: |
77 | AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right); | |
78 | AliMUONTriggerElectronics& operator = (const AliMUONTriggerElectronics& right); | |
79 | ||
516d3280 | 80 | private: |
4f725a38 | 81 | TString fSourceFileName; // Source file |
82 | TClonesArray *fCrates; // Crate array | |
83 | AliMUONGlobalTriggerBoard *fGlobalTriggerBoard; // Global trigger board | |
84 | Int_t fNCrates; // Number of trigger crates | |
85 | static const Int_t fgkNCrates; // Number of trigger crates (const) | |
86 | UShort_t fLocal[16][16]; // 16 crates of 16 LB | |
87 | UShort_t fRegional[16]; // 16 RB | |
88 | UShort_t fGlobal; // 1 GB | |
89 | AliMUONData *fMUONData; //! Data container for MUON subsystem | |
90 | TArrayI fDigitNumbers[234]; //! The digit number that fired a circuit. | |
91 | char **fCrateMap; // Map crate name <-> crate number | |
92 | Int_t fBoardMap[234]; // Map board number <-> slot number | |
516d3280 | 93 | |
94 | ClassDef(AliMUONTriggerElectronics,1) | |
95 | }; | |
96 | #endif |