Line data Source code
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 0 : 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 :
77 : private:
78 : AliMUONTriggerCrateStore *fCrates; ///< Crate array
79 : AliMUONGlobalTriggerBoard *fGlobalTriggerBoard; ///< Global trigger board
80 :
81 305184 : ClassDef(AliMUONTriggerElectronics,5) //Manager class for muon trigger electronics
82 : };
83 : #endif
|