-#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 */
/* $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 ;}
-
-private:
-
- Float_t fR0 ;
-
-public:
-
-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)
};
-#endif // AliPHOSSUBTRACKER_H
+#endif // ALIPHOSTRACKSEGMENTMAKER_H