]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSReconstructioner.h
11b6a7eb323ec3e070f60a1d5f3a9bf07a3aa56e
[u/mrichter/AliRoot.git] / PHOS / AliPHOSReconstructioner.h
1 #ifndef ALIPHOSRECONSTRUCTIONER_H
2 #define ALIPHOSRECONSTRUCTIONER_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 //  Wrapping class for reconstruction
10 //*--
11 //*-- Author: Gines Martinez & Yves Schutz (SUBATECH) 
12 //*--         Dmitri Peressounko (SUBATECH & Kurchatov Institute)
13
14   //#include <stdlib.h>
15
16 // --- ROOT system ---
17
18 #include "TTask.h"
19 class AliPHOSDigitizer ;
20 class AliPHOSClusterizer ;
21 class AliPHOSTrackSegmentMaker ;
22 class AliPHOSPID ;
23 class AliPHOSSDigitizer ;
24 class AliESD ;
25
26 // --- Standard library ---
27
28 // --- AliRoot header files ---
29
30 class AliPHOSReconstructioner : public TTask {
31
32 public:
33
34   AliPHOSReconstructioner() ; //ctor            
35   AliPHOSReconstructioner(const char * headreFile, const char * branchName = "Default");
36   AliPHOSReconstructioner(const AliPHOSReconstructioner & rec) : TTask(rec) {
37     // cpy ctor: 
38     // requested by the Coding Convention
39     Fatal("cpy ctor", "not implemented") ;
40   }
41    
42   virtual ~AliPHOSReconstructioner() ;
43
44   virtual void Exec(Option_t *) ;
45   void Clusters2Tracks(Int_t ievent, AliESD *event);
46
47   AliPHOSDigitizer         * GetDigitizer()  const { return fDigitizer   ; }
48   AliPHOSClusterizer       * GetClusterizer()const { return fClusterizer ; }
49   AliPHOSPID               * GetPID()        const { return fPID;          }
50   AliPHOSTrackSegmentMaker * GetTSMaker()    const { return fTSMaker ;     }
51   AliPHOSSDigitizer        * GetSDigitizer() const { return fSDigitizer  ; }
52
53   void Print()const ;
54   
55   //  void SetBranchTitle(const char* branch,const char * title) ;
56   //            // Sets the branch titles to separate different reconstruction flows 
57   //
58   //  void StartFrom(char * module = "SDigitizer",char * title = "Default") ;
59   //            // From wich step reconstruction begins, 
60   //            // title to be set to all reconstructed branches
61
62   AliPHOSReconstructioner & operator = (const AliPHOSReconstructioner & /*rvalue*/)  {
63     // assignement operator requested by coding convention but not needed
64     Fatal("operator =", "not implemented") ;
65     return *this ; 
66   }
67   
68
69 private:
70   void Init() ;  
71
72 private:
73   
74   TString  fDigitsBranch ;      // Title of digits branch
75   TString  fRecPointBranch ;    // Title of RecPoints branch   
76   TString  fTSBranch  ;         // Title of TrackSegments branch
77   TString  fRecPartBranch ;     // Title of RecParticles branch 
78   TString  fSDigitsBranch ;     // Title of SDigits branch      
79
80
81   AliPHOSDigitizer         * fDigitizer ;   //! Pointer to AliPHOSDigitizer
82   AliPHOSClusterizer       * fClusterizer ; //! Pointer to AliPHOSClusterizer
83   AliPHOSPID               * fPID ;         //! Pointer to AliPHOSPID
84   AliPHOSTrackSegmentMaker * fTSMaker ;     //! Pointer to AliPHOSTrackSegmentMaker
85   AliPHOSSDigitizer        * fSDigitizer ;  //! Pointer to AliPHOSSDigitizer
86
87   Bool_t   fIsInitialized ; // kTRUE if reconstructioner is initialized
88  
89   ClassDef(AliPHOSReconstructioner,1)  // Reconstruction algorithm class (Base Class)
90
91 }; 
92
93 #endif // ALIPHOSRECONSTRUCTIONER_H