+// $Id$
+// Main authors: Matevz Tadel & Alja Mrak-Tadel: 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 ALIEVE_MUONData_H
#define ALIEVE_MUONData_H
-#include <Reve/Reve.h>
+#include <TEveUtil.h>
#include <TObject.h>
class TTree;
class TString;
-class TList;
class AliRawReader;
-class AliMUONRawStreamTracker;
-class AliMUONRawStreamTrigger;
-class AliMUONDigit;
-class AliMpSegFactory;
-class AliMpBusPatch;
-class AliMUONLocalTriggerBoard;
-class AliMUONLocalStruct;
-class AliMUONLocalStruct;
-namespace Alieve {
-class MUONChamberData;
+class AliEveMUONChamberData;
-class MUONData : public TObject, public Reve::ReferenceCount
+class AliEveMUONData : public TObject, public TEveRefCnt
{
protected:
- std::vector<MUONChamberData*> fChambers; // vector of 14 chambers
+ std::vector<AliEveMUONChamberData*> fChambers; // vector of 14 chambers
static AliRawReader* fgRawReader; // raw reader
- static AliMUONRawStreamTracker* fgRawStreamTracker; // tracker raw streamer
- static AliMUONRawStreamTrigger* fgRawStreamTrigger; // trigger raw streamer
- static AliMpSegFactory* fgSegFactory; // segmentation mapping
- static AliMpBusPatch* fgBusPatchManager; // bus mapping
- Int_t fNTracks; // number of tracks
- Float_t* fTrackPoints; // array with track points coordinates
- Int_t fNPoints; // total number of track points
+ Int_t fNTrackList; // number of MC tracks which have hits
+ Int_t fTrackList[256]; // list of MC tracks which have hits
- Int_t GetTrackerMapping(Int_t buspatchId, UShort_t manuId,
- UChar_t channelId, AliMUONDigit* digit );
-
- Int_t GetTriggerMapping(AliMUONLocalTriggerBoard* localBoard,
- AliMUONLocalStruct* localStruct,
- TList& digitList);
-
- void GetTriggerChamber(AliMUONLocalStruct* localStruct,
- Int_t& xyPattern, Int_t& iChamber, Int_t& iCath,
- Int_t iCase);
public:
- MUONData();
- virtual ~MUONData();
+ AliEveMUONData();
+ virtual ~AliEveMUONData();
- MUONData(const MUONData&);
- MUONData& operator=(const MUONData&);
+ AliEveMUONData(const AliEveMUONData&);
+ AliEveMUONData& operator=(const AliEveMUONData&);
+
+ void Reset();
void LoadDigits(TTree* tree);
- void LoadTracks(TTree* tree);
+ void LoadRecPoints(TTree* tree);
+ void LoadHits(TTree* tree);
void LoadRaw(TString fileName);
- void LoadRawTracker();
- void LoadRawTrigger();
void CreateChamber(Int_t chamber);
void CreateAllChambers();
void DropAllChambers();
void DeleteAllChambers();
- MUONChamberData* GetChamberData(Int_t chamber);
+ void RegisterTrack(Int_t track);
+ Int_t GetNTrackList() { return fNTrackList; }
+ Int_t GetTrack(Int_t index);
- Int_t GetNTracks() { return fNTracks; };
- Int_t GetNPoints() { return fNPoints; };
- Float_t* GetTrackPoints() { return fTrackPoints; };
+ AliEveMUONChamberData* GetChamberData(Int_t chamber);
- ClassDef(MUONData,1); // Manages MUON data for one event
+ ClassDef(AliEveMUONData,1); // Manages MUON data for one event
};
-}
-
#endif