]>
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 | ||
be63c782 | 35 | /// Code to indicate readout errors |
36 | enum ErrorCode | |
37 | { | |
38 | kOK=0, ///< everything is OK | |
39 | kTrackerBAD=1<<1, ///< tracker part had readout errors | |
40 | kTriggerBAD=1<<2 ///< trigger part had readout errors | |
41 | }; | |
42 | ||
a3283a4c | 43 | // write raw data |
40e382ae | 44 | Int_t Raw2Digits(AliRawReader* rawReader, |
45 | AliMUONVDigitStore* digitContainer=0, | |
46 | AliMUONVTriggerStore* triggerStore=0); | |
a3283a4c | 47 | |
48 | Int_t ReadTrackerDDL(AliRawReader* rawReader); | |
49 | Int_t ReadTriggerDDL(AliRawReader* rawReader); | |
40e382ae | 50 | |
51 | Int_t TriggerDigits(Int_t nBoard, TArrayS* xyPattern, | |
52 | AliMUONVDigitStore& digitStore) const; | |
d2d759cf | 53 | |
9265505b | 54 | /// Set flag to generates scaler event |
40e382ae | 55 | void SetScalerEvent() { fScalerEvent = kTRUE; } |
e604ac4c | 56 | |
40e382ae | 57 | /// Set flag whether or not we should generate digits for the trigger |
58 | void SetMakeTriggerDigits(Bool_t flag = kFALSE) { fMakeTriggerDigits = flag; } | |
8a91c35f | 59 | |
d61f56df | 60 | void SetFastDecoder(Bool_t useFastDecoder); |
61 | ||
be63c782 | 62 | void Print(Option_t* opt="") const; |
63 | ||
40e382ae | 64 | private: |
65 | ||
71a2d3aa | 66 | /// Not implemented |
67 | AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor | |
68 | /// Not implemented | |
69 | AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator | |
70 | ||
40e382ae | 71 | private: |
d61f56df | 72 | void CreateRawStreamTracker(Bool_t useFastDecoder); |
8a91c35f | 73 | |
3c7f5307 | 74 | Bool_t fScalerEvent; //!< flag to generates scaler event |
40e382ae | 75 | Bool_t fMakeTriggerDigits; //!< whether or not we should generate digits for the trigger |
76 | ||
e3a2b9c9 | 77 | AliMUONVRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker |
829425a5 | 78 | AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger |
a3283a4c | 79 | |
40e382ae | 80 | AliMUONVDigitStore* fDigitStore; //!< not owner |
81 | AliMUONVTriggerStore* fTriggerStore; //!< not owner | |
3c7f5307 | 82 | |
0145e89a | 83 | AliMUONLogger* fLogger; //!< to log messages |
84 | ||
85 | ClassDef(AliMUONDigitMaker,6) // MUON digit maker from rawdata | |
a3283a4c | 86 | }; |
87 | ||
88 | #endif |