#ifndef ALIEVE_MUONData_H #define ALIEVE_MUONData_H #include #include #include class TTree; class TString; class TList; class AliRawReader; class AliMUONRawStreamTracker; class AliMUONRawStreamTrigger; class AliMUONDigit; class AliMpSegFactory; class AliMpDDLStore; class AliMUONLocalTriggerBoard; class AliMUONLocalStruct; class AliMUONLocalStruct; namespace Alieve { class MUONChamberData; class MUONData : public TObject, public Reve::ReferenceCount { protected: std::vector 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 AliMpDDLStore* fgBusPatchManager; // bus mapping 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(); MUONData(const MUONData&); MUONData& operator=(const MUONData&); void LoadDigits(TTree* tree); void LoadRecPoints(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); ClassDef(MUONData,1); // Manages MUON data for one event }; } #endif