]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTriggerElectronics.h
Additional protection in case of negative indexes. More investigation is needed
[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
8//*-- Author: Rachid Guernane (LPCCFd)
9
10#ifndef ROOT_TTask
11# include "TTask.h"
12#endif
13
14#ifndef ROOT_TArrayI
15# include "TArrayI.h"
16#endif
17
18#ifndef ROOT_TString
19# include "TString.h"
20#endif
21
22class AliMUONTriggerCrate;
4c0f0f5d 23class AliMUONCalibrationData;
516d3280 24class AliMUONData;
25class AliMUONGlobalTriggerBoard;
26class TClonesArray;
27
28class AliMUONTriggerElectronics : public TTask
29{
30 public:
4c0f0f5d 31 AliMUONTriggerElectronics(AliMUONData* Data = 0, AliMUONCalibrationData* =0);
516d3280 32 virtual ~AliMUONTriggerElectronics();
33
34 virtual void Exec(Option_t*);
35
36// CRATE CONFIG FROM ASCII FILE
37 virtual void SetDataSource(TString SourceFile = "$ALICE_ROOT/MUON/data/CRATE.TXT")
38 {fSourceFileName = SourceFile;}
39
4c0f0f5d 40 virtual void Factory(AliMUONCalibrationData*);
41 void LoadMasks(AliMUONCalibrationData*);
516d3280 42 virtual void AddCrate(char *name);
43
44 virtual AliMUONTriggerCrate* Crate(char *name);
45
46 virtual void Feed();
47 virtual void Feed(UShort_t pattern[2][4]);
8af755f4 48 virtual void FeedM();
516d3280 49
50 virtual void BoardName(Int_t ix, Int_t iy, char *name);
51
52 virtual void Reset();
53
54 virtual void Scan(Option_t *option);
55
56 virtual void LocalResponse();
57 virtual void RegionalResponse();
58 virtual void GlobalResponse();
59
60 virtual void BuildName(Int_t icirc, char name[20]);
61
62 virtual void DumpOS();
63
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);
68
69// virtual AliMUONData* GetMUONData() {return fMUONData;}
70
884a73f1 71 protected:
72 AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right);
73 AliMUONTriggerElectronics& operator = (const AliMUONTriggerElectronics& right);
74
516d3280 75 private:
76 TString fSourceFileName;
77 TClonesArray *fCrates;
78 AliMUONGlobalTriggerBoard *fGlobalTriggerBoard;
79 Int_t fNCrates;
80 static const Int_t fgkNCrates;
81 UShort_t fLocal[16][16]; // 16 crates of 16 LB
82 UShort_t fRegional[16];
83 UShort_t fGlobal;
84 AliMUONData *fMUONData; //! Data container for MUON subsystem
85 TArrayI fDigitNumbers[234]; //! The digit number that fired a circuit.
8af755f4 86 char **fCrateMap;
87 Int_t fBoardMap[234];
516d3280 88
89 ClassDef(AliMUONTriggerElectronics,1)
90};
91#endif