]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTriggerElectronics.h
Changes to use VTriggerStore (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_TObject
17 #  include "TObject.h"
18 #endif
19
20 #ifndef ROOT_TString
21 #  include "TString.h"
22 #endif
23
24 class AliMUONTriggerCrate;
25 class AliMUONCalibrationData;
26 class AliMUONGlobalTriggerBoard;
27 class AliMUONTriggerCrateStore;
28 class AliMUONVTriggerStore;
29 class AliMUONVDigitStore;
30
31 class AliMUONTriggerElectronics : public TObject
32 {
33    public:
34       AliMUONTriggerElectronics(AliMUONCalibrationData* calibData=0);
35
36     virtual ~AliMUONTriggerElectronics();
37
38       /// Set Crate config from ascii file
39       virtual void SetDataSource(TString SourceFile = 
40                                  "$ALICE_ROOT/MUON/mapping/data/stationTrigger/crate.dat") 
41       {fSourceFileName = SourceFile;}
42
43       virtual void Factory(AliMUONCalibrationData* calibData);
44       void LoadMasks(AliMUONCalibrationData* calibData);
45
46       virtual void Feed(UShort_t pattern[2][4]);
47                   virtual void Feed(const AliMUONVDigitStore& digitStore);
48       virtual void FeedBoardsGUI(TObjArray *guibs);
49       virtual void Reset();
50
51       virtual void Scan(Option_t *option);
52
53       virtual void LocalResponse();
54       virtual void RegionalResponse();
55       virtual void GlobalResponse();
56
57       virtual void DumpOS();
58
59       virtual void Digits2Trigger(const AliMUONVDigitStore& digitStore,
60                                   AliMUONVTriggerStore& triggerStore);
61       virtual Int_t TriggerGUI(Int_t *trigInfo, Bool_t patt = kFALSE);
62
63    private:
64       /// Not implemented
65       AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right);
66       /// Not implemented
67       AliMUONTriggerElectronics&  operator = (const AliMUONTriggerElectronics& right);
68      
69    private:
70       TString                    fSourceFileName;     ///< Source file
71       AliMUONTriggerCrateStore  *fCrates;             ///< Crate array
72       AliMUONGlobalTriggerBoard *fGlobalTriggerBoard; ///< Global trigger board
73       
74    ClassDef(AliMUONTriggerElectronics,3)
75 };
76 #endif