* 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 MUON cluster reconstructor in ALICE
+
+#include <TObject.h>
-class AliLoader;
-class AliMUON;
-class AliMUONChamber;
-class AliMUONRawCluster;
class AliMUONClusterFinderVS;
class AliMUONData;
+class TClonesArray;
-
-class AliMUONClusterReconstructor : public TObject {
-
+class AliMUONClusterReconstructor : public TObject
+{
public:
- AliMUONClusterReconstructor(AliLoader* ); // Constructor
+ AliMUONClusterReconstructor(AliMUONData* data = 0x0); // 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();
-
+ virtual void Digits2Clusters(Int_t chBeg = 0);
+ virtual void Trigger2Trigger() ;
- // void EventDump(void); // dump reconstructed event
-
- // Set Reconstruction Model
- virtual void SetReconstructionModel(Int_t id, AliMUONClusterFinderVS* );
-
- AliMUONData* GetMUONData() {return fMUONData;}
+// // pointer to data container
+// AliMUONData* GetMUONData() {return fMUONData;}
+ // Reco Model
+ AliMUONClusterFinderVS* GetRecoModel() {return fRecModel;}
- Int_t GetPrintLevel(void) const {return fPrintLevel;}
- void SetPrintLevel(Int_t PrintLevel) {fPrintLevel = PrintLevel;}
+ void SetRecoModel(AliMUONClusterFinderVS* rec);
protected:
-
+ void ClusterizeOneDE(Int_t detElemId);
+
private:
+ AliMUONClusterReconstructor (const AliMUONClusterReconstructor& rhs); // copy constructor
+ AliMUONClusterReconstructor& operator=(const AliMUONClusterReconstructor& rhs); // assignment operator
- 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
+ AliMUONData* fMUONData; //!< Data container for MUON subsystem
+ AliMUONClusterFinderVS* fRecModel; //!< cluster recontruction model
- // print level
- Int_t fPrintLevel;
-
- // debug
- Int_t fDebug;
+ TClonesArray* fDigitsCath0; //!< digits for cathode 0 of the current DE
+ TClonesArray* fDigitsCath1; //!< digits for cathode 1 of the current DE
- // alice loader
- AliLoader* fLoader;
-
-
ClassDef(AliMUONClusterReconstructor,0) // MUON cluster reconstructor in ALICE
};