]>
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 | |
a3283a4c | 22 | class AliMUONRawStreamTracker; |
23 | class AliMUONRawStreamTrigger; | |
24 | ||
40e382ae | 25 | class AliMUONVDigitStore; |
26 | class AliMUONVTriggerStore; | |
27 | ||
a3283a4c | 28 | class AliMUONDigitMaker : public TObject |
29 | { | |
30 | public: | |
3c7f5307 | 31 | AliMUONDigitMaker(Bool_t enableErrorLogger = kTRUE); // 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 | |
40e382ae | 51 | private: |
52 | ||
71a2d3aa | 53 | /// Not implemented |
54 | AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor | |
55 | /// Not implemented | |
56 | AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator | |
57 | ||
40e382ae | 58 | private: |
8a91c35f | 59 | |
3c7f5307 | 60 | Bool_t fScalerEvent; //!< flag to generates scaler event |
40e382ae | 61 | Bool_t fMakeTriggerDigits; //!< whether or not we should generate digits for the trigger |
62 | ||
829425a5 | 63 | AliMUONRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker |
64 | AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger | |
a3283a4c | 65 | |
ce373c77 | 66 | TStopwatch fTrackerTimer; //!< time watcher for tracker part |
67 | TStopwatch fTriggerTimer; //!< time watcher for trigger part | |
68 | TStopwatch fMappingTimer; //!< time watcher for mapping-tracker part | |
a3283a4c | 69 | |
40e382ae | 70 | AliMUONVDigitStore* fDigitStore; //!< not owner |
71 | AliMUONVTriggerStore* fTriggerStore; //!< not owner | |
3c7f5307 | 72 | |
d9b1ecb0 | 73 | ClassDef(AliMUONDigitMaker,5) // MUON digit maker from rawdata |
a3283a4c | 74 | }; |
75 | ||
76 | #endif |