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
15 #include "TStopwatch.h"
20 class AliMUONTriggerCrateStore;
21 class AliMUONLocalStruct;
23 class AliMUONRawStreamTracker;
24 class AliMUONRawStreamTrigger;
26 class AliMUONVDigitStore;
27 class AliMUONVTriggerStore;
29 class AliMUONDigitMaker : public TObject
32 AliMUONDigitMaker(); // Constructor
33 virtual ~AliMUONDigitMaker(void); // Destructor
36 Int_t Raw2Digits(AliRawReader* rawReader,
37 AliMUONVDigitStore* digitContainer=0,
38 AliMUONVTriggerStore* triggerStore=0);
40 Int_t ReadTrackerDDL(AliRawReader* rawReader);
41 Int_t ReadTriggerDDL(AliRawReader* rawReader);
43 Int_t TriggerDigits(Int_t nBoard, TArrayS* xyPattern,
44 AliMUONVDigitStore& digitStore) const;
46 /// Set flag to generates scaler event
47 void SetScalerEvent() { fScalerEvent = kTRUE; }
50 void SetCrateManager(AliMUONTriggerCrateStore* crateManager) { fCrateManager = crateManager; }
52 /// Set flag whether or not we should generate digits for the trigger
53 void SetMakeTriggerDigits(Bool_t flag = kFALSE) { fMakeTriggerDigits = flag; }
58 AliMUONDigitMaker (const AliMUONDigitMaker& rhs); // copy constructor
60 AliMUONDigitMaker& operator=(const AliMUONDigitMaker& rhs); // assignment operator
62 void GetCrateName(Char_t* name, Int_t iDDL, Int_t iReg) const;
66 Bool_t fScalerEvent; //!< flag to generates scaler event
67 Bool_t fMakeTriggerDigits; //!< whether or not we should generate digits for the trigger
69 AliMUONRawStreamTracker* fRawStreamTracker; //!< pointer of raw stream for tracker
70 AliMUONRawStreamTrigger* fRawStreamTrigger; //!< pointer of raw stream for trigger
72 AliMUONTriggerCrateStore* fCrateManager; //!< Crate array
74 TStopwatch fTrackerTimer; //!< time watcher for tracker part
75 TStopwatch fTriggerTimer; //!< time watcher for trigger part
76 TStopwatch fMappingTimer; //!< time watcher for mapping-tracker part
78 AliMUONVDigitStore* fDigitStore; //!< not owner
79 AliMUONVTriggerStore* fTriggerStore; //!< not owner
81 ClassDef(AliMUONDigitMaker,4) // MUON digit maker from rawdata