- virtual AliTracker* CreateTracker(AliRunLoader* )const{return new AliRICHTracker;} //interface from AliReconstructor
- virtual void Reconstruct (AliRunLoader* pRunLoader)const{AliRICHClusterFinder clus(pRunLoader); clus.Exec();}//interface from AliReconstructor
- using AliReconstructor::Reconstruct; //to get rid of virtual hidden warning
-// virtual void FillESD(AliRunLoader* pAL, AliESD* pESD) const; //virtual from AliReconstructor
-// using AliReconstructor::FillESD; //to get rid of virtual hidden warning
-protected:
+//framework part
+ AliTracker* CreateTracker (AliRunLoader* )const{return new AliRICHTracker;} //from AliReconstructor for clusters->PID
+ void Reconstruct (AliRunLoader* pAL )const; //from AliReconstruction for digits->clusters
+ void Reconstruct (AliRunLoader* pAL,AliRawReader *pRR)const; //from AliReconstruction for raws->clusters
+ virtual void FillESD (AliRunLoader* pAL,AliESD *pESD)const; //calculate pid for RICH
+ virtual void FillESD(AliRunLoader*, AliRawReader*, AliESD*) const { };
+ virtual void FillESD(AliRawReader*, TTree*, AliESD*) const { };
+ virtual void FillESD(TTree*, TTree*, AliESD*) const { };
+
+
+ using AliReconstructor::Reconstruct; //to get rid of virtual hidden warning
+
+ //private part
+ static void Dig2Clu (TClonesArray*pDigLst,TClonesArray *pCluLst,Bool_t isTryUnfold=kTRUE );//digits list -> clusters list
+ static void CluQA (AliRunLoader* pAL );//QA for clusters
+ static void CheckPR ( );//utility-> run staff for stack
+ static void FormClu (AliRICHCluster *pClu,AliRICHDigit *pDig,TClonesArray *pDigLst,TMatrixF *pDigMap);//cluster formation recursive algorithm
+ static inline AliRICHDigit* UseDig (Int_t padX,Int_t padY,TClonesArray *pDigList,TMatrixF *pDigMap );//use this pad's digit to form a cluster
+ static void Test (Bool_t isTryUnfold=kTRUE );//test digits->clusters conversion
+ static void Test (TClonesArray *pDigLst,Bool_t isTryUnfold=kTRUE );//test digits->clusters conversion
+
+ protected: