]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTriggerElectronics.h
Adding protected copy constructor and assignment operator
[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 //*-- Author: Rachid Guernane (LPCCFd)
9
10 #ifndef ROOT_TTask
11 #  include "TTask.h"
12 #endif
13
14 #ifndef ROOT_TArrayI
15 #  include "TArrayI.h"
16 #endif
17
18 #ifndef ROOT_TString
19 #  include "TString.h"
20 #endif
21
22 class AliMUONTriggerCrate;
23 class AliMUONData;
24 class AliMUONGlobalTriggerBoard;
25 class TClonesArray;
26
27 class AliMUONTriggerElectronics : public TTask
28 {
29    public:
30       AliMUONTriggerElectronics(AliMUONData* Data = 0);
31       virtual ~AliMUONTriggerElectronics();
32
33       virtual void Exec(Option_t*);
34       
35 //    CRATE CONFIG FROM ASCII FILE
36       virtual void SetDataSource(TString SourceFile = "$ALICE_ROOT/MUON/data/CRATE.TXT") 
37       {fSourceFileName = SourceFile;}
38
39       virtual void Factory();
40       virtual void AddCrate(char *name);
41
42       virtual AliMUONTriggerCrate* Crate(char *name);
43
44       virtual void Feed();
45       virtual void Feed(UShort_t pattern[2][4]);
46                 virtual void FeedM();
47
48       virtual void BoardName(Int_t ix, Int_t iy, char *name);
49
50       virtual void Reset();
51
52       virtual void Scan(Option_t *option);
53
54       virtual void LocalResponse();
55       virtual void RegionalResponse();
56       virtual void GlobalResponse();
57
58       virtual void BuildName(Int_t icirc, char name[20]);
59
60       virtual void DumpOS();
61
62       virtual void Digits2Trigger();
63       virtual void Trigger();
64       virtual void ClearDigitNumbers();
65       virtual void DigitFiredCircuit(Int_t circuit, Int_t cathode, Int_t chamber, Int_t digit);
66
67 //      virtual AliMUONData* GetMUONData() {return fMUONData;}
68
69    protected:
70       AliMUONTriggerElectronics(const AliMUONTriggerElectronics& right);
71       AliMUONTriggerElectronics&  operator = (const AliMUONTriggerElectronics& right);
72      
73    private:
74       TString                    fSourceFileName;
75       TClonesArray              *fCrates;
76       AliMUONGlobalTriggerBoard *fGlobalTriggerBoard;
77       Int_t                      fNCrates;
78       static const Int_t         fgkNCrates;
79       UShort_t                   fLocal[16][16];     // 16 crates of 16 LB
80       UShort_t                   fRegional[16];
81       UShort_t                   fGlobal;
82       AliMUONData               *fMUONData;          //! Data container for MUON subsystem 
83       TArrayI                    fDigitNumbers[234]; //! The digit number that fired a circuit.
84       char                     **fCrateMap;
85       Int_t                      fBoardMap[234];
86
87    ClassDef(AliMUONTriggerElectronics,1)
88 };
89 #endif