]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONTrackerRawDataMaker.h
Replace plane by layer and chamber by stack
[u/mrichter/AliRoot.git] / MUON / AliMUONTrackerRawDataMaker.h
index d16e1c2e7bbbfea6cc458aaf405b9d014a237091..16be0a67f23b34dd5043b17c98126fa6d20c174b 100644 (file)
@@ -8,7 +8,7 @@
 
 /// \ingroup graphics
 /// \class AliMUONTrackerRawDataMaker
-/// \brief Creator of AliMUONVTrackerData from AliRawReader
+/// \brief Creator of raw AliMUONVTrackerData from AliRawReader
 /// 
 // Author Laurent Aphecetche, Subatech
 
 #endif
 
 class AliRawReader;
-class AliMUONCalibrationData;
-class AliMUONDigitCalibrator;
-class AliMUONDigitMaker;
-class AliMUONVTrackerData;
 class AliMUONVStore;
-class AliMUONVDigitStore;
+class AliMUONVTrackerData;
 
 class AliMUONTrackerRawDataMaker : public AliMUONVTrackerDataMaker
 {
 public:
-  AliMUONTrackerRawDataMaker(AliRawReader* reader = 0x0, const char* cdbpath=0x0);
+  AliMUONTrackerRawDataMaker(AliRawReader* reader = 0x0,
+                             Bool_t histogram=kFALSE,
+                             Bool_t useHPdecoder=kFALSE);
   virtual ~AliMUONTrackerRawDataMaker();
   
   /// Whether we have a valid raw reader
@@ -39,8 +37,14 @@ public:
   /// Our data
   AliMUONVTrackerData* Data() const { return fAccumulatedData; }
   
-  /// We can be run
-  virtual Bool_t IsRunnable() const { return kTRUE; }
+  /// Whether we're only handling event-by-event data (i.e. no accumulation)
+  virtual Bool_t IsEventByEvent() const { return fIsEventByEvent; }
+  
+  /// Set event-by-event mode
+  virtual void SetEventByEvent(Bool_t flag) { fIsEventByEvent = flag; }
+  
+  /// We can be run if we have a reader
+  virtual Bool_t IsRunnable() const { return IsValid(); }
   
   /// Whether we are running or not
   virtual Bool_t IsRunning() const { return fIsRunning; }
@@ -54,17 +58,16 @@ public:
   
   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; }
+
+  Long64_t Merge(TCollection* li);
   
 private:
   /// Not implemented
@@ -72,23 +75,19 @@ private:
   /// Not implemented
   AliMUONTrackerRawDataMaker& operator=(const AliMUONTrackerRawDataMaker& rhs);
   
-  void ConvertDigits();
-  
 private:
-  AliRawReader* fRawReader; ///< reader of the data (owner)
-  AliMUONVTrackerData* fAccumulatedData; ///< data (owner if fIsOwner==kTRUE)
+  AliRawReader* fRawReader; //!< reader of the data (owner)
+  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)
-  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
+  Int_t fRunNumber; ///< run number of the data
+  Bool_t fIsEventByEvent; ///< we only keep one event's data (no accumulation)
+  Bool_t fUseHPDecoder; ///< whether to use high performance decoder or not (false by default)
   static Int_t fgkCounter; ///< to count the number of instances
   
-  ClassDef(AliMUONTrackerRawDataMaker,1) // Producer of AliMUONVTrackerData from raw data
+  ClassDef(AliMUONTrackerRawDataMaker,3) // Producer of AliMUONVTrackerData from raw data
 };
 
 #endif