]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTrackerCalibratedDataMaker.h
mixing example
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackerCalibratedDataMaker.h
index 9aa9a045c88e8a55879a831cdf86e716d7258745..50244982293031028ad933f55a90fe5b97db31ab 100644 (file)
@@ -6,7 +6,7 @@
 
 // $Id$
 
-/// \ingroup graphics
+/// \ingroup rec
 /// \class AliMUONTrackerCalibratedDataMaker
 /// \brief Creator of calibrated AliMUONVTrackerData from AliRawReader
 /// 
@@ -26,16 +26,33 @@ class AliMUONDigitMaker;
 class AliMUONVTrackerData;
 class AliMUONVStore;
 class AliMUONVDigitStore;
+class AliMUONRecoParam;
 
 class AliMUONTrackerCalibratedDataMaker : public AliMUONVTrackerDataMaker
 {
 public:
-  AliMUONTrackerCalibratedDataMaker(AliRawReader* reader = 0x0, 
+
+  AliMUONTrackerCalibratedDataMaker(TRootIOCtor* ioCtor);
+  
+  AliMUONTrackerCalibratedDataMaker(const AliMUONRecoParam* recoParam,
+                                    Int_t runNumber,
+                                    AliRawReader* reader, 
                                     const char* cdbpath=0x0,
                                     const char* calibMode=0x0,
                                     Bool_t histogram=kFALSE,
                                     Double_t xmin=0.0,
-                                    Double_t xmax=4096.0);
+                                    Double_t xmax=4096.0,
+                                    Bool_t useHPdecoder=kTRUE);
+  
+  AliMUONTrackerCalibratedDataMaker(const AliMUONRecoParam* recoParam,
+                                    AliRawReader* reader = 0x0, 
+                                    const char* cdbpath=0x0,
+                                    const char* calibMode=0x0,
+                                    Bool_t histogram=kFALSE,
+                                    Double_t xmin=0.0,
+                                    Double_t xmax=4096.0,
+                                    Bool_t useHPdecoder=kTRUE);
+
   virtual ~AliMUONTrackerCalibratedDataMaker();
   
   /// Whether we have a valid raw reader
@@ -53,51 +70,52 @@ public:
   /// Set the running status
   virtual void SetRunning(Bool_t flag) { fIsRunning = flag; }
   
+       Bool_t ProcessEvent();
+       
   Bool_t NextEvent();
   
   void Print(Option_t* opt="") const;
   
   void Rewind();
   
-  /// Tell if we are owner of our data or not
-  void SetOwner(Bool_t flag) { fIsOwner = flag; }
-  
   /// Get our source URI
   virtual TString Source() const { return fSource.Data(); }
   
   /// Set our source URI
   void SetSource(const char* source) { fSource = source; }
   
-  /// Get our digit store
-  AliMUONVDigitStore* DigitStore() const { return fDigitStore; }
-  
   /// Number of events seen
     Int_t NumberOfEvents() const { return fNumberOfEvents; }
 
+  virtual Long64_t Merge(TCollection* list);
+  
+       void SetRawReader(AliRawReader* rawReader);
+       
 private:
   /// Not implemented
   AliMUONTrackerCalibratedDataMaker(const AliMUONTrackerCalibratedDataMaker& rhs);
   /// Not implemented
   AliMUONTrackerCalibratedDataMaker& operator=(const AliMUONTrackerCalibratedDataMaker& rhs);
   
-  Bool_t ConvertDigits();
+  void Ctor(const AliMUONRecoParam* recoParam,
+            Int_t runNumber, const char* calibMode,
+            Bool_t histogram, Double_t xmin, Double_t xmax);
   
 private:
-  AliRawReader* fRawReader; ///< reader of the data (owner)
-  AliMUONVTrackerData* fAccumulatedData; ///< data (owner if fIsOwner==kTRUE)
+  AliRawReader* fRawReader; //!< reader of the data
+       Bool_t fIsOwnerOfRawReader; //!< whether we must delete fRawReader or not
+  AliMUONVTrackerData* fAccumulatedData; ///< data (owner)
   AliMUONVStore* fOneEventData; ///< data for one event (owner)
-  Bool_t fIsOwner; ///< whether we are owner of our data or not
   TString fSource; ///< where the data comes from
   Bool_t fIsRunning; ///< whether we are running or are paused
-  AliMUONDigitMaker* fDigitMaker; ///< digit maker
-  AliMUONDigitCalibrator* fDigitCalibrator; ///< digit calibrator (if calibrating data)
+  AliMUONDigitCalibrator* fDigitCalibrator; //!< digit calibrator (if calibrating data)
   AliMUONCalibrationData* fCalibrationData; ///< calibration data (if calibrating data)  
-  AliMUONVDigitStore* fDigitStore; ///< digit store (if calibrating data)
   TString fCDBPath; ///< OCDB path (if calibrating data)
   Int_t fNumberOfEvents; ///< number of events seen
+  Bool_t fUseHPDecoder; ///< whether to use High Performance decoder or not
   static Int_t fgkCounter; ///< to count the number of instances
   
-  ClassDef(AliMUONTrackerCalibratedDataMaker,1) // Producer of calibrated AliMUONVTrackerData from raw data
+  ClassDef(AliMUONTrackerCalibratedDataMaker,3) // Producer of calibrated AliMUONVTrackerData from raw data
 };
 
 #endif