]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSTrackSegmentMaker.h
New FillESD() for raw data is added
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegmentMaker.h
index 8422e73932cd5101b1d8d607fa47b285e18db36c..8042dbb2f7855bf8ccb744116fd3b6c7c723f581 100644 (file)
@@ -1,48 +1,76 @@
-#ifndef ALIPHOSSUBTRACKER_H
-#define ALIPHOSSUBTRACKER_H
+#ifndef ALIPHOSTRACKSEGMENTMAKER_H
+#define ALIPHOSTRACKSEGMENTMAKER_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-///////////////////////////////////////////////////
-//  Subtrackin class for PHOS                    //
-//  Version SUBATECH                             //
-//  Author Dmitri Peressounko RRC Ki             //
-//     comment: finds pairs of clusters EMC+PPSD //  
-//              performs unfolding.              //
-///////////////////////////////////////////////////
+/* $Id$ */
+
+/* History of cvs commits:
+ *
+ * $Log$
+ * Revision 1.39  2006/08/25 16:00:53  kharlov
+ * Compliance with Effective C++AliPHOSHit.cxx
+ *
+ * Revision 1.38  2005/05/28 14:19:05  schutz
+ * Compilation warnings fixed by T.P.
+ *
+ */
+
+//_________________________________________________________________________
+// Algorithm Base class to construct PHOS track segments
+// Associates EMC and CPV clusters
+// Unfolds the EMC cluster   
+//                  
+//*-- Author: Dmitri Peressounko (RRC Kurchatov Institute  & SUBATECH)
 
 // --- ROOT system ---
+#include "TTask.h"
+#include "AliConfig.h"
+class TFile ; 
 
 // --- Standard library ---
+//#include <iostream>
 
 // --- AliRoot header files ---
 
-#include "TObjArray.h"
-#include "AliPHOSClusterizer.h"
-#include "AliPHOSEmcRecPoint.h"
-#include "AliPHOSPpsdRecPoint.h"
 
-typedef TObjArray TrackSegmentsList ;
+class AliPHOSClusterizer ;
+class AliPHOSGeometry ;
+class AliESD ;
 
-class  AliPHOSTrackSegmentMaker : public TObject {
+class  AliPHOSTrackSegmentMaker : public TTask {
 
 public:
 
-   AliPHOSTrackSegmentMaker() ;                     
-  
-  virtual ~ AliPHOSTrackSegmentMaker(){}  // dtor
+  AliPHOSTrackSegmentMaker();
+  AliPHOSTrackSegmentMaker(const TString alirunFileName, const TString eventFolderName = AliConfig::GetDefaultEventFolderName()) ;                     
+  AliPHOSTrackSegmentMaker(const AliPHOSTrackSegmentMaker & tsmaker) ;
+  virtual ~ AliPHOSTrackSegmentMaker() ;
+  AliPHOSTrackSegmentMaker & operator = (const AliPHOSTrackSegmentMaker & /*rvalue*/)  {
+    Fatal("operator =", "not implemented") ; return *this ; }
 
-  virtual void MakeTrackSegments(DigitsList * DL, RecPointsList * emcl, RecPointsList * ppsdl, TrackSegmentsList * trsl ) ; 
-  // does the job
-  virtual void SetMaxEmcPpsdDistance(Float_t r){ fR0 = r ;}
+  virtual Int_t GetTrackSegmentsInRun()  const {Warning("GetTrackSegmentsInRun", "Not Defined" ) ; return 0 ; } 
 
-private:
-  Float_t fR0 ;
+  virtual void    Print(const Option_t * = "")const {Warning("Print", "Not Defined" ) ; }
 
-public: 
+  void SetEventRange(Int_t first=0, Int_t last=-1) {fFirstEvent=first; fLastEvent=last; }
+  void SetEventFolderName(TString name) { fEventFolderName = name ; }
+  void SetESD(AliESD *esd) { fESD = esd; }
 
-ClassDef( AliPHOSTrackSegmentMaker,1)  // subtracking implementation , version 1
+  TString GetEventFolderName() const {return fEventFolderName;}
+  Int_t   GetFirstEvent()      const {return fFirstEvent;     }
+  Int_t   GetLastEvent()       const {return fLastEvent;      }
+  AliESD *GetESD()             const {return fESD;            }
+
+  virtual void WriteTrackSegments() = 0;
+  
+protected:
+  TString fEventFolderName ;  // event folder name
+  Int_t   fFirstEvent;        // first event to process
+  Int_t   fLastEvent;         // last  event to process
+  AliESD * fESD;              //! ESD object
 
+  ClassDef( AliPHOSTrackSegmentMaker,4)  // Algorithm class to make PHOS track segments (Base Class)
 };
 
-#endif // AliPHOSSUBTRACKER_H
+#endif // ALIPHOSTRACKSEGMENTMAKER_H