- virtual Float_t Calibrate(Int_t Amp) = 0 ;
- virtual Bool_t IsInEmc(AliPHOSDigit * digit)= 0 ;
- virtual void GetNumberOfClustersFound(Int_t * numb) = 0 ;
- virtual void GetCalibrationParameters(Float_t & A, Float_t &B) = 0 ;
- virtual Float_t GetEmcClusteringThreshold() = 0 ;
- virtual Float_t GetEmcEnergyThreshold() = 0 ;
- virtual Float_t GetLocalMaxCut() = 0 ;
- virtual Float_t GetLogWeightCut() = 0 ;
- virtual Float_t GetLocalMaxCutCPV() = 0 ;
- virtual Float_t GetLogWeightCutCPV() = 0 ;
- virtual Float_t GetPpsdClusteringThreshold() = 0 ;
- virtual Float_t GetPpsdEnergyThreshold() = 0 ;
-
- virtual void MakeClusters(const DigitsList * dl,
- AliPHOSRecPoint::RecPointsList * emccl,
- AliPHOSRecPoint::RecPointsList * ppsdl,
- AliPHOSRecPoint::RecPointsList * cpvl) = 0 ;
- virtual void PrintParameters() = 0 ;
- virtual void SetCalibrationParameters(Float_t A, Float_t B) = 0 ;
- virtual void SetEmcClusteringThreshold(Float_t cluth) = 0 ;
- virtual void SetEmcEnergyThreshold(Float_t enth) = 0 ;
- virtual void SetLocalMaxCut(Float_t cut) = 0 ;
- virtual void SetLogWeightCut(Float_t w) = 0 ;
- virtual void SetLocalMaxCutCPV(Float_t cut) = 0 ;
- virtual void SetLogWeightCutCPV(Float_t w) = 0 ;
- virtual void SetPpsdClusteringThreshold(Float_t cluth) = 0 ;
- virtual void SetPpsdEnergyThreshold(Float_t enth) = 0 ;
- virtual void SetCpvClusteringThreshold(Float_t cluth) = 0 ;
- virtual void SetCpvEnergyThreshold(Float_t enth) = 0 ;
-
- ClassDef(AliPHOSClusterizer,1) // Clusterization algorithm class (abstract base class)
+ virtual void Digits2Clusters(Option_t *option) = 0;
+ virtual Float_t GetEmcClusteringThreshold()const = 0;
+ virtual Float_t GetEmcLocalMaxCut()const = 0;
+ virtual Float_t GetEmcLogWeight()const = 0;
+ virtual Float_t GetCpvClusteringThreshold()const = 0;
+ virtual Float_t GetCpvLocalMaxCut()const = 0;
+ virtual Float_t GetCpvLogWeight()const = 0;
+
+ virtual void Print(const Option_t * = "") const = 0;
+
+ virtual void SetEmcClusteringThreshold(Float_t) = 0;
+ virtual void SetEmcLocalMaxCut(Float_t ) = 0;
+
+ virtual void SetEmcLogWeight(Float_t) = 0;
+ virtual void SetCpvClusteringThreshold(Float_t) = 0;
+ virtual void SetCpvLocalMaxCut(Float_t) = 0;
+ virtual void SetCpvLogWeight(Float_t) = 0;
+ virtual void SetUnfolding(Bool_t) = 0;
+
+ virtual const char * Version() const = 0;
+
+ virtual void SetInput(TTree *digitsTree);
+ virtual void SetOutput(TTree *clustersTree);
+
+protected:
+
+ static AliPHOSCalibData * fgCalibData ; //! Calibration database if aval.
+ AliPHOSGeometry *fGeom; // Pointer to PHOS geometry
+ TClonesArray *fDigitsArr; // Array with input digits
+ TTree *fTreeR; // Tree with output clusters
+ TObjArray *fEMCRecPoints; // Array with EMC clusters
+ TObjArray *fCPVRecPoints; // Array with CPV clusters
+
+private:
+ AliPHOSClusterizer(const AliPHOSClusterizer & clusterizer);
+ AliPHOSClusterizer & operator = (const AliPHOSClusterizer &clusterer);
+
+ ClassDef(AliPHOSClusterizer,5) // Clusterization algorithm class