3deb8c5d732eb8f2a13f8024100bb8d0630ca6ce
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegmentMaker.h
1 #ifndef ALIPHOSTRACKSEGMENTMAKER_H
2 #define ALIPHOSTRACKSEGMENTMAKER_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 /* History of cvs commits:
9  *
10  * $Log$
11  * Revision 1.40  2006/08/29 11:41:19  kharlov
12  * Missing implementation of ctors and = operator are added
13  *
14  * Revision 1.39  2006/08/25 16:00:53  kharlov
15  * Compliance with Effective C++AliPHOSHit.cxx
16  *
17  * Revision 1.38  2005/05/28 14:19:05  schutz
18  * Compilation warnings fixed by T.P.
19  *
20  */
21
22 //_________________________________________________________________________
23 // Algorithm Base class to construct PHOS track segments
24 // Associates EMC and CPV clusters
25 // Unfolds the EMC cluster   
26 //                  
27 //*-- Author: Dmitri Peressounko (RRC Kurchatov Institute  & SUBATECH)
28
29 // --- ROOT system ---
30 #include "TTask.h"
31 #include "AliConfig.h"
32 class TFile ; 
33
34 // --- Standard library ---
35 //#include <iostream>
36
37 // --- AliRoot header files ---
38
39
40 class AliPHOSClusterizer ;
41 class AliPHOSGeometry ;
42 class AliESDEvent ;
43
44 class  AliPHOSTrackSegmentMaker : public TTask {
45
46 public:
47
48   AliPHOSTrackSegmentMaker();
49   AliPHOSTrackSegmentMaker(const TString alirunFileName, const TString eventFolderName = AliConfig::GetDefaultEventFolderName()) ;                     
50   AliPHOSTrackSegmentMaker(const AliPHOSTrackSegmentMaker & tsmaker) ;
51   virtual ~ AliPHOSTrackSegmentMaker() ;
52   AliPHOSTrackSegmentMaker & operator = (const AliPHOSTrackSegmentMaker & /*rvalue*/)  {
53     Fatal("operator =", "not implemented") ; return *this ; }
54
55   virtual Int_t GetTrackSegmentsInRun()  const {Warning("GetTrackSegmentsInRun", "Not Defined" ) ; return 0 ; } 
56
57   virtual void    Print(const Option_t * = "")const {Warning("Print", "Not Defined" ) ; }
58
59   void SetEventRange(Int_t first=0, Int_t last=-1) {fFirstEvent=first; fLastEvent=last; }
60   void SetEventFolderName(TString name) { fEventFolderName = name ; }
61   void SetESD(AliESDEvent *esd) { fESD = esd; }
62
63   TString GetEventFolderName() const {return fEventFolderName;}
64   Int_t   GetFirstEvent()      const {return fFirstEvent;     }
65   Int_t   GetLastEvent()       const {return fLastEvent;      }
66   AliESDEvent *GetESD()             const {return fESD;            }
67
68   virtual void WriteTrackSegments() = 0;
69   
70 protected:
71   TString fEventFolderName ;  // event folder name
72   Int_t   fFirstEvent;        // first event to process
73   Int_t   fLastEvent;         // last  event to process
74   AliESDEvent * fESD;              //! ESD object
75
76   ClassDef( AliPHOSTrackSegmentMaker,5)  // Algorithm class to make PHOS track segments (Base Class)
77 };
78
79 #endif // ALIPHOSTRACKSEGMENTMAKER_H