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