/// \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
};