]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSTrackSegmentMaker.h
Still fixing AliITSsimulationSSD.h for missing AliITSTableSSD's.
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegmentMaker.h
index 60aa76ed4bf9b16cc50501b84d41d065951ec52a..1a8efd570c4c28937594d8fd21b7aa9725fb9e74 100644 (file)
@@ -5,46 +5,51 @@
 
 /* $Id$ */
 
-///////////////////////////////////////////////////
-//  Subtrackin class for PHOS                    //
-//  Version SUBATECH                             //
-//  Author Dmitri Peressounko RRC Ki             //
-//     comment: finds pairs of clusters EMC+PPSD //  
-//              performs unfolding.              //
-///////////////////////////////////////////////////
+//_________________________________________________________________________
+// Algorithm Base class to construct PHOS track segments
+// Associates EMC and PPSD clusters
+// Unfolds the EMC cluster   
+//                  
+//*-- Author: Dmitri Peressounko (RRC Kurchatov Institute  & SUBATECH)
 
 // --- ROOT system ---
+#include "TTask.h"
+
 
 // --- Standard library ---
 
 // --- AliRoot header files ---
 
-#include "TObjArray.h"
-#include "AliPHOSClusterizer.h"
-#include "AliPHOSEmcRecPoint.h"
-#include "AliPHOSPpsdRecPoint.h"
 
-typedef TObjArray TrackSegmentsList ;
+class AliPHOSClusterizer ;
+class AliPHOSGeometry ;
 
-class  AliPHOSTrackSegmentMaker : public TObject {
+class  AliPHOSTrackSegmentMaker : public TTask {
 
 public:
 
   AliPHOSTrackSegmentMaker() ;                     
+  AliPHOSTrackSegmentMaker(const char* headerFile, const char* name) ;                     
   
-  virtual ~ AliPHOSTrackSegmentMaker(){}  // dtor
-
-  virtual void MakeTrackSegments(DigitsList * DL, RecPointsList * emcl, RecPointsList * ppsdl, TrackSegmentsList * trsl ) = 0  ; 
-                                         // does the job
-  virtual void SetMaxEmcPpsdDistance(Float_t r){ fR0 = r ;}
-  virtual void SetUnfoldFlag() ;
-  virtual void UnsetUnfoldFlag() ; 
-
-private:
-
-  Float_t fR0 ;
-
-  ClassDef( AliPHOSTrackSegmentMaker,1)  // subtracking implementation , version 1
+  virtual ~ AliPHOSTrackSegmentMaker(){
+    // dtor 
+  } 
+
+  virtual void    Exec(Option_t * option) = 0 ;
+  virtual char*   GetRecPointsBranch ()const = 0 ;
+  virtual char*   GetTrackSegmentsBranch ()const = 0 ;
+  virtual const Int_t GetTrackSegmentsInRun()  const = 0 ; 
+
+  virtual void    Print(Option_t * option)const = 0;
+  //  virtual void Set...   // method to choose recPoints: along z only, along x ...???
+  //  virtual void SetChoosingAlgirithm() = 0 ;
+  //  virtual void SetMaxEmcCpvDistance(Float_t r) = 0 ; 
+  virtual void SetRecPointsBranch(const char * title) = 0 ;
+  virtual void SetTrackSegmentsBranch(const char * title) = 0 ;
+  virtual const char * Version() const = 0 ;   
+  virtual void WriteTrackSegments(Int_t event) = 0 ;
+  
+  ClassDef( AliPHOSTrackSegmentMaker,1)    // Algorithm class to make PHOS track segments (Base Class)
 
 };