]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRawWriter.h
- AliHLTComponent: bugfix in buffer handling; overwrite check added to
[u/mrichter/AliRoot.git] / MUON / AliMUONRawWriter.h
index 4dda3abdae754b5554f26340426d8760a9091efe..4d58020542a493b775ac7990f758154b913d4bf0 100644 (file)
@@ -5,17 +5,14 @@
 
 /*$Id$*/
 
-/// \ingroup rec
+/// \ingroup sim
 /// \class AliMUONRawWriter
 /// \brief Raw data class for trigger and tracker chambers
 ///
-/// Writring Raw data class for trigger and tracker chambers
+//  Author Christian Finck and Laurent Aphecetche, Subatech
 
 #include <TObject.h>
-#include <TClonesArray.h>
-#include "AliMUONBusStruct.h"
 #include "AliRawDataHeader.h"
-#include "TStopwatch.h"
 
 class AliMUONData;
 class AliMUONDigit;
@@ -24,9 +21,12 @@ class AliMUONBlockHeader;
 class AliMUONDarcHeader;
 class AliMUONRegHeader;
 class AliMUONLocalStruct;
+class AliMpExMap;
+class AliMUONBusStruct;
 class AliMUONGlobalTrigger;
-class AliMpBusPatch;
-class AliMpSegFactory;
+class AliMpDDLStore;
+class AliMUONTriggerCrateStore;
+class TStopwatch;
 
 class AliMUONRawWriter : public TObject 
 {
@@ -37,63 +37,46 @@ class AliMUONRawWriter : public TObject
   // write raw data
   Int_t Digits2Raw();
 
-  void  SetScalerEvent() {fScalerEvent = kTRUE;}
-  
+  void SetScalersNumbers();
+
 protected:
   AliMUONRawWriter();                  // Default constructor
-  AliMUONRawWriter (const AliMUONRawWriter& rhs); // copy constructor
-  AliMUONRawWriter& operator=(const AliMUONRawWriter& rhs); // assignment operator
 
   // writing raw data
   Int_t WriteTrackerDDL(Int_t iCh);
   Int_t WriteTriggerDDL();
   
 private:
-
-  void AddData(const AliMUONBusStruct& event)
-  {
-    TClonesArray &temp = *fBusArray;
-    new(temp[temp.GetEntriesFast()]) AliMUONBusStruct(event); 
-  }
-
-  Int_t GetBusPatch(const AliMUONDigit& digit);
-  
-  Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg) const;
+  Int_t GetBusPatch(const AliMUONDigit& digit) const;
 
 private:
+  /// Not implemented copy constructor
+  AliMUONRawWriter (const AliMUONRawWriter& rhs); // copy constructor
+  /// Not implemented assignment operator
+  AliMUONRawWriter& operator=(const AliMUONRawWriter& rhs);
+
 
   AliMUONData*  fMUONData;           //!< Data container for MUON subsystem 
  
-  FILE*         fFile[2];            //!< DDL binary file pointer one per 1/2 chamber
+  FILE*         fFile[4];            //!< DDL binary file pointer one per 1/2 chamber, 4 for one station
 
-  TClonesArray* fBusArray;           //!< array to sub event tracker
-   
   AliMUONBlockHeader* fBlockHeader;  //!< DDL block header class pointers
   AliMUONDspHeader*   fDspHeader;    //!< DDL Dsp header class pointers
-  AliMUONBusStruct*   fBusStruct;    //!< DDL bus patch structure class pointers
   AliMUONDarcHeader*  fDarcHeader;   //!< DDL darc header class pointers
   AliMUONRegHeader*   fRegHeader;    //!< DDL regional header class pointers
   AliMUONLocalStruct* fLocalStruct;  //!< DDL local structure class pointers
 
-  AliMpBusPatch* fBusPatchManager;   //!< buspatch versus DE's & DDL
+  AliMpDDLStore*            fDDLStore;     //!< DDL store pointer
+  AliMUONTriggerCrateStore* fCrateManager; //!< Crate array
 
   Bool_t fScalerEvent;               ///< flag to generates scaler event
 
   AliRawDataHeader    fHeader;           ///< header of DDL
 
-  static Int_t fgManuPerBusSwp1B[12];   //!< array containing the first manuId for each buspatch st1, Bending
-  static Int_t fgManuPerBusSwp1NB[12];  //!< array containing the first manuId for each buspatch st1, NBending
-
-  static Int_t fgManuPerBusSwp2B[12];   //!< array containing the first manuId for each buspatch st2, Bending
-  static Int_t fgManuPerBusSwp2NB[12];  //!< array containing the first manuId for each buspatch st2, NBending
-  
-  TStopwatch fTrackerTimer;             //!< time watcher for tracker part
-  TStopwatch fTriggerTimer;             //!< time watcher for trigger part
-  TStopwatch fMappingTimer;             //!< time watcher for mapping-tracker part
   
-  AliMpSegFactory* fSegFactory;         //!< mapping segmentation factory
+  TStopwatch* fTimers;             //!< time watchers
   
-  ClassDef(AliMUONRawWriter,1) // MUON cluster reconstructor in ALICE
+  ClassDef(AliMUONRawWriter,2) // MUON cluster reconstructor in ALICE
 };
        
 #endif