]>
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; | |
19 | class AliMpBusPatch; | |
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 | |
39 | static AliMpBusPatch* fgBusPatchManager; // bus mapping | |
40 | ||
41 | Int_t fNTracks; // number of tracks | |
42 | Float_t* fTrackPoints; // array with track points coordinates | |
43 | Int_t fNPoints; // total number of track points | |
44 | ||
45 | Int_t GetTrackerMapping(Int_t buspatchId, UShort_t manuId, | |
46 | UChar_t channelId, AliMUONDigit* digit ); | |
47 | ||
48 | Int_t GetTriggerMapping(AliMUONLocalTriggerBoard* localBoard, | |
49 | AliMUONLocalStruct* localStruct, | |
50 | TList& digitList); | |
51 | ||
52 | void GetTriggerChamber(AliMUONLocalStruct* localStruct, | |
53 | Int_t& xyPattern, Int_t& iChamber, Int_t& iCath, | |
54 | Int_t iCase); | |
55 | public: | |
56 | ||
57 | MUONData(); | |
58 | virtual ~MUONData(); | |
59 | ||
60 | MUONData(const MUONData&); | |
61 | MUONData& operator=(const MUONData&); | |
62 | ||
63 | void LoadDigits(TTree* tree); | |
64 | void LoadTracks(TTree* tree); | |
65 | void LoadRaw(TString fileName); | |
66 | void LoadRawTracker(); | |
67 | void LoadRawTrigger(); | |
68 | ||
69 | void CreateChamber(Int_t chamber); | |
70 | void CreateAllChambers(); | |
71 | void DropAllChambers(); | |
72 | void DeleteAllChambers(); | |
73 | ||
74 | MUONChamberData* GetChamberData(Int_t chamber); | |
75 | ||
76 | Int_t GetNTracks() { return fNTracks; }; | |
77 | Int_t GetNPoints() { return fNPoints; }; | |
78 | Float_t* GetTrackPoints() { return fTrackPoints; }; | |
79 | ||
80 | ClassDef(MUONData,1); // Manages MUON data for one event | |
81 | ||
82 | }; | |
83 | ||
84 | } | |
85 | ||
86 | #endif |