]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveMUONData.h
Merge changes from branches/dev/EVE. This branch was following development in ROOT...
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveMUONData.h
1 // $Id$
2 // Main authors: Matevz Tadel & Alja Mrak-Tadel & Bogdan Vulpescu: 2006, 2007
3
4 /**************************************************************************
5  * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
6  * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
7  * full copyright notice.                                                 *
8  **************************************************************************/
9 #ifndef AliEveMUONData_H
10 #define AliEveMUONData_H
11
12 #include <TEveUtil.h>
13
14 #include <TObject.h>
15
16 #include <vector>
17
18 class TTree;
19 class TString;
20
21 class AliRawReader;
22
23
24 class AliEveMUONChamberData;
25
26 class AliEveMUONData : public TObject, public TEveRefCnt
27 {
28
29  protected:
30
31   std::vector<AliEveMUONChamberData*>   fChambers;           // vector of 14 chambers
32
33   static AliRawReader*            fgRawReader;         // raw reader
34
35   Int_t fNTrackList;      // number of MC tracks which have hits
36   Int_t fTrackList[256];  // list of MC tracks which have hits
37
38  public:
39
40   AliEveMUONData();
41   virtual ~AliEveMUONData();
42
43   AliEveMUONData(const AliEveMUONData&);
44   AliEveMUONData& operator=(const AliEveMUONData&);
45
46   void Reset();
47
48   void LoadDigits(TTree* tree);
49   void LoadRecPoints(TTree* tree);
50   void LoadRecPointsFromESD(Char_t *fileName);
51   void LoadHits(TTree* tree);
52   void LoadRaw(TString fileName);
53
54   void CreateChamber(Int_t chamber);
55   void CreateAllChambers();
56   void DropAllChambers();
57   void DeleteAllChambers();
58
59   void  RegisterTrack(Int_t track);
60   Int_t GetNTrackList() const { return fNTrackList; }
61   Int_t GetTrack(Int_t index) const;
62
63   AliEveMUONChamberData* GetChamberData(Int_t chamber);
64
65   ClassDef(AliEveMUONData,1);           // Manages MUON data for one event
66
67 };
68
69 #endif