]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/Alieve/MUONData.h
Bogdan: fix calculation of squared momentum.
[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;
361fa326 19class AliMpDDLStore;
3626c858 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
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