/* 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 <TObject.h>
+#include <TExMap.h>
#include "AliMUONSubEventTracker.h"
class TClonesArray;
+class TArrayI;
class AliLoader;
class AliMUONData;
class AliMUONDigit;
class AliMUONDDLTrigger;
class AliMUONGlobalTrigger;
class AliMUONSubEventTrigger;
+class AliRawReader;
+class AliMUONGlobalTrigger;
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
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