]> 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 ed9224a2767514c2a03ddc90a1c6c6fd97386ae2..7dad6abc2b44c915141a64a5b344e8f2957347a6 100644 (file)
@@ -4,68 +4,50 @@
  * See cxx source for full Copyright notice                               */
 
 /*$Id$*/
+// Revision of includes 07/05/2004
 
-////////////////////////////////////
-// MUON event reconstructor in ALICE
-////////////////////////////////////
-#include "TObjArray.h"
-#include "AliDetector.h"
+/// \ingroup rec
+/// \class AliMUONClusterReconstructor
+/// \brief Steering class for clusterizing MUON tracking chambers
 
-class AliLoader;
-class AliMUON;
-class AliMUONChamber;
-class AliMUONRawCluster;
-class AliMUONClusterFinderVS;
-class AliMUONData;
+#include <TObject.h>
 
+class AliMUONVClusterFinder;
+class AliMUONGeometryTransformer;
+class AliMUONVClusterStore;
+class AliMUONVDigitStore;
 
-class AliMUONClusterReconstructor : public TObject {
-
+class AliMUONClusterReconstructor : public TObject 
+{
  public:
-  AliMUONClusterReconstructor(AliLoader* ); // Constructor
-  virtual ~AliMUONClusterReconstructor(void); // Destructor
-  AliMUONClusterReconstructor (const AliMUONClusterReconstructor& ); // copy constructor
-  AliMUONClusterReconstructor& operator=(const AliMUONClusterReconstructor& ); // assignment operator
-
-  // Interface with AliMUONData
-  virtual void       SetTreeAddress(){};
-    
-  // Cluster Finding & Trigger
-  virtual void   Digits2Clusters();
+  AliMUONClusterReconstructor(AliMUONVClusterFinder* finder = 0x0,
+                              const AliMUONGeometryTransformer* transformer = 0x0
+                              ); 
 
+  virtual ~AliMUONClusterReconstructor(void); // Destructor
 
-  // void EventDump(void);  // dump reconstructed event
-  
-  // Set Reconstruction Model
-  virtual void   SetReconstructionModel(Int_t id, AliMUONClusterFinderVS* );
  
-  AliMUONData*   GetMUONData() {return fMUONData;}
-
-  Int_t GetPrintLevel(void) const {return fPrintLevel;}
-  void SetPrintLevel(Int_t PrintLevel) {fPrintLevel = PrintLevel;}
-
+  // 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
 
- private:
-  static const Int_t fgkDefaultPrintLevel;     // Default print level
-
-  Int_t                   fNCh;                // Number of chambers   
-  Int_t                   fNTrackingCh;        // Number of tracking chambers*
-  AliMUONData*            fMUONData;           //! Data container for MUON subsystem 
-  AliMUON*                fMUON;               //! pointer to MUON  
-  TObjArray*              fChambers;           //! List of Tracking Chambers
+  void ClusterizeOneDE(Int_t detElemId, const AliMUONVDigitStore& digitStore);
 
- // print level
-  Int_t fPrintLevel;
+private:
+  AliMUONVClusterFinder* fClusterFinder; //!< the object doing the real clustering job (not owner)  
 
-  // debug
-  Int_t fDebug;
+  const AliMUONGeometryTransformer* fTransformer; //!< to go from local to global (not owner)
   
-  // alice loader
-  AliLoader* fLoader;
-
-
-  ClassDef(AliMUONClusterReconstructor,0) // MUON cluster reconstructor in ALICE
+  AliMUONVClusterStore* fClusterStore; //!< not owner
+  
+  Int_t fNCluster; //!< number of clusters in the cluster store (used to define the cluster ID)
+  
+  ClassDef(AliMUONClusterReconstructor,0) // Clustering steering
 };
        
 #endif