]>
Commit | Line | Data |
---|---|---|
3626c858 | 1 | #ifndef ALIEVE_MUONData_H |
2 | #define ALIEVE_MUONData_H | |
3 | ||
4 | #include <Reve/Reve.h> | |
5 | ||
6 | #include <TObject.h> | |
7 | ||
8 | #include <vector> | |
9 | ||
10 | class TTree; | |
11 | class TString; | |
12 | class TList; | |
13 | ||
14 | class AliRawReader; | |
15 | class AliMUONRawStreamTracker; | |
16 | class AliMUONRawStreamTrigger; | |
17 | class AliMUONDigit; | |
18 | class AliMpSegFactory; | |
361fa326 | 19 | class AliMpDDLStore; |
3626c858 | 20 | class AliMUONLocalTriggerBoard; |
21 | class AliMUONLocalStruct; | |
22 | class AliMUONLocalStruct; | |
23 | ||
24 | namespace Alieve { | |
25 | ||
26 | class MUONChamberData; | |
27 | ||
28 | class MUONData : public TObject, public Reve::ReferenceCount | |
29 | { | |
30 | ||
31 | protected: | |
32 | ||
33 | std::vector<MUONChamberData*> fChambers; // vector of 14 chambers | |
34 | ||
35 | static AliRawReader* fgRawReader; // raw reader | |
36 | static AliMUONRawStreamTracker* fgRawStreamTracker; // tracker raw streamer | |
37 | static AliMUONRawStreamTrigger* fgRawStreamTrigger; // trigger raw streamer | |
38 | static AliMpSegFactory* fgSegFactory; // segmentation mapping | |
361fa326 | 39 | static AliMpDDLStore* fgBusPatchManager; // bus mapping |
3626c858 | 40 | |
3626c858 | 41 | Int_t GetTrackerMapping(Int_t buspatchId, UShort_t manuId, |
42 | UChar_t channelId, AliMUONDigit* digit ); | |
43 | ||
44 | Int_t GetTriggerMapping(AliMUONLocalTriggerBoard* localBoard, | |
45 | AliMUONLocalStruct* localStruct, | |
46 | TList& digitList); | |
47 | ||
48 | void GetTriggerChamber(AliMUONLocalStruct* localStruct, | |
49 | Int_t& xyPattern, Int_t& iChamber, Int_t& iCath, | |
50 | Int_t iCase); | |
eadce74d | 51 | |
52 | Int_t fNTrackList; // number of MC tracks which have hits | |
53 | Int_t fTrackList[100]; // list of MC tracks which have hits | |
54 | ||
3626c858 | 55 | public: |
56 | ||
57 | MUONData(); | |
58 | virtual ~MUONData(); | |
59 | ||
60 | MUONData(const MUONData&); | |
61 | MUONData& operator=(const MUONData&); | |
62 | ||
eadce74d | 63 | void Reset(); |
64 | ||
3626c858 | 65 | void LoadDigits(TTree* tree); |
2674c15a | 66 | void LoadRecPoints(TTree* tree); |
eadce74d | 67 | void LoadHits(TTree* tree); |
3626c858 | 68 | void LoadRaw(TString fileName); |
69 | void LoadRawTracker(); | |
70 | void LoadRawTrigger(); | |
71 | ||
72 | void CreateChamber(Int_t chamber); | |
73 | void CreateAllChambers(); | |
74 | void DropAllChambers(); | |
75 | void DeleteAllChambers(); | |
76 | ||
eadce74d | 77 | void RegisterTrack(Int_t track); |
78 | Int_t GetNTrackList() { return fNTrackList; } | |
79 | Int_t GetTrack(Int_t index); | |
80 | ||
3626c858 | 81 | MUONChamberData* GetChamberData(Int_t chamber); |
82 | ||
3626c858 | 83 | ClassDef(MUONData,1); // Manages MUON data for one event |
84 | ||
85 | }; | |
86 | ||
87 | } | |
88 | ||
89 | #endif |