]>
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 |
78649106 | 10 | /// \brief Reading Raw data class for trigger and tracker chambers |
a3283a4c | 11 | /// |
78649106 | 12 | // Author: Ch, Finck |
a3283a4c | 13 | |
14 | #include <TObject.h> | |
15 | #include "TStopwatch.h" | |
8a91c35f | 16 | |
7771752e | 17 | class TArrayS; |
8a91c35f | 18 | |
00e86732 | 19 | class AliRawReader; |
d2d759cf | 20 | class AliMUONLocalStruct; |
a3283a4c | 21 | |
e3a2b9c9 | 22 | class AliMUONVRawStreamTracker; |
a3283a4c | 23 | class AliMUONRawStreamTrigger; |
24 | ||
40e382ae | 25 | class AliMUONVDigitStore; |
26 | class AliMUONVTriggerStore; | |
27 | ||
a3283a4c | 28 | class AliMUONDigitMaker : public TObject |
29 | { | |
30 | public: | |
d61f56df | 31 | AliMUONDigitMaker(Bool_t enableErrorLogger = kTRUE, Bool_t useFastDecoder = kFALSE); // Constructor |
a3283a4c | 32 | virtual ~AliMUONDigitMaker(void); // Destructor |
33 | ||
34 | // write raw data | |
40e382ae | 35 | Int_t Raw2Digits(AliRawReader* rawReader, |
36 | AliMUONVDigitStore* digitContainer=0, | |
37 | AliMUONVTriggerStore* triggerStore=0); | |
a3283a4c | 38 | |
39 | Int_t ReadTrackerDDL(AliRawReader* rawReader); | |
40 | Int_t ReadTriggerDDL(AliRawReader* rawReader); | |
40e382ae | 41 | |
42 | Int_t TriggerDigits(Int_t nBoard, TArrayS* xyPattern, | |
43 | AliMUONVDigitStore& digitStore) const; | |
d2d759cf | 44 | |
9265505b | 45 | /// Set flag to generates scaler event |
40e382ae | 46 | void SetScalerEvent() { fScalerEvent = kTRUE; } |
e604ac4c | 47 | |
40e382ae | 48 | /// Set flag whether or not we should generate digits for the trigger |
49 | void SetMakeTriggerDigits(Bool_t flag = kFALSE) { fMakeTriggerDigits = flag; } | |
8a91c35f | 50 | |
d61f56df | 51 | void SetFastDecoder(Bool_t useFastDecoder); |
52 | ||
40e382ae | 53 | private: |
54 | ||
71a2d3aa | 55 | /// Not implemented |
56 | AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor | |
57 | /// Not implemented | |
58 | AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator | |
59 | ||
40e382ae | 60 | private: |
d61f56df | 61 | void CreateRawStreamTracker(Bool_t useFastDecoder); |
8a91c35f | 62 | |
3c7f5307 | 63 | Bool_t fScalerEvent; //!< flag to generates scaler event |
40e382ae | 64 | Bool_t fMakeTriggerDigits; //!< whether or not we should generate digits for the trigger |
65 | ||
e3a2b9c9 | 66 | AliMUONVRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker |
829425a5 | 67 | AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger |
a3283a4c | 68 | |
ce373c77 | 69 | TStopwatch fTrackerTimer; //!< time watcher for tracker part |
70 | TStopwatch fTriggerTimer; //!< time watcher for trigger part | |
71 | TStopwatch fMappingTimer; //!< time watcher for mapping-tracker part | |
a3283a4c | 72 | |
40e382ae | 73 | AliMUONVDigitStore* fDigitStore; //!< not owner |
74 | AliMUONVTriggerStore* fTriggerStore; //!< not owner | |
3c7f5307 | 75 | |
d9b1ecb0 | 76 | ClassDef(AliMUONDigitMaker,5) // MUON digit maker from rawdata |
a3283a4c | 77 | }; |
78 | ||
79 | #endif |