]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Alieve/MUONData.h
Fix handling of AliESDfriends.root.
[u/mrichter/AliRoot.git] / EVE / Alieve / MUONData.h
CommitLineData
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
10class TTree;
11class TString;
12class TList;
13
14class AliRawReader;
15class AliMUONRawStreamTracker;
16class AliMUONRawStreamTrigger;
17class AliMUONDigit;
18class AliMpSegFactory;
19class AliMpBusPatch;
20class AliMUONLocalTriggerBoard;
21class AliMUONLocalStruct;
22class AliMUONLocalStruct;
23
24namespace Alieve {
25
26class MUONChamberData;
27
28class 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