]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTriggerElectronics.h
Removing effc++ warnings & cosmetics (Christian, Laurent)
[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 = 
45                                  "$ALICE_ROOT/MUON/mapping/data/stationTrigger/crate.dat") 
46       {fSourceFileName = SourceFile;}
47
48       virtual void Factory(AliMUONCalibrationData* calibData);
49       void LoadMasks(AliMUONCalibrationData* calibData);
50
51       virtual void Feed(UShort_t pattern[2][4]);
52                   virtual void FeedM();
53
54       virtual void BoardName(Int_t ix, Int_t iy, char *name);
55
56       virtual void Reset();
57
58       virtual void Scan(Option_t *option);
59
60       virtual void LocalResponse();
61       virtual void RegionalResponse();
62       virtual void GlobalResponse();
63
64       virtual void BuildName(Int_t icirc, char name[20]);
65
66       virtual void DumpOS();
67
68       virtual void Digits2Trigger();
69       virtual void Trigger();
70       virtual void ClearDigitNumbers();
71       virtual void DigitFiredCircuit(Int_t circuit, Int_t cathode, Int_t chamber, Int_t digit);
72
73    private:
74       AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right);
75       AliMUONTriggerElectronics&  operator = (const AliMUONTriggerElectronics& right);
76      
77    private:
78       TString                    fSourceFileName;     ///< Source file
79       AliMUONTriggerCrateStore  *fCrates;             ///< Crate array
80       AliMUONGlobalTriggerBoard *fGlobalTriggerBoard; ///< Global trigger board
81       AliMUONData               *fMUONData;           //!< Data container for MUON subsystem 
82       TArrayI                    fDigitNumbers[234];  //!< The digit number that fired a circuit.
83
84    ClassDef(AliMUONTriggerElectronics,2)
85 };
86 #endif