]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONClusterReconstructor.h
Updated list of MUON libraries
[u/mrichter/AliRoot.git] / MUON / AliMUONClusterReconstructor.h
index 7b1ac5b9e3645e2df33dc279922d69e3f3e6cc15..5f9670dcd12b4f47c18f156f8eb6c27a6ef53157 100644 (file)
@@ -6,68 +6,56 @@
 /*$Id$*/
 // Revision of includes 07/05/2004
 
-////////////////////////////////////
-// MUON event reconstructor in ALICE
-////////////////////////////////////
+/// \ingroup rec
+/// \class AliMUONClusterReconstructor
+/// \brief MUON cluster reconstructor in ALICE
 
 #include <TObject.h>
-#include "AliMUONClusterFinderVS.h" //AZ
 
-class AliLoader;
-class AliMUON;
-class AliMUONRawCluster;
-//AZ class AliMUONClusterFinderVS;
-class AliMUONData;
-class AliRawReader;
+class AliMUONClusterFinderVS;
+class AliMUONRecData;
+class TClonesArray;
+class AliMUONVClusterFinder;
+class AliMUONGeometryTransformer;
 
 class AliMUONClusterReconstructor : public TObject 
 {
  public:
-  AliMUONClusterReconstructor(AliLoader* loader, AliMUONData* data = 0x0); // Constructor
+  AliMUONClusterReconstructor(AliMUONRecData* data = 0x0,
+                              AliMUONVClusterFinder* finder = 0x0,
+                              const AliMUONGeometryTransformer* transformer = 0x0
+                              ); 
   virtual ~AliMUONClusterReconstructor(void); // Destructor
 
-  // Interface with AliMUONData
-  virtual void       SetTreeAddress(){};
-    
   // Cluster Finding & Trigger
-  virtual void   Digits2Clusters();
+  virtual void   Digits2Clusters(Int_t chBeg = 0);
   virtual void   Trigger2Trigger() ;
 
-  // pointer to data container
-  AliMUONData*   GetMUONData() {return fMUONData;}
-  // Reco Model
+  /// Return cluster recontruction model
   AliMUONClusterFinderVS* GetRecoModel() {return fRecModel;}
-  //  AliMUONClusterFinderAZ* GetRecoModel() {return fRecModel;}
-  //AZ void   SetRecoModel(AliMUONClusterFinderVS* rec) {fRecModel = rec;}
-  void   SetRecoModel(AliMUONClusterFinderVS* rec) {if (fRecModel) delete fRecModel; fRecModel = rec;} //AZ
-  //  void   SetRecoModel(AliMUONClusterFinderAZ* rec) {fRecModel = rec;}
 
-  // print level
-  Int_t GetPrintLevel(void) const {return fPrintLevel;}
-  void SetPrintLevel(Int_t printLevel) {fPrintLevel = printLevel;}
+  void SetRecoModel(AliMUONClusterFinderVS* rec);
 
  protected:
-  AliMUONClusterReconstructor();                  // Default constructor
+  /// Not implemented
   AliMUONClusterReconstructor (const AliMUONClusterReconstructor& rhs); // copy constructor
+  /// Not implemented
   AliMUONClusterReconstructor& operator=(const AliMUONClusterReconstructor& rhs); // assignment operator
 
- private:
-  static const Int_t fgkDefaultPrintLevel;     // Default print level
-
-  AliMUONData*            fMUONData;           //! Data container for MUON subsystem 
-  AliMUONClusterFinderVS* fRecModel;           //! cluster recontruction model
-  //AliMUONClusterFinderAZ* fRecModel;           //! cluster recontruction model
-
- // print level
-  Int_t fPrintLevel;
-
-  // debug
-  Int_t fDebug;
+  void ClusterizeOneDE(Int_t detElemId);
+  void ClusterizeOneDEV2(Int_t detElemId);
   
-  // alice loader
-  AliLoader* fLoader;
-
+private:
+  AliMUONVClusterFinder* fClusterFinder; //!< the object doing the real job (not owner)  
+  AliMUONRecData*         fMUONData;           //!< Data container for MUON subsystem 
+  AliMUONClusterFinderVS* fRecModel;           //!< cluster recontruction model
 
+  TClonesArray* fDigitsCath0; //!< digits for cathode 0 of the current DE
+  TClonesArray* fDigitsCath1; //!< digits for cathode 1 of the current DE
+  
+  const AliMUONGeometryTransformer* fTransformer; //!< to go from local to global (not owner)
+    
   ClassDef(AliMUONClusterReconstructor,0) // MUON cluster reconstructor in ALICE
 };