]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONClusterReconstructor.h
Protection against not accessible input OCDB (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONClusterReconstructor.h
index b084ca27f7ea7904efac6fc92524e85b38ca824e..7dad6abc2b44c915141a64a5b344e8f2957347a6 100644 (file)
@@ -8,47 +8,46 @@
 
 /// \ingroup rec
 /// \class AliMUONClusterReconstructor
-/// \brief MUON cluster reconstructor in ALICE
+/// \brief Steering class for clusterizing MUON tracking chambers
 
 #include <TObject.h>
 
-class AliMUONClusterFinderVS;
-class AliMUONData;
-class TClonesArray;
+class AliMUONVClusterFinder;
+class AliMUONGeometryTransformer;
+class AliMUONVClusterStore;
+class AliMUONVDigitStore;
 
 class AliMUONClusterReconstructor : public TObject 
 {
  public:
-  AliMUONClusterReconstructor(AliMUONData* data = 0x0); // Constructor
+  AliMUONClusterReconstructor(AliMUONVClusterFinder* finder = 0x0,
+                              const AliMUONGeometryTransformer* transformer = 0x0
+                              ); 
+
   virtual ~AliMUONClusterReconstructor(void); // Destructor
 
  
-  // Cluster Finding & Trigger
-  virtual void   Digits2Clusters(Int_t chBeg = 0);
-  virtual void   Trigger2Trigger() ;
-
-//  // pointer to data container
-//  AliMUONData*   GetMUONData() {return fMUONData;}
-  // Reco Model
-  AliMUONClusterFinderVS* GetRecoModel() {return fRecModel;}
-
-  void SetRecoModel(AliMUONClusterFinderVS* rec);
-
+  // Cluster Finding 
+  virtual void Digits2Clusters(const AliMUONVDigitStore& digitStore, AliMUONVClusterStore& clusterStore);
+  
  protected:
+  /// Not implemented
   AliMUONClusterReconstructor (const AliMUONClusterReconstructor& rhs); // copy constructor
+  /// Not implemented
   AliMUONClusterReconstructor& operator=(const AliMUONClusterReconstructor& rhs); // assignment operator
 
-  void ClusterizeOneDE(Int_t detElemId);
-  
- private:
+  void ClusterizeOneDE(Int_t detElemId, const AliMUONVDigitStore& digitStore);
 
-  AliMUONData*            fMUONData;           //! Data container for MUON subsystem 
-  AliMUONClusterFinderVS* fRecModel;           //! cluster recontruction model
+private:
+  AliMUONVClusterFinder* fClusterFinder; //!< the object doing the real clustering job (not owner)  
 
-  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)
+  
+  AliMUONVClusterStore* fClusterStore; //!< not owner
+  
+  Int_t fNCluster; //!< number of clusters in the cluster store (used to define the cluster ID)
   
-  ClassDef(AliMUONClusterReconstructor,0) // MUON cluster reconstructor in ALICE
+  ClassDef(AliMUONClusterReconstructor,0) // Clustering steering
 };
        
 #endif