]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONRawData.h
disable global transformation for trigger & transform.dat files in new ALICE coordina...
[u/mrichter/AliRoot.git] / MUON / AliMUONRawData.h
index 7c296f3edadcce48d3d15f9d93e94d7ec70e26c8..7d06af4d35ae863b65dc2146f57e74b5fcea3e9b 100644 (file)
@@ -3,12 +3,20 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-/* Raw data class for trigger and tracker chambers */
+/*$Id$*/
+
+/// \ingroup rec
+/// \class AliMUONRawData
+/// \brief Raw data class for trigger and tracker chambers
+///
+/// Raw data class for trigger and tracker chambers
 
 #include <TObject.h>
+#include <TExMap.h>
 #include "AliMUONSubEventTracker.h"
 
 class TClonesArray;
+class TArrayI;
 class AliLoader;
 class AliMUONData;
 class AliMUONDigit;
@@ -16,6 +24,8 @@ class AliMUONDDLTracker;
 class AliMUONDDLTrigger;
 class AliMUONGlobalTrigger;
 class AliMUONSubEventTrigger;
+class AliRawReader;
+class AliMUONGlobalTrigger;
 
 class AliMUONRawData : public TObject 
 {
@@ -24,27 +34,33 @@ class AliMUONRawData : public TObject
   virtual ~AliMUONRawData(void); // Destructor
     
   // write raw data
-  Int_t   WriteRawData();
+  Int_t   Digits2Raw();
+  Int_t   Raw2Digits(AliRawReader* rawReader);
 
-  AliMUONData*   GetMUONData() {return fMUONData;}
+  Int_t ReadTrackerDDL(AliRawReader* rawReader);
+  Int_t ReadTriggerDDL(AliRawReader* rawReader);
 
-  Int_t GetPrintLevel(void) const {return fPrintLevel;}
-  void SetPrintLevel(Int_t printLevel) {fPrintLevel = printLevel;}
+  AliMUONData*   GetMUONData() {return fMUONData;}
 
-  void AddData1(const AliMUONSubEventTracker* event) {
-    TClonesArray &temp = *fSubEventArray[0];
+  void AddData(const AliMUONSubEventTracker* event) {
+    TClonesArray &temp = *fSubEventArray;
     new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event); 
   }
 
-  void AddData2(const AliMUONSubEventTracker* event) {
-    TClonesArray &temp = *fSubEventArray[1];
-    new(temp[temp.GetEntriesFast()])AliMUONSubEventTracker(*event); 
-  }
 
-  void GetDummyMapping(Int_t iCh, Int_t iCath, const AliMUONDigit* digit, Int_t &busPatchId,
+  // could be private function (public for debugging)
+  Int_t GetInvMapping(const AliMUONDigit* digit, Int_t &busPatchId,
                       UShort_t &manuId, UChar_t &channelId);
 
+  Int_t GetMapping(Int_t buspatchId, UShort_t manuId, 
+                         UChar_t channelId, AliMUONDigit* digit );
+
+
   Int_t GetGlobalTriggerPattern(const AliMUONGlobalTrigger* gloTrg);
+  AliMUONGlobalTrigger* GetGlobalTriggerPattern(Int_t gloTrg);
+
+  Int_t GetDEfromBus(Int_t busPatchId);
+  TArrayI* GetBusfromDE(Int_t idDE);
 
  protected:
   AliMUONRawData();                  // Default constructor
@@ -52,32 +68,28 @@ class AliMUONRawData : public TObject
   AliMUONRawData& operator=(const AliMUONRawData& rhs); // assignment operator
 
  private:
-  static const Int_t fgkDefaultPrintLevel;     // Default print level
 
   AliMUONData*  fMUONData;           //! Data container for MUON subsystem 
-
-  Int_t         fPrintLevel;         // print level
  
-  Int_t         fDebug;              // debug
-
   AliLoader*    fLoader;             //! alice loader
-
  
-  FILE*         fFile1;              //! DDL binary file pointer one per 1/2 chamber
-  FILE*         fFile2;              //! DDL binary file pointer one per 1/2 chamber
+  FILE*         fFile[2];            //! DDL binary file pointer one per 1/2 chamber
 
-  TClonesArray* fSubEventArray[2];   //! array to sub event tracker
-  
-  TClonesArray* fSubEventTrigArray[2]; //! array to sub event trigger
+  TClonesArray* fSubEventArray;   //! array to sub event tracker
+   
   AliMUONDDLTracker* fDDLTracker;      //! DDL tracker class pointers
   AliMUONDDLTrigger* fDDLTrigger;      //! DDL trigger class pointers
 
+  TExMap fDetElemIdToBusPatch;
+  TExMap fBusPatchToDetElem;
+
   // writing raw data
   Int_t WriteTrackerDDL(Int_t iCh);
   Int_t WriteTriggerDDL();
 
-  ClassDef(AliMUONRawData,0) // MUON cluster reconstructor in ALICE
+  void  ReadBusPatchFile();
+
+  ClassDef(AliMUONRawData,1) // MUON cluster reconstructor in ALICE
 };
        
 #endif