]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTriggerElectronics.h
- Added handling of tracks and file mask (used when merging different files).
[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    private:
70       TString                    fSourceFileName;
71       TClonesArray              *fCrates;
72       AliMUONGlobalTriggerBoard *fGlobalTriggerBoard;
73       Int_t                      fNCrates;
74       static const Int_t         fgkNCrates;
75       UShort_t                   fLocal[16][16];     // 16 crates of 16 LB
76       UShort_t                   fRegional[16];
77       UShort_t                   fGlobal;
78       AliMUONData               *fMUONData;          //! Data container for MUON subsystem 
79       TArrayI                    fDigitNumbers[234]; //! The digit number that fired a circuit.
80       char                     **fCrateMap;
81       Int_t                      fBoardMap[234];
82
83    ClassDef(AliMUONTriggerElectronics,1)
84 };
85 #endif