1 #ifndef AliPHOSEvalRecPoint_H
2 #define AliPHOSEvalRecPoint_H
8 #include "AliPHOSCpvRecPoint.h"
10 class AliPHOSClusterizer;
11 class AliPHOSRecPoint;
12 class AliPHOSRecManager;
15 class AliPHOSEvalRecPoint : public AliPHOSCpvRecPoint
19 AliPHOSEvalRecPoint();
20 AliPHOSEvalRecPoint(Bool_t cpv,AliPHOSEvalRecPoint* parent);
21 AliPHOSEvalRecPoint(Int_t cluster, Bool_t cpv);
22 virtual ~AliPHOSEvalRecPoint() {}
24 Bool_t TooClose(AliPHOSRecPoint* pt) const ;
25 Bool_t NeedToSplit() const ;
27 void MergeClosePoint();
28 void SplitMergedShowers();
29 Int_t UnfoldLocalMaxima();
30 void EvaluatePosition();
31 Bool_t KillWeakPoint();
33 Bool_t IsEmc(void) const { return fIsEmc; }
34 Bool_t IsCPV(void) const { return fIsCpv; }
36 void SetLocalPosition(TVector3& pos) { fLocPos=pos; }
37 void UpdateWorkingPool();
40 Int_t HasChild(TObjArray& children);
44 AliPHOSClusterizer* GetClusterizer();
45 AliPHOSRecManager* GetReconstructionManager() const;
47 void PrintPoint(Option_t* opt);
49 AliPHOSRecPoint* Parent();
50 Float_t Chi2Dof() const;
52 const TObject* GetWorkingPool();
54 void AddToWorkingPool(TObject* obj);
55 TObject* GetFromWorkingPool(Int_t i);
56 Int_t InWorkingPool();
57 void RemoveFromWorkingPool(TObject* obj);
58 void PrintWorkingPool();
60 enum RecPointType {emc,cpv};
61 void SetEventFolderName(const char* evfname);
66 void InitTwoGam(Float_t* gamma1, Float_t* gamma2);
67 void TwoGam(Float_t* gamma1, Float_t* gamma2);
68 void UnfoldTwoMergedPoints(Float_t* gamma1, Float_t* gamma2);
77 TString fEventFolderName;
79 ClassDef(AliPHOSEvalRecPoint,1)