1 #ifndef ALIMUONTRACKERCALIBRATEDDATAMAKER_H
2 #define ALIMUONTRACKERCALIBRATEDDATAMAKER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONTrackerCalibratedDataMaker
11 /// \brief Creator of calibrated AliMUONVTrackerData from AliRawReader
13 // Author Laurent Aphecetche, Subatech
15 #ifndef ALIMUONVTRACKERDATAMAKER_H
16 # include "AliMUONVTrackerDataMaker.h"
23 class AliMUONCalibrationData;
24 class AliMUONDigitCalibrator;
25 class AliMUONDigitMaker;
26 class AliMUONVTrackerData;
28 class AliMUONVDigitStore;
29 class AliMUONRecoParam;
31 class AliMUONTrackerCalibratedDataMaker : public AliMUONVTrackerDataMaker
35 AliMUONTrackerCalibratedDataMaker(TRootIOCtor* ioCtor);
37 AliMUONTrackerCalibratedDataMaker(const AliMUONRecoParam* recoParam,
40 const char* cdbpath=0x0,
41 const char* calibMode=0x0,
42 Bool_t histogram=kFALSE,
45 Bool_t useHPdecoder=kTRUE);
47 AliMUONTrackerCalibratedDataMaker(const AliMUONRecoParam* recoParam,
48 AliRawReader* reader = 0x0,
49 const char* cdbpath=0x0,
50 const char* calibMode=0x0,
51 Bool_t histogram=kFALSE,
54 Bool_t useHPdecoder=kTRUE);
56 virtual ~AliMUONTrackerCalibratedDataMaker();
58 /// Whether we have a valid raw reader
59 Bool_t IsValid() const { return fRawReader != 0x0; }
62 AliMUONVTrackerData* Data() const { return fAccumulatedData; }
65 virtual Bool_t IsRunnable() const { return kTRUE; }
67 /// Whether we are running or not
68 virtual Bool_t IsRunning() const { return fIsRunning; }
70 /// Set the running status
71 virtual void SetRunning(Bool_t flag) { fIsRunning = flag; }
73 Bool_t ProcessEvent();
77 void Print(Option_t* opt="") const;
81 /// Get our source URI
82 virtual TString Source() const { return fSource.Data(); }
84 /// Set our source URI
85 void SetSource(const char* source) { fSource = source; }
87 /// Number of events seen
88 Int_t NumberOfEvents() const { return fNumberOfEvents; }
90 virtual Long64_t Merge(TCollection* list);
92 void SetRawReader(AliRawReader* rawReader);
96 AliMUONTrackerCalibratedDataMaker(const AliMUONTrackerCalibratedDataMaker& rhs);
98 AliMUONTrackerCalibratedDataMaker& operator=(const AliMUONTrackerCalibratedDataMaker& rhs);
100 void Ctor(const AliMUONRecoParam* recoParam,
101 Int_t runNumber, const char* calibMode,
102 Bool_t histogram, Double_t xmin, Double_t xmax);
105 AliRawReader* fRawReader; //!< reader of the data
106 Bool_t fIsOwnerOfRawReader; //!< whether we must delete fRawReader or not
107 AliMUONVTrackerData* fAccumulatedData; ///< data (owner)
108 AliMUONVStore* fOneEventData; ///< data for one event (owner)
109 TString fSource; ///< where the data comes from
110 Bool_t fIsRunning; ///< whether we are running or are paused
111 AliMUONDigitCalibrator* fDigitCalibrator; //!< digit calibrator (if calibrating data)
112 AliMUONCalibrationData* fCalibrationData; ///< calibration data (if calibrating data)
113 TString fCDBPath; ///< OCDB path (if calibrating data)
114 Int_t fNumberOfEvents; ///< number of events seen
115 Bool_t fUseHPDecoder; ///< whether to use High Performance decoder or not
116 static Int_t fgkCounter; ///< to count the number of instances
118 ClassDef(AliMUONTrackerCalibratedDataMaker,3) // Producer of calibrated AliMUONVTrackerData from raw data