]>
Commit | Line | Data |
---|---|---|
a3283a4c | 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 */ | |
5 | ||
6 | /*$Id$*/ | |
7 | ||
241560c2 | 8 | /// \ingroup base |
a3283a4c | 9 | /// \class AliMUONDigitMaker |
10 | /// \brief Raw data class for trigger and tracker chambers | |
11 | /// | |
12 | /// Readding Raw data class for trigger and tracker chambers | |
13 | ||
14 | #include <TObject.h> | |
15 | #include "TStopwatch.h" | |
00e86732 | 16 | class AliRawReader; |
a3283a4c | 17 | class AliMpBusPatch; |
18 | class AliMUONData; | |
19 | class AliMUONDigit; | |
20 | class AliMUONGlobalTrigger; | |
21 | class AliMUONLocalTrigger; | |
d53fb0de | 22 | class AliMUONTriggerCrateStore; |
d2d759cf | 23 | class AliMUONLocalTriggerBoard; |
24 | class AliMUONLocalStruct; | |
a3283a4c | 25 | |
a3283a4c | 26 | class AliMUONRawStreamTracker; |
27 | class AliMUONRawStreamTrigger; | |
28 | ||
29 | class AliMUONDigitMaker : public TObject | |
30 | { | |
31 | public: | |
241560c2 | 32 | AliMUONDigitMaker(Bool_t digit = kTRUE); // Constructor |
a3283a4c | 33 | virtual ~AliMUONDigitMaker(void); // Destructor |
34 | ||
35 | // write raw data | |
36 | Int_t Raw2Digits(AliRawReader* rawReader); | |
37 | ||
38 | Int_t ReadTrackerDDL(AliRawReader* rawReader); | |
39 | Int_t ReadTriggerDDL(AliRawReader* rawReader); | |
9265505b | 40 | |
41 | /// Return MUON data | |
a3283a4c | 42 | AliMUONData* GetMUONData() const {return fMUONData;} |
9265505b | 43 | /// Set MUON data |
a3283a4c | 44 | void SetMUONData(AliMUONData* data) {fMUONData = data;} |
45 | ||
46 | Int_t GetMapping(Int_t buspatchId, UShort_t manuId, | |
47 | UChar_t channelId, AliMUONDigit* digit ); | |
48 | ||
d2d759cf | 49 | Int_t TriggerDigits(AliMUONLocalTriggerBoard* localBoard, |
50 | AliMUONLocalStruct* localStruct, TList& digitList ); | |
51 | ||
52 | void GetTriggerChamber(AliMUONLocalStruct* localStruct, | |
53 | Int_t& xyPattern, Int_t& iChamber, Int_t& iCath, Int_t iCase ); | |
54 | ||
9265505b | 55 | /// Set flag to generates scaler event |
a3283a4c | 56 | void SetScalerEvent() {fScalerEvent = kTRUE;} |
57 | ||
9265505b | 58 | /// Set Crate array |
fe5010dd | 59 | void SetCrateManager(AliMUONTriggerCrateStore* crateManager) {fCrateManager = crateManager;} |
60 | ||
a3283a4c | 61 | private: |
62 | ||
829425a5 | 63 | AliMUONData* fMUONData; //!< Data container for MUON subsystem |
a3283a4c | 64 | |
829425a5 | 65 | AliMpBusPatch* fBusPatchManager; //!< buspatch versus DE's & DDL |
a3283a4c | 66 | |
829425a5 | 67 | Bool_t fScalerEvent; //!< flag to generates scaler event |
a3283a4c | 68 | |
241560c2 | 69 | Bool_t fDigitFlag; //!< true for Digit, false for SDigit |
70 | ||
829425a5 | 71 | AliMUONRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker |
72 | AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger | |
a3283a4c | 73 | |
ce373c77 | 74 | AliMUONDigit* fDigit; //!< pointer to digits |
a3283a4c | 75 | |
ce373c77 | 76 | AliMUONLocalTrigger* fLocalTrigger; //!< pointer to local trigger |
77 | AliMUONGlobalTrigger* fGlobalTrigger; //!< pointer to local trigger | |
a3283a4c | 78 | |
d53fb0de | 79 | AliMUONTriggerCrateStore* fCrateManager; //!< Crate array |
80 | ||
ce373c77 | 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 | |
a3283a4c | 84 | |
9f5dcca3 | 85 | AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor |
86 | AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator | |
87 | ||
00e86732 | 88 | void GetCrateName(Char_t* name, Int_t iDDL, Int_t iReg) const; |
d53fb0de | 89 | |
a3283a4c | 90 | ClassDef(AliMUONDigitMaker,1) // MUON digit maker from rawdata |
91 | }; | |
92 | ||
93 | #endif |