]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTrackerCalibratedDataMaker.h
Adding the cascade performance task (Antonin Maire)
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackerCalibratedDataMaker.h
index c6d688140ac37642bd6cc5266d20d38fcb24e697..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,6 +70,8 @@ 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;
@@ -65,37 +84,38 @@ public:
   /// 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)
+  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)
   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)
   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,2) // Producer of calibrated AliMUONVTrackerData from raw data
+  ClassDef(AliMUONTrackerCalibratedDataMaker,3) // Producer of calibrated AliMUONVTrackerData from raw data
 };
 
 #endif