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 Raw data class for trigger and tracker chambers
12 /// Readding Raw data class for trigger and tracker chambers
15 #include "TStopwatch.h"
20 class AliMUONGlobalTrigger;
21 class AliMUONLocalTrigger;
22 class AliMUONTriggerCrateStore;
23 class AliMUONLocalTriggerBoard;
24 class AliMUONLocalStruct;
26 class AliMUONRawStreamTracker;
27 class AliMUONRawStreamTrigger;
29 class AliMUONDigitMaker : public TObject
32 AliMUONDigitMaker(Bool_t digit = kTRUE); // Constructor
33 virtual ~AliMUONDigitMaker(void); // Destructor
36 Int_t Raw2Digits(AliRawReader* rawReader);
38 Int_t ReadTrackerDDL(AliRawReader* rawReader);
39 Int_t ReadTriggerDDL(AliRawReader* rawReader);
42 AliMUONData* GetMUONData() const {return fMUONData;}
44 void SetMUONData(AliMUONData* data) {fMUONData = data;}
46 Int_t GetMapping(Int_t buspatchId, UShort_t manuId,
47 UChar_t channelId, AliMUONDigit* digit );
49 Int_t TriggerDigits(AliMUONLocalTriggerBoard* localBoard,
50 AliMUONLocalStruct* localStruct, TList& digitList );
52 void GetTriggerChamber(AliMUONLocalStruct* localStruct,
53 Int_t& xyPattern, Int_t& iChamber, Int_t& iCath, Int_t iCase );
55 /// Set flag to generates scaler event
56 void SetScalerEvent() {fScalerEvent = kTRUE;}
59 void SetCrateManager(AliMUONTriggerCrateStore* crateManager) {fCrateManager = crateManager;}
63 AliMUONData* fMUONData; //!< Data container for MUON subsystem
65 AliMpBusPatch* fBusPatchManager; //!< buspatch versus DE's & DDL
67 Bool_t fScalerEvent; //!< flag to generates scaler event
69 Bool_t fDigitFlag; //!< true for Digit, false for SDigit
71 AliMUONRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker
72 AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger
74 AliMUONDigit* fDigit; //!< pointer to digits
76 AliMUONLocalTrigger* fLocalTrigger; //!< pointer to local trigger
77 AliMUONGlobalTrigger* fGlobalTrigger; //!< pointer to local trigger
79 AliMUONTriggerCrateStore* fCrateManager; //!< Crate array
81 TStopwatch fTrackerTimer; //!< time watcher for tracker part
82 TStopwatch fTriggerTimer; //!< time watcher for trigger part
83 TStopwatch fMappingTimer; //!< time watcher for mapping-tracker part
85 AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor
86 AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator
88 void GetCrateName(Char_t* name, Int_t iDDL, Int_t iReg) const;
90 ClassDef(AliMUONDigitMaker,1) // MUON digit maker from rawdata