]>
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" | |
16 | ||
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 | |
26 | class AliMpSegFactory; | |
27 | class AliMUONRawStreamTracker; | |
28 | class AliMUONRawStreamTrigger; | |
29 | ||
30 | class AliMUONDigitMaker : public TObject | |
31 | { | |
32 | public: | |
241560c2 | 33 | AliMUONDigitMaker(Bool_t digit = kTRUE); // Constructor |
a3283a4c | 34 | virtual ~AliMUONDigitMaker(void); // Destructor |
35 | ||
36 | // write raw data | |
37 | Int_t Raw2Digits(AliRawReader* rawReader); | |
38 | ||
39 | Int_t ReadTrackerDDL(AliRawReader* rawReader); | |
40 | Int_t ReadTriggerDDL(AliRawReader* rawReader); | |
41 | ||
42 | AliMUONData* GetMUONData() const {return fMUONData;} | |
43 | void SetMUONData(AliMUONData* data) {fMUONData = data;} | |
44 | ||
45 | Int_t GetMapping(Int_t buspatchId, UShort_t manuId, | |
46 | UChar_t channelId, AliMUONDigit* digit ); | |
47 | ||
d2d759cf | 48 | Int_t TriggerDigits(AliMUONLocalTriggerBoard* localBoard, |
49 | AliMUONLocalStruct* localStruct, TList& digitList ); | |
50 | ||
51 | void GetTriggerChamber(AliMUONLocalStruct* localStruct, | |
52 | Int_t& xyPattern, Int_t& iChamber, Int_t& iCath, Int_t iCase ); | |
53 | ||
a3283a4c | 54 | void SetScalerEvent() {fScalerEvent = kTRUE;} |
55 | ||
fe5010dd | 56 | void SetCrateManager(AliMUONTriggerCrateStore* crateManager) {fCrateManager = crateManager;} |
57 | ||
57d8c1ae | 58 | void SetSegFactory(AliMpSegFactory* segFactory) {fSegFactory = segFactory;} |
59 | ||
a3283a4c | 60 | private: |
61 | ||
829425a5 | 62 | AliMUONData* fMUONData; //!< Data container for MUON subsystem |
a3283a4c | 63 | |
829425a5 | 64 | AliMpSegFactory* fSegFactory; //!< Mapping segmentation factory |
a3283a4c | 65 | |
829425a5 | 66 | AliMpBusPatch* fBusPatchManager; //!< buspatch versus DE's & DDL |
a3283a4c | 67 | |
829425a5 | 68 | Bool_t fScalerEvent; //!< flag to generates scaler event |
a3283a4c | 69 | |
241560c2 | 70 | Bool_t fDigitFlag; //!< true for Digit, false for SDigit |
71 | ||
829425a5 | 72 | AliMUONRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker |
73 | AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger | |
a3283a4c | 74 | |
ce373c77 | 75 | AliMUONDigit* fDigit; //!< pointer to digits |
a3283a4c | 76 | |
ce373c77 | 77 | AliMUONLocalTrigger* fLocalTrigger; //!< pointer to local trigger |
78 | AliMUONGlobalTrigger* fGlobalTrigger; //!< pointer to local trigger | |
a3283a4c | 79 | |
d53fb0de | 80 | AliMUONTriggerCrateStore* fCrateManager; //!< Crate array |
81 | ||
ce373c77 | 82 | TStopwatch fTrackerTimer; //!< time watcher for tracker part |
83 | TStopwatch fTriggerTimer; //!< time watcher for trigger part | |
84 | TStopwatch fMappingTimer; //!< time watcher for mapping-tracker part | |
a3283a4c | 85 | |
9f5dcca3 | 86 | AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor |
87 | AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator | |
88 | ||
d53fb0de | 89 | void GetCrateName(Char_t* name, Int_t iDDL, Int_t iReg); |
90 | ||
a3283a4c | 91 | ClassDef(AliMUONDigitMaker,1) // MUON digit maker from rawdata |
92 | }; | |
93 | ||
94 | #endif |