X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSClusterizer.h;h=f424056f30dbb6f86236224c5125f4ea34d44fd5;hb=184bcc16e057d9c6b9510ca1ff46bb7ef23bec45;hp=d6c6bdcc7d7610a0afad6de4dc9ecb8703589226;hpb=d72dfbc38713834ede0f4d3c38af4798b6f23fa8;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSClusterizer.h b/PHOS/AliPHOSClusterizer.h index d6c6bdcc7d7..f424056f30d 100644 --- a/PHOS/AliPHOSClusterizer.h +++ b/PHOS/AliPHOSClusterizer.h @@ -5,55 +5,84 @@ /* $Id$ */ -//_________________________________________________________________________ -// Base class for the clusterization algorithm (pure abstract) -//*-- Author: Yves Schutz (SUBATECH) +/* History of cvs commits: + * + * $Log$ + * Revision 1.39 2006/03/30 13:04:56 hristov + * AliRawReader is not persistent + * + * Revision 1.38 2005/07/25 15:53:09 kharlov + * Set raw data reader + * + * Revision 1.37 2005/05/28 14:19:04 schutz + * Compilation warnings fixed by T.P. + * + */ +//_________________________________________________________________________ +// Base class for the clusterization algorithm +//*-- Author: Yves Schutz (SUBATECH) & Dmitri Peressounko (SUBATECH & Kurchatov Institute) // --- ROOT system --- -#include "TObject.h" -#include "TClonesArray.h" +#include "TTask.h" +#include "AliConfig.h" +#include "AliRawReaderFile.h" + +class TFile ; // --- Standard library --- // --- AliRoot header files --- -#include "AliPHOSDigit.h" -#include "AliPHOSRecPoint.h" - -class AliPHOSClusterizer : public TObject { +class AliPHOSClusterizer : public TTask { public: - AliPHOSClusterizer() ; // ctor + AliPHOSClusterizer() ; // default ctor + AliPHOSClusterizer(const TString alirunFileName, const TString eventFolderName = AliConfig::GetDefaultEventFolderName()) ; + AliPHOSClusterizer(const AliPHOSClusterizer & clusterizer); virtual ~AliPHOSClusterizer() ; // dtor + virtual Float_t GetEmcClusteringThreshold()const {Warning("GetEmcClusteringThreshold", "Not Defined" ) ; return 0. ; } + virtual Float_t GetEmcLocalMaxCut()const {Warning("GetEmcLocalMaxCut", "Not Defined" ) ; return 0. ; } + virtual Float_t GetEmcLogWeight()const {Warning("GetEmcLogWeight", "Not Defined" ) ; return 0. ; } + virtual Float_t GetEmcTimeGate() const {Warning("GetEmcTimeGate", "Not Defined" ) ; return 0. ; } ; + virtual Float_t GetCpvClusteringThreshold()const {Warning("GetCpvClusteringThreshold", "Not Defined" ) ; return 0. ; } + virtual Float_t GetCpvLocalMaxCut()const {Warning("GetCpvLocalMaxCut", "Not Defined" ) ; return 0. ; } + virtual Float_t GetCpvLogWeight()const {Warning("GetCpvLogWeight", "Not Defined" ) ; return 0. ; } + virtual Int_t GetRecPointsInRun() const {Warning("GetRecPointsInRun", "Not Defined" ) ; return 0 ; } + + virtual void MakeClusters() {Warning("MakeClusters", "Not Defined" ) ; } + virtual void Print(const Option_t * = "")const {Warning("Print", "Not Defined" ) ; } - 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) = 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 SetEmcClusteringThreshold(Float_t) = 0; + virtual void SetEmcLocalMaxCut(Float_t ) = 0; + + virtual void SetEmcLogWeight(Float_t) = 0; + virtual void SetEmcTimeGate(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; + void SetEventRange(Int_t first=0, Int_t last=-1) {fFirstEvent=first; fLastEvent=last; } + void SetEventFolderName(TString name) { fEventFolderName = name ; } + void SetRawReader(AliRawReader *reader) {fRawReader = reader;} + + TString GetEventFolderName() const {return fEventFolderName;} + Int_t GetFirstEvent() const {return fFirstEvent; } + Int_t GetLastEvent() const {return fLastEvent; } + AliRawReader *GetRawReader() const {return fRawReader; } + + AliPHOSClusterizer & operator = (const AliPHOSClusterizer & /*rvalue*/) {return *this ;} - ClassDef(AliPHOSClusterizer,1) // Clusterization algorithm class (abstract base class) + virtual const char * Version() const {Warning("Version", "Not Defined" ) ; return 0 ; } + +protected: + TString fEventFolderName ; // event folder name + Int_t fFirstEvent; // first event to process + Int_t fLastEvent; // last event to process + AliRawReader *fRawReader; //! reader of raw data + + ClassDef(AliPHOSClusterizer,4) // Clusterization algorithm class } ;