c38eea788b0adcfa408a242b2237967f9f209036
[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 // --- 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()  const { return fDigitizer   ; }
44   AliPHOSClusterizer       * GetClusterizer()const { return fClusterizer ; }
45   AliPHOSPID               * GetPID()        const { return fPID;          }
46   AliPHOSTrackSegmentMaker * GetTSMaker()    const { return fTSMaker ;     }
47   AliPHOSSDigitizer        * GetSDigitizer() const { return fSDigitizer  ; }
48
49   void Print(Option_t * option)const ;
50   
51   void SetBranchTitle(const char* branch,const char * title) ;
52             // Sets the branch titles to separate different reconstruction flows 
53
54   void StartFrom(char * module = "SDigitizer",char * title = 0) ;
55             // From wich step reconstruction begins, 
56             // title to be set to all reconstructed branches
57
58   AliPHOSReconstructioner & operator = (const AliPHOSReconstructioner & rvalue)  {
59     // assignement operator requested by coding convention but not needed
60     abort() ;
61     return *this ; 
62   }
63   
64
65 private:
66   void Init() ;  
67
68 private:
69   
70   TString  fHeaderFileName ;    // File with headers and gAlice
71   TString  fDigitsBranch ;      // Title of digits branch
72   TString  fRecPointBranch ;    // -"-      RecPoints     -"-
73   TString  fTSBranch  ;         // -"-      TrackSegments -"-
74   TString  fRecPartBranch ;     // -"-      RecParticles  -"-
75   TString  fSDigitsBranch ;     // -"-      SDigits       -"-
76
77
78   AliPHOSDigitizer         * fDigitizer ;   // Pointer to AliPHOSDigitizer
79   AliPHOSClusterizer       * fClusterizer ; // Pointer to AliPHOSClusterizer
80   AliPHOSPID               * fPID ;         // Pointer to AliPHOSPID
81   AliPHOSTrackSegmentMaker * fTSMaker ;     // Pointer to AliPHOSTrackSegmentMaker
82   AliPHOSSDigitizer        * fSDigitizer ;  // Pointer to AliPHOSSDigitizer
83
84   Bool_t   fIsInitialized ; // kTRUE if reconstructioner is initialized
85  
86   ClassDef(AliPHOSReconstructioner,1)  // Reconstruction algorithm class (Base Class)
87
88 }; 
89
90 #endif // ALIPHOSRECONSTRUCTIONER_H