/* $Id$ */
-////////////////////////////////////////////////
-// Algorithme class for the reconstruction //
-// //
-// Author Gines MARTINEZ SUBATECH //
-// //
-// january 2000: added Particle guesser (YS) //
-// //
-// //
-////////////////////////////////////////////////
+//_________________________________________________________________________
+// Wrapping class for reconstruction
+//*--
+//*-- Author: Gines Martinez & Yves Schutz (SUBATECH)
+//*-- Dmitri Peressounko (SUBATECH & Kurchatov Institute)
+
+#include <stdlib.h>
// --- ROOT system ---
-#include "TObject.h"
-#include "AliPHOSClusterizer.h"
-#include "AliPHOSTrackSegmentMaker.h"
-#include "AliPHOSParticleGuesser.h"
-#include "TClonesArray.h"
+#include "TTask.h"
+class AliPHOSDigitizer ;
+class AliPHOSClusterizer ;
+class AliPHOSTrackSegmentMaker ;
+class AliPHOSPID ;
+class AliPHOSSDigitizer ;
// --- Standard library ---
// --- AliRoot header files ---
-class AliPHOSReconstructioner : public TObject {
+class AliPHOSReconstructioner : public TTask {
public:
- AliPHOSReconstructioner(); //ctor
- AliPHOSReconstructioner(AliPHOSClusterizer * Clusterizer, AliPHOSTrackSegmentMaker * Tracker,
- AliPHOSParticleGuesser * Guesser); //ctor
- ~AliPHOSReconstructioner(); // dtor
+ AliPHOSReconstructioner() ; //ctor
+ AliPHOSReconstructioner(const char * headreFile, const char * branchName = "Default",Bool_t toSplit = kFALSE) ;
+ AliPHOSReconstructioner(const AliPHOSReconstructioner & rec) {
+ // cpy ctor:
+ // requested by the Coding Convention
+ abort() ;
+ }
+
+ virtual ~AliPHOSReconstructioner() ;
+
+ virtual void Exec(Option_t * option) ;
+
+ AliPHOSDigitizer * GetDigitizer() const { return fDigitizer ; }
+ AliPHOSClusterizer * GetClusterizer()const { return fClusterizer ; }
+ AliPHOSPID * GetPID() const { return fPID; }
+ AliPHOSTrackSegmentMaker * GetTSMaker() const { return fTSMaker ; }
+ AliPHOSSDigitizer * GetSDigitizer() const { return fSDigitizer ; }
+
+ void Print(Option_t * option)const ;
+
+ // void SetBranchTitle(const char* branch,const char * title) ;
+ // // Sets the branch titles to separate different reconstruction flows
+ //
+ // void StartFrom(char * module = "SDigitizer",char * title = "Default") ;
+ // // From wich step reconstruction begins,
+ // // title to be set to all reconstructed branches
- AliPHOSClusterizer * GetClusterizer() { return fClusterizer ; }
- void Init(AliPHOSClusterizer * Clusterizer, AliPHOSTrackSegmentMaker * Tracker,
- AliPHOSParticleGuesser * Guesser) ;
- void Make(TClonesArray * DL, RecPointsList * emccl, RecPointsList * ppsdl,
- TrackSegmentsList * trsl, RecParticlesList * rpl) ; // does the job
+ AliPHOSReconstructioner & operator = (const AliPHOSReconstructioner & rvalue) {
+ // assignement operator requested by coding convention but not needed
+ abort() ;
+ return *this ;
+ }
+
+private:
+ void Init() ;
private:
- AliPHOSClusterizer * fClusterizer ; // Method for clusterization
- AliPHOSTrackSegmentMaker * fTrackSegmentMaker ; // Method for track segments finding
- AliPHOSParticleGuesser * fParticleGuesser ; // Method for guessing the type of particle
+ Bool_t fToSplit ;
+ TString fHeaderFileName ; // File with headers and gAlice
+ TString fDigitsBranch ; // Title of digits branch
+ TString fRecPointBranch ; // Title of RecPoints branch
+ TString fTSBranch ; // Title of TrackSegments branch
+ TString fRecPartBranch ; // Title of RecParticles branch
+ TString fSDigitsBranch ; // Title of SDigits branch
+
+
+ AliPHOSDigitizer * fDigitizer ; //! Pointer to AliPHOSDigitizer
+ AliPHOSClusterizer * fClusterizer ; //! Pointer to AliPHOSClusterizer
+ AliPHOSPID * fPID ; //! Pointer to AliPHOSPID
+ AliPHOSTrackSegmentMaker * fTSMaker ; //! Pointer to AliPHOSTrackSegmentMaker
+ AliPHOSSDigitizer * fSDigitizer ; //! Pointer to AliPHOSSDigitizer
+
+ Bool_t fIsInitialized ; // kTRUE if reconstructioner is initialized
- ClassDef(AliPHOSReconstructioner,1) // Reconstruction interface , version 1
+ ClassDef(AliPHOSReconstructioner,1) // Reconstruction algorithm class (Base Class)
};