]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSTrackSegmentMaker.h
Fix compiler problems
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegmentMaker.h
index 8422e73932cd5101b1d8d607fa47b285e18db36c..3a5aac85130e471e6a7ec382db5090236acc4233 100644 (file)
@@ -1,48 +1,62 @@
-#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$
+ */
+
+//_________________________________________________________________________
+// 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) : TTask(tsmaker) { ; } 
+  virtual ~ AliPHOSTrackSegmentMaker() ;
 
-  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" ) ; }
+  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; }
 
-public: 
-
-ClassDef( AliPHOSTrackSegmentMaker,1)  // subtracking implementation , version 1
+  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