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