]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTriggerElectronics.h
Adding definition of Dmax in constants and semantic modifications for the generation...
[u/mrichter/AliRoot.git] / MUON / AliMUONTriggerElectronics.h
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 /// \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)
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;
29 class AliMUONCalibrationData;
30 class AliMUONData;
31 class AliMUONGlobalTriggerBoard;
32 class AliMUONTriggerCrateStore;
33
34 class AliMUONTriggerElectronics : public TTask
35 {
36    public:
37       AliMUONTriggerElectronics(AliMUONData* data = 0, 
38                                 AliMUONCalibrationData* calibData=0);
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
47       virtual void Factory(AliMUONCalibrationData* calibData);
48       void LoadMasks(AliMUONCalibrationData* calibData);
49
50       virtual void Feed(UShort_t pattern[2][4]);
51                   virtual void FeedM();
52
53       virtual void BoardName(Int_t ix, Int_t iy, char *name);
54
55       virtual void Reset();
56
57       virtual void Scan(Option_t *option);
58
59       virtual void LocalResponse();
60       virtual void RegionalResponse();
61       virtual void GlobalResponse();
62
63       virtual void BuildName(Int_t icirc, char name[20]);
64
65       virtual void DumpOS();
66
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);
71
72    protected:
73       AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right);
74       AliMUONTriggerElectronics&  operator = (const AliMUONTriggerElectronics& right);
75      
76    private:
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.
82
83    ClassDef(AliMUONTriggerElectronics,2)
84 };
85 #endif