]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSTrackSegmentMaker.h
Elaborating split mode to write data only to the split files
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegmentMaker.h
index 367738bdc5a119f7fc6421bbefa05eab2606dc80..8bbbc178ce3372b4b721011b92d5de09cb111749 100644 (file)
 // Associates EMC and PPSD clusters
 // Unfolds the EMC cluster   
 //                  
-//*-- Author: Dmitri Peressounko (RRC Ki & SUBATECH)
+//*-- Author: Dmitri Peressounko (RRC Kurchatov Institute  & SUBATECH)
 
 // --- ROOT system ---
+#include "TTask.h"
+class TFile ; 
 
 // --- Standard library ---
+#include <iostream.h>
 
 // --- AliRoot header files ---
 
-#include "TObjArray.h"
-#include "AliPHOSDigit.h"
-#include "AliPHOSRecPoint.h"
-#include "AliPHOSIndexToObject.h"
-#include "AliPHOSTrackSegment.h"
 
-class  AliPHOSTrackSegmentMaker : public TObject {
+class AliPHOSClusterizer ;
+class AliPHOSGeometry ;
+
+class  AliPHOSTrackSegmentMaker : public TTask {
 
 public:
 
   AliPHOSTrackSegmentMaker() ;                     
+  AliPHOSTrackSegmentMaker(const char* headerFile, const char* name, const Bool_t toSplit) ;                     
   
-  virtual ~ AliPHOSTrackSegmentMaker(){
-    // dtor 
-  } 
-
-  virtual void MakeTrackSegments(DigitsList * DL, 
-                                AliPHOSRecPoint::RecPointsList * emcl, 
-                                AliPHOSRecPoint::RecPointsList * ppsdl,
-                                AliPHOSTrackSegment::TrackSegmentsList * trsl ) = 0 ; // does the job
-  virtual void SetMaxEmcPpsdDistance(Float_t r) = 0 ; 
-  virtual void SetUnfoldFlag() = 0 ;
-  virtual void UnsetUnfoldFlag() = 0 ;
+  virtual ~ AliPHOSTrackSegmentMaker() ;
+
+  virtual void    Exec(Option_t * option){cout << "Not Defined" << endl ; } 
+  //  virtual char*   GetRecPointsBranch ()const{cout << "Not Defined" << endl ; return 0 ; } 
+  //  virtual char*   GetTrackSegmentsBranch ()const{cout << "Not Defined" << endl ; return 0 ; } 
+  virtual const Int_t GetTrackSegmentsInRun()  const {cout << "Not Defined" << endl ; return 0 ; } 
+
+  virtual void    Print(Option_t * option)const {cout << "Not Defined" << endl ; }  
+  //  virtual void Set...   // method to choose recPoints: along z only, along x ...???
+  //  virtual void SetChoosingAlgirithm(){cout << "Not Defined" << endl ; return 0 ; } 
+  //  virtual void SetMaxEmcCpvDistance(Float_t r) {cout << "Not Defined" << endl ; return 0 ; } 
+  //  virtual void SetRecPointsBranch(const char * title){cout << "Not Defined" << endl ; } 
+  //  virtual void SetTrackSegmentsBranch(const char * title){cout << "Not Defined" << endl ; } 
+  //  virtual void SetSplitFile(const TString splitFileName = "PHOS.RecData.root") const ; 
+  virtual const char * Version() const {cout << "Not Defined" << endl ; return 0 ; }   
+  virtual void WriteTrackSegments(Int_t event){cout << "Not Defined" << endl ; } 
   
- protected:
+protected:
   
-  Int_t                  fNTrackSegments ; // number of track segments found 
-  AliPHOSGeometry      * fGeom ;           // pointer to PHOS geometry  
-  AliPHOSIndexToObject * fPlease ;         //
+  TFile * fSplitFile ;             //! file in which TrackSegments will eventually be stored
+  Bool_t  fToSplit ;               //! Do we work in the split mode
 
   ClassDef( AliPHOSTrackSegmentMaker,1)    // Algorithm class to make PHOS track segments (Base Class)