1 #ifndef ALIMUONRAWDATA_H
2 #define ALIMUONRAWDATA_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 /// \class AliMUONRawData
10 /// \brief Raw data class for trigger and tracker chambers
12 /// Raw data class for trigger and tracker chambers
16 #include "AliMUONSubEventTracker.h"
23 class AliMUONDDLTracker;
24 class AliMUONDDLTrigger;
25 class AliMUONGlobalTrigger;
26 class AliMUONSubEventTrigger;
28 class AliMUONGlobalTrigger;
30 class AliMUONRawData : public TObject
33 AliMUONRawData(AliLoader* loader); // Constructor
34 virtual ~AliMUONRawData(void); // Destructor
38 Int_t Raw2Digits(AliRawReader* rawReader);
40 Int_t ReadTrackerDDL(AliRawReader* rawReader);
41 Int_t ReadTriggerDDL(AliRawReader* rawReader);
43 void GetDspInfo(Int_t iCh, Int_t& iDspMax, Int_t* iBusPerDSP);
44 Int_t GetDDLfromBus(Int_t busPatchId);
46 AliMUONData* GetMUONData() {return fMUONData;}
48 void AddData(const AliMUONSubEventTracker* event) {
49 TClonesArray &temp = *fSubEventArray;
50 new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event);
54 // could be private function (public for debugging)
55 Int_t GetInvMapping(const AliMUONDigit* digit, Int_t &busPatchId,
56 UShort_t &manuId, UChar_t &channelId);
58 Int_t GetMapping(Int_t buspatchId, UShort_t manuId,
59 UChar_t channelId, AliMUONDigit* digit );
62 Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg) const;
63 AliMUONGlobalTrigger* GetGlobalTriggerPattern(Int_t gloTrg) const;
65 Int_t GetDEfromBus(Int_t busPatchId);
66 TArrayI* GetBusfromDE(Int_t idDE);
69 AliMUONRawData(); // Default constructor
70 AliMUONRawData (const AliMUONRawData& rhs); // copy constructor
71 AliMUONRawData& operator=(const AliMUONRawData& rhs); // assignment operator
75 AliMUONData* fMUONData; //! Data container for MUON subsystem
77 AliLoader* fLoader; //! alice loader
79 FILE* fFile[2]; //! DDL binary file pointer one per 1/2 chamber
81 TClonesArray* fSubEventArray; //! array to sub event tracker
83 AliMUONDDLTracker* fDDLTracker; //! DDL tracker class pointers
84 AliMUONDDLTrigger* fDDLTrigger; //! DDL trigger class pointers
86 TExMap fDetElemIdToBusPatch; //! Map from idDE to BusPatch
87 TExMap fBusPatchToDetElem; //! Map from BusPatch to idDE
88 TExMap fBusPatchToDDL; //! Map from BusPatch to iDDL
90 Int_t fMaxBusPerCh[10]; //! max buspatch number per chamber
93 Int_t WriteTrackerDDL(Int_t iCh);
94 Int_t WriteTriggerDDL();
96 void ReadBusPatchFile();
98 ClassDef(AliMUONRawData,1) // MUON cluster reconstructor in ALICE