ddb6cd38ddbc20f43d0a8fd35dd2830614099b76
[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 //  Supervising class for reconstruction
10 //*--
11 //*-- Author: Gines Martinez & Yves Schutz (SUBATECH) 
12 //*--         Dmitri Peressounko (SUBATECH & Kurchatov Institute)
13
14 // --- ROOT system ---
15
16 #include "TTask.h"
17 class AliPHOSDigitizer ;
18 class AliPHOSClusterizer ;
19 class AliPHOSTrackSegmentMaker ;
20 class AliPHOSPID ;
21 class AliPHOSSDigitizer ;
22
23 // --- Standard library ---
24
25 // --- AliRoot header files ---
26
27 class AliPHOSReconstructioner : public TTask {
28
29 public:
30
31   AliPHOSReconstructioner() ; //ctor            
32   AliPHOSReconstructioner(const char * headreFile) ;
33   AliPHOSReconstructioner(const AliPHOSReconstructioner & rec) {
34     // cpy ctor: 
35     // requested by the Coding Convention
36     abort() ; 
37   }
38    
39   virtual ~AliPHOSReconstructioner() ;
40
41   virtual void Exec(Option_t * option) ;
42
43   AliPHOSDigitizer         * GetDigitizer()  { return fDigitizer   ; }
44   AliPHOSClusterizer       * GetClusterizer(){ return fClusterizer ; }
45   AliPHOSPID               * GetPID()        { return fPID;          }
46   AliPHOSTrackSegmentMaker * GetTSMaker()    { return fTSMaker ;     }
47   AliPHOSSDigitizer        * GetSDigitizer() { return fSDigitizer  ; }
48
49   void Print(Option_t * option)const ;
50   
51   void SetBranchTitle(const char* branch,const char * title) ;
52             // Sets files, to which branch will be written 
53
54   void StartFrom(Option_t * option = "AliPHOSSDigitizer") ;
55             // From wich step reconstruction begins
56
57   AliPHOSReconstructioner & operator = (const AliPHOSReconstructioner & rvalue)  {
58     // assignement operator requested by coding convention but not needed
59     abort() ;
60     return *this ; 
61   }
62   
63
64 private:
65   void Init() ;  
66
67 private:
68   
69   TString  fHeaderFileName ;    // File with headers and gAlice
70   TString  fDigitsBranch ;      // Title of digits branch
71   TString  fRecPointBranch ;    // -"-      RecPoints     -"-
72   TString  fTSBranch  ;         // -"-      TrackSegments -"-
73   TString  fRecPartBranch ;     // -"-      RecParticles  -"-
74   TString  fSDigitsBranch ;     // -"-      SDigits       -"-
75
76
77   AliPHOSDigitizer         * fDigitizer ;
78   AliPHOSClusterizer       * fClusterizer ;
79   AliPHOSPID               * fPID ;
80   AliPHOSTrackSegmentMaker * fTSMaker ;
81   AliPHOSSDigitizer        * fSDigitizer ;
82
83   Bool_t   fIsInitialized ;
84  
85   ClassDef(AliPHOSReconstructioner,1)  // Reconstruction algorithm class (Base Class)
86
87 }; 
88
89 #endif // ALIPHOSRECONSTRUCTIONER_H