New overloaded Make(). Changes in debug printouts
[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 //  Algorithm class for the reconstruction: clusterizer
10 //                                          track segment maker
11 //                                          particle identifier   
12 //                  
13 //*-- Author: Gines Martinez & Yves Schutz (SUBATECH)
14
15 // --- ROOT system ---
16
17 #include "TObject.h"
18 #include "AliPHOSClusterizer.h"
19 #include "AliPHOSTrackSegmentMaker.h"
20 #include "AliPHOSPID.h"
21 #include "TClonesArray.h" 
22
23 // --- Standard library ---
24
25 // --- AliRoot header files ---
26
27 class AliPHOSReconstructioner : public TObject {
28
29 public:
30
31   AliPHOSReconstructioner(){} //ctor            
32   AliPHOSReconstructioner(AliPHOSClusterizer * Clusterizer, AliPHOSTrackSegmentMaker * Tracker, 
33                           AliPHOSPID * Identifier); //ctor         
34   AliPHOSReconstructioner(const AliPHOSReconstructioner & phos) {
35     // cpy ctor: no implementation yet
36     // requested by the Coding Convention
37     assert(0==1) ; 
38   }
39    
40   ~AliPHOSReconstructioner(){} // dtor
41
42   AliPHOSClusterizer * GetClusterizer() { return fClusterizer ; }
43   void Init(AliPHOSClusterizer * Clusterizer, AliPHOSTrackSegmentMaker * Tracker, 
44                           AliPHOSPID * Identifier) ;  
45   void Make(TClonesArray * DL, 
46             AliPHOSRecPoint::RecPointsList * emccl, 
47             AliPHOSRecPoint::RecPointsList * ppsdl, 
48             AliPHOSTrackSegment::TrackSegmentsList * trsl, 
49             AliPHOSRecParticle::RecParticlesList * rpl)    ; // does the job for EMC+PPSD
50   void Make(TClonesArray * DL, 
51             AliPHOSRecPoint::RecPointsList * emccl, 
52             AliPHOSRecPoint::RecPointsList * ppsdl) ;        // does the job for EMC+CPV
53
54   void SetDebugReconstruction(Bool_t deb) { fDebugReconstruction = deb; }
55
56   AliPHOSReconstructioner & operator = (const AliPHOSReconstructioner & rvalue)  {
57     // assignement operator requested by coding convention
58     // but not needed
59     assert(0==1) ;
60     return *this ; 
61   }
62   
63
64 private:
65   
66   Bool_t               fDebugReconstruction;      // For debuging of the Reconstruction procedure
67   AliPHOSClusterizer * fClusterizer ;             // Method for clusterization 
68   AliPHOSTrackSegmentMaker * fTrackSegmentMaker ; // Method for track segments finding
69   AliPHOSPID * fPID ;                             // Method for identifying the type of particle
70  
71   ClassDef(AliPHOSReconstructioner,1)  // Reconstruction algorithm class (Base Class)
72
73 }; 
74
75 #endif // ALIPHOSRECONSTRUCTIONER_H