ROOT logo
// $Id$
// Main authors: Matevz Tadel & Alja Mrak-Tadel & Bogdan Vulpescu: 2006, 2007

/**************************************************************************
 * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. *
 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
 * full copyright notice.                                                 *
 **************************************************************************/
#ifndef AliEveMUONData_H
#define AliEveMUONData_H

#include <TEveUtil.h>

#include <TObject.h>

#include <vector>

class TTree;
class TString;

class AliRawReader;

class AliEveMUONChamberData;

class AliEveMUONData : public TObject, public TEveRefCnt
{
public:

  AliEveMUONData();
  virtual ~AliEveMUONData();

  AliEveMUONData(const AliEveMUONData&);
  AliEveMUONData& operator=(const AliEveMUONData&);

  void Reset();

  void LoadDigits(TTree* tree);
  void LoadRecPoints(TTree* tree);
  void LoadRecPointsFromESD(const Char_t *fileName);
  void LoadHits(TTree* tree);
  void LoadRaw(TString fileName);

  void CreateChamber(Int_t chamber);
  void CreateAllChambers();
  void DropAllChambers();
  void DeleteAllChambers();

  void  RegisterTrack(Int_t track);
  Int_t GetNTrackList() const { return fNTrackList; }
  Int_t GetTrack(Int_t index) const;

  AliEveMUONChamberData* GetChamberData(Int_t chamber);

protected:

  std::vector<AliEveMUONChamberData*>   fChambers;   // vector of 14 chambers

  static AliRawReader                  *fgRawReader; // raw reader

  Int_t fNTrackList;      // number of MC tracks which have hits
  Int_t fTrackList[256];  // list of MC tracks which have hits

  ClassDef(AliEveMUONData, 0);           // Manages MUON data for one event

};

#endif
 AliEveMUONData.h:1
 AliEveMUONData.h:2
 AliEveMUONData.h:3
 AliEveMUONData.h:4
 AliEveMUONData.h:5
 AliEveMUONData.h:6
 AliEveMUONData.h:7
 AliEveMUONData.h:8
 AliEveMUONData.h:9
 AliEveMUONData.h:10
 AliEveMUONData.h:11
 AliEveMUONData.h:12
 AliEveMUONData.h:13
 AliEveMUONData.h:14
 AliEveMUONData.h:15
 AliEveMUONData.h:16
 AliEveMUONData.h:17
 AliEveMUONData.h:18
 AliEveMUONData.h:19
 AliEveMUONData.h:20
 AliEveMUONData.h:21
 AliEveMUONData.h:22
 AliEveMUONData.h:23
 AliEveMUONData.h:24
 AliEveMUONData.h:25
 AliEveMUONData.h:26
 AliEveMUONData.h:27
 AliEveMUONData.h:28
 AliEveMUONData.h:29
 AliEveMUONData.h:30
 AliEveMUONData.h:31
 AliEveMUONData.h:32
 AliEveMUONData.h:33
 AliEveMUONData.h:34
 AliEveMUONData.h:35
 AliEveMUONData.h:36
 AliEveMUONData.h:37
 AliEveMUONData.h:38
 AliEveMUONData.h:39
 AliEveMUONData.h:40
 AliEveMUONData.h:41
 AliEveMUONData.h:42
 AliEveMUONData.h:43
 AliEveMUONData.h:44
 AliEveMUONData.h:45
 AliEveMUONData.h:46
 AliEveMUONData.h:47
 AliEveMUONData.h:48
 AliEveMUONData.h:49
 AliEveMUONData.h:50
 AliEveMUONData.h:51
 AliEveMUONData.h:52
 AliEveMUONData.h:53
 AliEveMUONData.h:54
 AliEveMUONData.h:55
 AliEveMUONData.h:56
 AliEveMUONData.h:57
 AliEveMUONData.h:58
 AliEveMUONData.h:59
 AliEveMUONData.h:60
 AliEveMUONData.h:61
 AliEveMUONData.h:62
 AliEveMUONData.h:63
 AliEveMUONData.h:64
 AliEveMUONData.h:65
 AliEveMUONData.h:66
 AliEveMUONData.h:67