X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=EMCAL%2FAliEMCALClusterizer.h;h=388213f078a0ad188f49a84695f8585c4b5feb15;hb=0bce2dda3a2f29a961190ab1bb7fffd03e473298;hp=b9d53ba6b9cbdeb72520ec89260e4fe7f39fb5b0;hpb=839828a6f5922f09a20ec5a5db0ce6e17d8e9793;p=u%2Fmrichter%2FAliRoot.git diff --git a/EMCAL/AliEMCALClusterizer.h b/EMCAL/AliEMCALClusterizer.h index b9d53ba6b9c..388213f078a 100644 --- a/EMCAL/AliEMCALClusterizer.h +++ b/EMCAL/AliEMCALClusterizer.h @@ -8,57 +8,54 @@ //_________________________________________________________________________ // Base class for the clusterization algorithm (pure abstract) //*-- Author: Yves Schutz (SUBATECH) & Dmitri Peressounko (SUBATECH & Kurchatov Institute) +// Modif: +// August 2002 Yves Schutz: clone PHOS as closely as possible and intoduction +// of new IO (à la PHOS) // --- ROOT system --- +#include "AliLog.h" +#include "TObject.h" +class TTree; -#include "TTask.h" -class TFile ; // --- Standard library --- // --- AliRoot header files --- -//#include "AliEMCALDigit.h" - -class AliEMCALClusterizer : public TTask { +class AliEMCALClusterizer : public TObject { public: AliEMCALClusterizer() ; // default ctor - AliEMCALClusterizer(const char * headerFile, const char * name) ; - virtual ~AliEMCALClusterizer() ; // dtor - - virtual Float_t GetEmcClusteringThreshold()const = 0 ; - virtual Float_t GetEmcLocalMaxCut()const = 0 ; - virtual Float_t GetEmcLogWeight()const = 0 ; - virtual Float_t GetTimeGate() const = 0 ; - virtual Float_t GetCpvClusteringThreshold()const = 0 ; - virtual Float_t GetCpvLocalMaxCut()const = 0 ; - virtual Float_t GetCpvLogWeight()const = 0 ; - virtual char * GetRecPointsBranch() const = 0 ; - virtual const Int_t GetRecPointsInRun() const = 0 ; - virtual char * GetDigitsBranch() const = 0 ; - - virtual void MakeClusters() = 0 ; - virtual void Print(Option_t * option)const = 0; - - virtual void SetTowerClusteringThreshold(Float_t cluth) = 0 ; - virtual void SetTowerLocalMaxCut(Float_t cut) = 0 ; - virtual void SetTowerLogWeight(Float_t w) = 0 ; - virtual void SetTimeGate(Float_t gate) = 0 ; - virtual void SetPreShoClusteringThreshold(Float_t cluth) = 0 ; - virtual void SetPreShoLocalMaxCut(Float_t cut) = 0 ; - virtual void SetPreShoLogWeight(Float_t w) = 0 ; - virtual void SetDigitsBranch(const char * title) = 0 ; - virtual void SetRecPointsBranch(const char *title) = 0 ; - void SetSplitFile(const TString splitFileName = "EMCAL.RecPoints.root") ; - virtual void SetUnfolding(Bool_t toUnfold ) = 0 ; - virtual const char * Version() const = 0 ; + virtual ~AliEMCALClusterizer() ; // dtorEM + + virtual void Digits2Clusters(Option_t *option) = 0; + + virtual Float_t GetTimeCut() const = 0; + + virtual void SetECAClusteringThreshold(Float_t) = 0; + virtual void SetECALocalMaxCut(Float_t) = 0; + virtual void SetECALogWeight(Float_t) = 0; + virtual void SetTimeCut(Float_t) = 0; + virtual void SetUnfolding(Bool_t) = 0; + + virtual const char * Version() const {Warning("Version", "Not Defined") ; return 0 ; } + + virtual void SetInput(TTree *digitsTree); + virtual void SetOutput(TTree *clustersTree); + virtual void InitParameters() { AliInfo("Overload this method."); } protected: - - TFile * fSplitFile ; //! file in which RecPoints will eventually be stored - ClassDef(AliEMCALClusterizer,1) // Clusterization algorithm class + virtual void MakeClusters() = 0; + + TClonesArray *fDigitsArr; // Array with EMCAL digits + TTree *fTreeR; // Tree with output clusters + TObjArray *fRecPoints; // Array with EMCAL clusters +private: + AliEMCALClusterizer(const AliEMCALClusterizer &); //copy ctor + AliEMCALClusterizer & operator = (const AliEMCALClusterizer &); + + ClassDef(AliEMCALClusterizer,1) // Clusterization algorithm class } ; #endif // AliEMCALCLUSTERIZER_H