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 */
9 /// \class AliMUONDigitMaker
10 /// \brief Reading Raw data class for trigger and tracker chambers
19 class AliMUONLocalStruct;
21 class AliMUONVRawStreamTracker;
22 class AliMUONRawStreamTrigger;
24 class AliMUONVDigitStore;
25 class AliMUONVTriggerStore;
29 class AliMUONDigitMaker : public TObject
32 AliMUONDigitMaker(Bool_t enableErrorLogger = kTRUE, Bool_t useFastDecoder = kFALSE); // Constructor
33 virtual ~AliMUONDigitMaker(void); // Destructor
35 /// Code to indicate readout errors
38 kOK=0, ///< everything is OK
39 kTrackerBAD=1<<1, ///< tracker part had readout errors
40 kTriggerBAD=1<<2 ///< trigger part had readout errors
44 Int_t Raw2Digits(AliRawReader* rawReader,
45 AliMUONVDigitStore* digitContainer=0,
46 AliMUONVTriggerStore* triggerStore=0);
48 Int_t ReadTrackerDDL(AliRawReader* rawReader);
49 Int_t ReadTriggerDDL(AliRawReader* rawReader);
51 Int_t TriggerDigits(Int_t nBoard, TArrayS* xyPattern,
52 AliMUONVDigitStore& digitStore) const;
54 /// Set flag to generates scaler event
55 void SetScalerEvent() { fScalerEvent = kTRUE; }
57 /// Set flag whether or not we should generate digits for the trigger
58 void SetMakeTriggerDigits(Bool_t flag = kFALSE) { fMakeTriggerDigits = flag; }
60 void SetFastDecoder(Bool_t useFastDecoder);
62 void Print(Option_t* opt="") const;
67 AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor
69 AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator
72 void CreateRawStreamTracker(Bool_t useFastDecoder);
74 Bool_t fScalerEvent; //!< flag to generates scaler event
75 Bool_t fMakeTriggerDigits; //!< whether or not we should generate digits for the trigger
77 AliMUONVRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker
78 AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger
80 AliMUONVDigitStore* fDigitStore; //!< not owner
81 AliMUONVTriggerStore* fTriggerStore; //!< not owner
83 AliMUONLogger* fLogger; //!< to log messages
85 ClassDef(AliMUONDigitMaker,6) // MUON digit maker from rawdata