]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONClusterReconstructor.h
New definition and implementation of bus patch class,
[u/mrichter/AliRoot.git] / MUON / AliMUONClusterReconstructor.h
index 087c85f12d5a1c8e92506dbb64c0c29e302681d3..40cc7a0e655ef3de3404d47989536eb1109959bd 100644 (file)
@@ -9,57 +9,52 @@
 /// \ingroup rec
 /// \class AliMUONClusterReconstructor
 /// \brief MUON cluster reconstructor in ALICE
-///
-/////////////////////////////////////
-/// MUON event reconstructor in ALICE
-/////////////////////////////////////
 
 #include <TObject.h>
-#include "AliMUONClusterFinderVS.h" //AZ
 
-class AliLoader;
-class AliMUON;
-class AliMUONRawCluster;
-//AZ class AliMUONClusterFinderVS;
+class AliMUONClusterFinderVS;
 class AliMUONData;
-class AliRawReader;
+class TClonesArray;
+class AliMUONVClusterFinder;
+class AliMUONGeometryTransformer;
 
 class AliMUONClusterReconstructor : public TObject 
 {
  public:
-  AliMUONClusterReconstructor(AliLoader* loader, AliMUONData* data = 0x0); // Constructor
+  AliMUONClusterReconstructor(AliMUONData* data = 0x0,
+                              AliMUONVClusterFinder* finder = 0x0,
+                              const AliMUONGeometryTransformer* transformer = 0x0
+                              ); 
   virtual ~AliMUONClusterReconstructor(void); // Destructor
 
  
   // 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
   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;}
 
+  void SetRecoModel(AliMUONClusterFinderVS* rec);
 
  protected:
-  AliMUONClusterReconstructor();                  // Default constructor
+
   AliMUONClusterReconstructor (const AliMUONClusterReconstructor& rhs); // copy constructor
   AliMUONClusterReconstructor& operator=(const AliMUONClusterReconstructor& rhs); // assignment operator
 
- private:
-
-  AliMUONData*            fMUONData;           //! Data container for MUON subsystem 
-  AliMUONClusterFinderVS* fRecModel;           //! cluster recontruction model
-  //AliMUONClusterFinderAZ* fRecModel;           //! cluster recontruction model
-
-  // alice loader
-  AliLoader* fLoader;
-
-
+  void ClusterizeOneDE(Int_t detElemId);
+  void ClusterizeOneDEV2(Int_t detElemId);
+  
+private:
+  AliMUONVClusterFinder* fClusterFinder; //!< the object doing the real job (not owner)  
+  AliMUONData*            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
 };