]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTriggerElectronics.h
Coding conventions (Rachid)
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerElectronics.h
CommitLineData
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
28class AliMUONTriggerCrate;
4c0f0f5d 29class AliMUONCalibrationData;
516d3280 30class AliMUONData;
31class AliMUONGlobalTriggerBoard;
32class TClonesArray;
33
34class 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