X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONRawData.h;h=7d06af4d35ae863b65dc2146f57e74b5fcea3e9b;hb=067866a396f993ff635c92f3ba766d4a56246152;hp=7c296f3edadcce48d3d15f9d93e94d7ec70e26c8;hpb=f1501d74b8a25d21d1ea3a273cdc13afd4f05f94;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONRawData.h b/MUON/AliMUONRawData.h index 7c296f3edad..7d06af4d35a 100644 --- a/MUON/AliMUONRawData.h +++ b/MUON/AliMUONRawData.h @@ -3,12 +3,20 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ -/* Raw data class for trigger and tracker chambers */ +/*$Id$*/ + +/// \ingroup rec +/// \class AliMUONRawData +/// \brief Raw data class for trigger and tracker chambers +/// +/// Raw data class for trigger and tracker chambers #include +#include #include "AliMUONSubEventTracker.h" class TClonesArray; +class TArrayI; class AliLoader; class AliMUONData; class AliMUONDigit; @@ -16,6 +24,8 @@ class AliMUONDDLTracker; class AliMUONDDLTrigger; class AliMUONGlobalTrigger; class AliMUONSubEventTrigger; +class AliRawReader; +class AliMUONGlobalTrigger; class AliMUONRawData : public TObject { @@ -24,27 +34,33 @@ class AliMUONRawData : public TObject virtual ~AliMUONRawData(void); // Destructor // write raw data - Int_t WriteRawData(); + Int_t Digits2Raw(); + Int_t Raw2Digits(AliRawReader* rawReader); - AliMUONData* GetMUONData() {return fMUONData;} + Int_t ReadTrackerDDL(AliRawReader* rawReader); + Int_t ReadTriggerDDL(AliRawReader* rawReader); - Int_t GetPrintLevel(void) const {return fPrintLevel;} - void SetPrintLevel(Int_t printLevel) {fPrintLevel = printLevel;} + AliMUONData* GetMUONData() {return fMUONData;} - void AddData1(const AliMUONSubEventTracker* event) { - TClonesArray &temp = *fSubEventArray[0]; + void AddData(const AliMUONSubEventTracker* event) { + TClonesArray &temp = *fSubEventArray; new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event); } - void AddData2(const AliMUONSubEventTracker* event) { - TClonesArray &temp = *fSubEventArray[1]; - new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event); - } - void GetDummyMapping(Int_t iCh, Int_t iCath, const AliMUONDigit* digit, Int_t &busPatchId, + // could be private function (public for debugging) + Int_t GetInvMapping(const AliMUONDigit* digit, Int_t &busPatchId, UShort_t &manuId, UChar_t &channelId); + Int_t GetMapping(Int_t buspatchId, UShort_t manuId, + UChar_t channelId, AliMUONDigit* digit ); + + Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg); + AliMUONGlobalTrigger* GetGlobalTriggerPattern(Int_t gloTrg); + + Int_t GetDEfromBus(Int_t busPatchId); + TArrayI* GetBusfromDE(Int_t idDE); protected: AliMUONRawData(); // Default constructor @@ -52,32 +68,28 @@ class AliMUONRawData : public TObject AliMUONRawData& operator=(const AliMUONRawData& rhs); // assignment operator private: - static const Int_t fgkDefaultPrintLevel; // Default print level AliMUONData* fMUONData; //! Data container for MUON subsystem - - Int_t fPrintLevel; // print level - Int_t fDebug; // debug - AliLoader* fLoader; //! alice loader - - FILE* fFile1; //! DDL binary file pointer one per 1/2 chamber - FILE* fFile2; //! DDL binary file pointer one per 1/2 chamber + FILE* fFile[2]; //! DDL binary file pointer one per 1/2 chamber - TClonesArray* fSubEventArray[2]; //! array to sub event tracker - - TClonesArray* fSubEventTrigArray[2]; //! array to sub event trigger - + TClonesArray* fSubEventArray; //! array to sub event tracker + AliMUONDDLTracker* fDDLTracker; //! DDL tracker class pointers AliMUONDDLTrigger* fDDLTrigger; //! DDL trigger class pointers + TExMap fDetElemIdToBusPatch; + TExMap fBusPatchToDetElem; + // writing raw data Int_t WriteTrackerDDL(Int_t iCh); Int_t WriteTriggerDDL(); - ClassDef(AliMUONRawData,0) // MUON cluster reconstructor in ALICE + void ReadBusPatchFile(); + + ClassDef(AliMUONRawData,1) // MUON cluster reconstructor in ALICE }; #endif