]>
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 | |
b6f591ae | 21 | class AliMUONRawStreamTrackerHP; |
22 | class AliMUONRawStreamTriggerHP; | |
a3283a4c | 23 | |
40e382ae | 24 | class AliMUONVDigitStore; |
25 | class AliMUONVTriggerStore; | |
26 | ||
0145e89a | 27 | class AliMUONLogger; |
28 | ||
a3283a4c | 29 | class AliMUONDigitMaker : public TObject |
30 | { | |
31 | public: | |
b6f591ae | 32 | AliMUONDigitMaker(Bool_t enableErrorLogger, Bool_t a, Bool_t b); |
33 | ||
34 | AliMUONDigitMaker(Bool_t enableErrorLogger = kTRUE); // Constructor | |
35 | ||
a3283a4c | 36 | virtual ~AliMUONDigitMaker(void); // Destructor |
37 | ||
be63c782 | 38 | /// Code to indicate readout errors |
39 | enum ErrorCode | |
40 | { | |
41 | kOK=0, ///< everything is OK | |
42 | kTrackerBAD=1<<1, ///< tracker part had readout errors | |
43 | kTriggerBAD=1<<2 ///< trigger part had readout errors | |
44 | }; | |
45 | ||
a3283a4c | 46 | // write raw data |
40e382ae | 47 | Int_t Raw2Digits(AliRawReader* rawReader, |
48 | AliMUONVDigitStore* digitContainer=0, | |
49 | AliMUONVTriggerStore* triggerStore=0); | |
a3283a4c | 50 | |
51 | Int_t ReadTrackerDDL(AliRawReader* rawReader); | |
52 | Int_t ReadTriggerDDL(AliRawReader* rawReader); | |
40e382ae | 53 | |
54 | Int_t TriggerDigits(Int_t nBoard, TArrayS* xyPattern, | |
55 | AliMUONVDigitStore& digitStore) const; | |
d2d759cf | 56 | |
54355f2c | 57 | Bool_t TriggerToDigitsStore(const AliMUONVTriggerStore& triggerStore, |
b6f591ae | 58 | AliMUONVDigitStore& digitStore) const; |
54355f2c | 59 | |
9265505b | 60 | /// Set flag to generates scaler event |
40e382ae | 61 | void SetScalerEvent() { fScalerEvent = kTRUE; } |
e604ac4c | 62 | |
40e382ae | 63 | /// Set flag whether or not we should generate digits for the trigger |
64 | void SetMakeTriggerDigits(Bool_t flag = kFALSE) { fMakeTriggerDigits = flag; } | |
8a91c35f | 65 | |
b92a19ac | 66 | /// Return the raw stream object which decodes DDL raw data from tracking stations. |
b6f591ae | 67 | AliMUONRawStreamTrackerHP* GetRawStreamTracker() const { return fRawStreamTracker; } |
b92a19ac | 68 | |
69 | /// Return the raw stream object which decodes DDL raw data from the trigger system. | |
b6f591ae | 70 | AliMUONRawStreamTriggerHP* GetRawStreamTrigger() const { return fRawStreamTrigger; } |
b92a19ac | 71 | |
be63c782 | 72 | void Print(Option_t* opt="") const; |
73 | ||
40e382ae | 74 | private: |
75 | ||
71a2d3aa | 76 | /// Not implemented |
77 | AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor | |
78 | /// Not implemented | |
79 | AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator | |
80 | ||
40e382ae | 81 | private: |
3c7f5307 | 82 | Bool_t fScalerEvent; //!< flag to generates scaler event |
40e382ae | 83 | Bool_t fMakeTriggerDigits; //!< whether or not we should generate digits for the trigger |
84 | ||
b6f591ae | 85 | AliMUONRawStreamTrackerHP* fRawStreamTracker; //!< pointer of raw stream for tracker |
86 | AliMUONRawStreamTriggerHP* fRawStreamTrigger; //!< pointer of raw stream for trigger | |
a3283a4c | 87 | |
40e382ae | 88 | AliMUONVDigitStore* fDigitStore; //!< not owner |
89 | AliMUONVTriggerStore* fTriggerStore; //!< not owner | |
3c7f5307 | 90 | |
0145e89a | 91 | AliMUONLogger* fLogger; //!< to log messages |
92 | ||
b6f591ae | 93 | ClassDef(AliMUONDigitMaker,7) // MUON digit maker from rawdata |
a3283a4c | 94 | }; |
95 | ||
96 | #endif |