New split libs
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALClusterizer.h
CommitLineData
483b0559 1#ifndef ALIEMCALCLUSTERIZER_H
2#define ALIEMCALCLUSTERIZER_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8//_________________________________________________________________________
9// Base class for the clusterization algorithm (pure abstract)
10//*-- Author: Yves Schutz (SUBATECH) & Dmitri Peressounko (SUBATECH & Kurchatov Institute)
05a92d59 11// Modif:
12// August 2002 Yves Schutz: clone PHOS as closely as possible and intoduction
13// of new IO (à la PHOS)
483b0559 14// --- ROOT system ---
15
16#include "TTask.h"
b481a360 17#include "AliConfig.h"
05a92d59 18
483b0559 19// --- Standard library ---
20
21// --- AliRoot header files ---
483b0559 22
23class AliEMCALClusterizer : public TTask {
24
25public:
26
27 AliEMCALClusterizer() ; // default ctor
e191bb57 28 AliEMCALClusterizer(const TString alirunFileName, const TString eventFolderName = AliConfig::GetDefaultEventFolderName()) ;
b481a360 29 virtual ~AliEMCALClusterizer() ; // dtorEM
483b0559 30
9859bfc0 31 virtual Float_t GetTowerClusteringThreshold()const {Warning("GetTowerClusteringThreshold", "Not Defined") ; return 0. ; }
32 virtual Float_t GetTowerLocalMaxCut()const {Warning("GetTowerLocalMaxCut", "Not Defined") ; return 0. ; }
33 virtual Float_t GetTowerLogWeight()const {Warning("GetTowerLogWeight", "Not Defined") ; return 0. ; }
34 virtual Float_t GetTimeGate() const {Warning("GetTimeGate", "Not Defined") ; return 0. ; }
9859bfc0 35 virtual const char * GetRecPointsBranch() const {Warning("GetRecPointsBranch", "Not Defined") ; return 0 ; }
36 virtual const Int_t GetRecPointsInRun() const {Warning("GetRecPointsInRun", "Not Defined") ; return 0 ; }
37 virtual const char * GetDigitsBranch() const {Warning("GetDigitsBranch", "Not Defined") ; return 0 ; }
483b0559 38
fdebddeb 39 virtual void MakeClusters() const {Warning("MakeClusters", "Not Defined") ; }
9e5d2067 40 virtual void Print(Option_t * /*option*/)const {Warning("Print", "Not Defined") ; }
483b0559 41
9e5d2067 42 virtual void SetECAClusteringThreshold(Float_t) = 0;
43 virtual void SetECALocalMaxCut(Float_t) = 0;
44 virtual void SetECALogWeight(Float_t) = 0;
9e5d2067 45 virtual void SetTimeGate(Float_t) = 0;
9e5d2067 46 virtual void SetUnfolding(Bool_t) = 0;
12c4dd95 47 void SetEventRange(Int_t first=0, Int_t last=-1) {fFirstEvent=first; fLastEvent=last; }
48 void SetEventFolderName(TString name) { fEventFolderName = name ; }
49
50 AliEMCALClusterizer & operator = (const AliEMCALClusterizer & /*rvalue*/) {return *this ;}
51
9859bfc0 52 virtual const char * Version() const {Warning("Version", "Not Defined") ; return 0 ; }
483b0559 53
839828a6 54protected:
88cb7938 55 TString fEventFolderName ; // event folder name
12c4dd95 56 Int_t fFirstEvent; // first event to process
57 Int_t fLastEvent; // last event to process
839828a6 58
fdebddeb 59 ClassDef(AliEMCALClusterizer,4) // Clusterization algorithm class
483b0559 60
61} ;
62
63#endif // AliEMCALCLUSTERIZER_H