1 #ifndef ALIMUONDIGITMAKER_H
2 #define ALIMUONDIGITMAKER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 /// \class AliMUONDigitMaker
10 /// \brief Reading Raw data class for trigger and tracker chambers
15 #include "TStopwatch.h"
23 class AliMUONGlobalTrigger;
24 class AliMUONLocalTrigger;
25 class AliMUONTriggerCrateStore;
26 class AliMUONLocalStruct;
28 class AliMUONRawStreamTracker;
29 class AliMUONRawStreamTrigger;
31 class AliMUONDigitMaker : public TObject
34 AliMUONDigitMaker(Bool_t digit = kTRUE); // Constructor
35 virtual ~AliMUONDigitMaker(void); // Destructor
38 Int_t Raw2Digits(AliRawReader* rawReader);
40 Int_t ReadTrackerDDL(AliRawReader* rawReader);
41 Int_t ReadTriggerDDL(AliRawReader* rawReader);
44 AliMUONData* GetMUONData() const {return fMUONData;}
46 void SetMUONData(AliMUONData* data) {fMUONData = data;}
48 Int_t GetMapping(Int_t buspatchId, UShort_t manuId,
49 UChar_t channelId, AliMUONDigit* digit );
51 Int_t TriggerDigits(Int_t nBoard, TArrayS* xyPattern, TList& digitList );
53 /// Set flag to generates scaler event
54 void SetScalerEvent() {fScalerEvent = kTRUE;}
56 /// Disable trigger rawdata reading
57 void DisableTrigger() {fTriggerFlag = kFALSE;}
60 void SetCrateManager(AliMUONTriggerCrateStore* crateManager) {fCrateManager = crateManager;}
62 /// enable only list of digits for the display
63 void SetDisplayFlag() { fDisplayFlag = kTRUE; fDigitFlag = kFALSE;}
68 AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor
70 AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator
72 void GetCrateName(Char_t* name, Int_t iDDL, Int_t iReg) const;
74 AliMUONData* fMUONData; //!< Data container for MUON subsystem
76 Bool_t fScalerEvent; //!< flag to generates scaler event
78 Bool_t fDigitFlag; //!< true for Digit, false for SDigit
80 Bool_t fTriggerFlag; //!< true for reading also trigger rawdata
82 Bool_t fDisplayFlag; //!< true for returning digits list to the display
84 AliMUONRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker
85 AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger
87 AliMUONDigit* fDigit; //!< pointer to digits
89 AliMUONLocalTrigger* fLocalTrigger; //!< pointer to local trigger
90 AliMUONGlobalTrigger* fGlobalTrigger; //!< pointer to local trigger
92 AliMUONTriggerCrateStore* fCrateManager; //!< Crate array
94 TStopwatch fTrackerTimer; //!< time watcher for tracker part
95 TStopwatch fTriggerTimer; //!< time watcher for trigger part
96 TStopwatch fMappingTimer; //!< time watcher for mapping-tracker part
98 ClassDef(AliMUONDigitMaker,1) // MUON digit maker from rawdata