X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONDigitMaker.h;h=6daeefd67b0f862479ec910b2ed74ebd689b8c23;hb=d61f56dfd45b8e206ed12c1002ed22115edc568c;hp=c3d3daaefcbe8b8e1469913334222c4d01f6c05b;hpb=d000f173f7ca9d619cee764d924dbca5fc1218e5;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONDigitMaker.h b/MUON/AliMUONDigitMaker.h index c3d3daaefcb..6daeefd67b0 100644 --- a/MUON/AliMUONDigitMaker.h +++ b/MUON/AliMUONDigitMaker.h @@ -14,92 +14,66 @@ #include #include "TStopwatch.h" -class TList; +class TArrayS; class AliRawReader; -class AliMUONData; -class AliMUONDigit; -class AliMUONGlobalTrigger; -class AliMUONLocalTrigger; -class AliMUONTriggerCrateStore; -class AliMUONLocalTriggerBoard; class AliMUONLocalStruct; -class AliMUONRawStreamTracker; +class AliMUONVRawStreamTracker; class AliMUONRawStreamTrigger; +class AliMUONVDigitStore; +class AliMUONVTriggerStore; + class AliMUONDigitMaker : public TObject { public: - AliMUONDigitMaker(Bool_t digit = kTRUE); // Constructor + AliMUONDigitMaker(Bool_t enableErrorLogger = kTRUE, Bool_t useFastDecoder = kFALSE); // Constructor virtual ~AliMUONDigitMaker(void); // Destructor // write raw data - Int_t Raw2Digits(AliRawReader* rawReader); + Int_t Raw2Digits(AliRawReader* rawReader, + AliMUONVDigitStore* digitContainer=0, + AliMUONVTriggerStore* triggerStore=0); Int_t ReadTrackerDDL(AliRawReader* rawReader); Int_t ReadTriggerDDL(AliRawReader* rawReader); - - /// Return MUON data - AliMUONData* GetMUONData() const {return fMUONData;} - /// Set MUON data - void SetMUONData(AliMUONData* data) {fMUONData = data;} - - Int_t GetMapping(Int_t buspatchId, UShort_t manuId, - UChar_t channelId, AliMUONDigit* digit ); - - Int_t TriggerDigits(AliMUONLocalTriggerBoard* localBoard, - AliMUONLocalStruct* localStruct, TList& digitList ); - - void GetTriggerChamber(AliMUONLocalStruct* localStruct, - Int_t& xyPattern, Int_t& iChamber, Int_t& iCath, Int_t iCase ); + + Int_t TriggerDigits(Int_t nBoard, TArrayS* xyPattern, + AliMUONVDigitStore& digitStore) const; /// Set flag to generates scaler event - void SetScalerEvent() {fScalerEvent = kTRUE;} + void SetScalerEvent() { fScalerEvent = kTRUE; } - /// Disable trigger rawdata reading - void DisableTrigger() {fTriggerFlag = kFALSE;} + /// Set flag whether or not we should generate digits for the trigger + void SetMakeTriggerDigits(Bool_t flag = kFALSE) { fMakeTriggerDigits = flag; } - /// Set Crate array - void SetCrateManager(AliMUONTriggerCrateStore* crateManager) {fCrateManager = crateManager;} + void SetFastDecoder(Bool_t useFastDecoder); - /// enable only list of digits for the display - void SetDisplayFlag() { fDisplayFlag = kTRUE; fDigitFlag = kFALSE;} - - - private: +private: + /// Not implemented AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor /// Not implemented AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator - void GetCrateName(Char_t* name, Int_t iDDL, Int_t iReg) const; +private: + void CreateRawStreamTracker(Bool_t useFastDecoder); - AliMUONData* fMUONData; //!< Data container for MUON subsystem + Bool_t fScalerEvent; //!< flag to generates scaler event + Bool_t fMakeTriggerDigits; //!< whether or not we should generate digits for the trigger - Bool_t fScalerEvent; //!< flag to generates scaler event - - Bool_t fDigitFlag; //!< true for Digit, false for SDigit - - Bool_t fTriggerFlag; //!< true for reading also trigger rawdata - - Bool_t fDisplayFlag; //!< true for returning digits list to the display - - AliMUONRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker + AliMUONVRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger - AliMUONDigit* fDigit; //!< pointer to digits - - AliMUONLocalTrigger* fLocalTrigger; //!< pointer to local trigger - AliMUONGlobalTrigger* fGlobalTrigger; //!< pointer to local trigger - - AliMUONTriggerCrateStore* fCrateManager; //!< Crate array - TStopwatch fTrackerTimer; //!< time watcher for tracker part TStopwatch fTriggerTimer; //!< time watcher for trigger part TStopwatch fMappingTimer; //!< time watcher for mapping-tracker part - ClassDef(AliMUONDigitMaker,1) // MUON digit maker from rawdata + AliMUONVDigitStore* fDigitStore; //!< not owner + AliMUONVTriggerStore* fTriggerStore; //!< not owner + + ClassDef(AliMUONDigitMaker,5) // MUON digit maker from rawdata }; #endif