ROOT logo
#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$ */

/* History of cvs commits:
 *
 * $Log$
 * Revision 1.43  2007/08/28 12:55:08  policheh
 * Loaders removed from the reconstruction code (C.Cheshkov)
 *
 * Revision 1.42  2007/08/07 14:12:03  kharlov
 * Quality assurance added (Yves Schutz)
 *
 * Revision 1.41  2007/07/11 13:43:30  hristov
 * New class AliESDEvent, backward compatibility with the old AliESD (Christian)
 *
 * Revision 1.40  2006/08/29 11:41:19  kharlov
 * Missing implementation of ctors and = operator are added
 *
 * 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 <TObject.h>
class TTree;

// --- AliRoot header files ---
class AliPHOSGeometry ;
class AliESDEvent ;

class  AliPHOSTrackSegmentMaker : public TObject {

public:

  AliPHOSTrackSegmentMaker();
  AliPHOSTrackSegmentMaker(AliPHOSGeometry *geom);
  AliPHOSTrackSegmentMaker(const AliPHOSTrackSegmentMaker & tsmaker) ;
  virtual ~ AliPHOSTrackSegmentMaker() ;
  AliPHOSTrackSegmentMaker & operator = (const AliPHOSTrackSegmentMaker & /*rvalue*/)  {
    Fatal("operator =", "not implemented") ; return *this ; }

  virtual void   Clusters2TrackSegments(Option_t *option) = 0;

  void    SetInput(TTree *clustersTree);

  virtual void    Print(const Option_t * = "")const {Warning("Print", "Not Defined" ) ; }

  void SetESD(AliESDEvent *esd) { fESD = esd; }

  AliESDEvent *GetESD()             const {return fESD;            }

  virtual TClonesArray * GetTrackSegments() const = 0;

protected:

  AliESDEvent * fESD;              //! ESD object
  AliPHOSGeometry *fGeom;           //! Pointer to the PHOS geometry
  TObjArray *fEMCRecPoints;         //  Array with the EMC clusters
  TObjArray *fCPVRecPoints;         //  Array with the CPV clusters

  ClassDef( AliPHOSTrackSegmentMaker,6)  // Algorithm class to make PHOS track segments (Base Class)
};

#endif // ALIPHOSTRACKSEGMENTMAKER_H
 AliPHOSTrackSegmentMaker.h:1
 AliPHOSTrackSegmentMaker.h:2
 AliPHOSTrackSegmentMaker.h:3
 AliPHOSTrackSegmentMaker.h:4
 AliPHOSTrackSegmentMaker.h:5
 AliPHOSTrackSegmentMaker.h:6
 AliPHOSTrackSegmentMaker.h:7
 AliPHOSTrackSegmentMaker.h:8
 AliPHOSTrackSegmentMaker.h:9
 AliPHOSTrackSegmentMaker.h:10
 AliPHOSTrackSegmentMaker.h:11
 AliPHOSTrackSegmentMaker.h:12
 AliPHOSTrackSegmentMaker.h:13
 AliPHOSTrackSegmentMaker.h:14
 AliPHOSTrackSegmentMaker.h:15
 AliPHOSTrackSegmentMaker.h:16
 AliPHOSTrackSegmentMaker.h:17
 AliPHOSTrackSegmentMaker.h:18
 AliPHOSTrackSegmentMaker.h:19
 AliPHOSTrackSegmentMaker.h:20
 AliPHOSTrackSegmentMaker.h:21
 AliPHOSTrackSegmentMaker.h:22
 AliPHOSTrackSegmentMaker.h:23
 AliPHOSTrackSegmentMaker.h:24
 AliPHOSTrackSegmentMaker.h:25
 AliPHOSTrackSegmentMaker.h:26
 AliPHOSTrackSegmentMaker.h:27
 AliPHOSTrackSegmentMaker.h:28
 AliPHOSTrackSegmentMaker.h:29
 AliPHOSTrackSegmentMaker.h:30
 AliPHOSTrackSegmentMaker.h:31
 AliPHOSTrackSegmentMaker.h:32
 AliPHOSTrackSegmentMaker.h:33
 AliPHOSTrackSegmentMaker.h:34
 AliPHOSTrackSegmentMaker.h:35
 AliPHOSTrackSegmentMaker.h:36
 AliPHOSTrackSegmentMaker.h:37
 AliPHOSTrackSegmentMaker.h:38
 AliPHOSTrackSegmentMaker.h:39
 AliPHOSTrackSegmentMaker.h:40
 AliPHOSTrackSegmentMaker.h:41
 AliPHOSTrackSegmentMaker.h:42
 AliPHOSTrackSegmentMaker.h:43
 AliPHOSTrackSegmentMaker.h:44
 AliPHOSTrackSegmentMaker.h:45
 AliPHOSTrackSegmentMaker.h:46
 AliPHOSTrackSegmentMaker.h:47
 AliPHOSTrackSegmentMaker.h:48
 AliPHOSTrackSegmentMaker.h:49
 AliPHOSTrackSegmentMaker.h:50
 AliPHOSTrackSegmentMaker.h:51
 AliPHOSTrackSegmentMaker.h:52
 AliPHOSTrackSegmentMaker.h:53
 AliPHOSTrackSegmentMaker.h:54
 AliPHOSTrackSegmentMaker.h:55
 AliPHOSTrackSegmentMaker.h:56
 AliPHOSTrackSegmentMaker.h:57
 AliPHOSTrackSegmentMaker.h:58
 AliPHOSTrackSegmentMaker.h:59
 AliPHOSTrackSegmentMaker.h:60
 AliPHOSTrackSegmentMaker.h:61
 AliPHOSTrackSegmentMaker.h:62
 AliPHOSTrackSegmentMaker.h:63
 AliPHOSTrackSegmentMaker.h:64
 AliPHOSTrackSegmentMaker.h:65
 AliPHOSTrackSegmentMaker.h:66
 AliPHOSTrackSegmentMaker.h:67
 AliPHOSTrackSegmentMaker.h:68
 AliPHOSTrackSegmentMaker.h:69
 AliPHOSTrackSegmentMaker.h:70
 AliPHOSTrackSegmentMaker.h:71
 AliPHOSTrackSegmentMaker.h:72
 AliPHOSTrackSegmentMaker.h:73
 AliPHOSTrackSegmentMaker.h:74
 AliPHOSTrackSegmentMaker.h:75
 AliPHOSTrackSegmentMaker.h:76
 AliPHOSTrackSegmentMaker.h:77
 AliPHOSTrackSegmentMaker.h:78
 AliPHOSTrackSegmentMaker.h:79