Adding PiKP-only histograms and eliminating a number of switches where histograms...
[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       virtual void Factory(AliMUONCalibrationData* calibData);
39       void LoadMasks(AliMUONCalibrationData* calibData);
40
41       virtual void Feed(UShort_t pattern[2][4]);
42       virtual void Feed(const AliMUONVDigitStore& digitStore);
43       virtual void Feed(const AliMUONVTriggerStore& triggerStore);
44       virtual void Reset();
45
46       virtual void Scan(const Option_t *option);
47
48       virtual void LocalResponse();
49       virtual void RegionalResponse();
50       virtual void GlobalResponse();
51
52       virtual void DumpOS();
53
54       virtual void Digits2Trigger(const AliMUONVDigitStore& digitStore,
55                                   AliMUONVTriggerStore& triggerStore);
56
57       virtual Bool_t ModifiedLocalResponse(Int_t loCircuit,
58                                            Bool_t& bendingPlaneResp,
59                                            Bool_t& nonBendingPlaneResp,
60                                            Bool_t isCoinc44 = kFALSE,
61                                            Int_t removeChamber = -1);
62
63       virtual void ResponseRemovingChambers(AliMUONVTriggerStore& triggerStore);
64
65       /// Return Crate array
66       AliMUONTriggerCrateStore* GetCrateStore() {return fCrates;}
67
68    private:
69       /// Not implemented
70       AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right);
71       /// Not implemented
72       AliMUONTriggerElectronics&  operator = (const AliMUONTriggerElectronics& right);
73
74       void FeedCopyNeighbours();
75      
76       /// set copy card array
77       void SetCopyInput();
78
79    private:
80       TList*                     fCopyXInput[2];         ///< list of copy X input from local to local board
81       TList*                     fCopyYInput[2];         ///< list of copy Y input from local to local board
82       AliMUONTriggerCrateStore  *fCrates;             ///< Crate array
83       AliMUONGlobalTriggerBoard *fGlobalTriggerBoard; ///< Global trigger board
84       
85    ClassDef(AliMUONTriggerElectronics,4) //Manager class for muon trigger electronics
86 };
87 #endif