ROOT logo
#ifndef AliHMPIDTracker_h
#define AliHMPIDTracker_h

#include <AliTracker.h> //base class
#include "AliHMPID.h"   //Recon()
#include <AliRun.h>     //Recon()
#include <TF1.h>        //field
#include <TObjArray.h>        //field
//.
// HMPID base class fo tracking
//.

class AliESDEvent;      //Recon()     
class AliESDtrack;      //IntTrkCha()
class AliHMPIDtrack;
class AliHMPIDRecoParamV1;
class TTreeSRedirector;

class AliHMPIDTracker : public AliTracker
{
public:
           AliHMPIDTracker();
  virtual ~AliHMPIDTracker();//                                            {delete fClu;}
//framework part  
         AliCluster *GetCluster     (Int_t                      )const  {return 0;} //pure virtual from AliTracker 
         Bool_t      GetTrackPoint  (Int_t idx,AliTrackPoint &pt)const;             //             from AliTracker  
         Int_t       Clusters2Tracks(AliESDEvent *                   )       {return 0;} //pure virtual from AliTracker 
         Int_t       LoadClusters   (TTree *pCluTr              );                  //pure virtual from AliTracker   
         Int_t       PropagateBack  (AliESDEvent *pEsd               );                  //pure virtual from AliTracker   
         Int_t       RefitInward    (AliESDEvent *                   )       {return 0;} //pure virtual from AliTracker 
         void        UnloadClusters (                           )       {         } //pure virtual from AliTracker 
         void        FillClusterArray(TObjArray* array) const;                              //             from AliTracker 
//private part  
  static Int_t       IntTrkCha     (AliESDtrack *pTrk,Float_t &xPc,Float_t &yPc,Float_t &xRa,Float_t &yRa,Float_t &theta,Float_t &phi);//find track-PC intersection, retuns chamber ID
  static Int_t       IntTrkCha     (Int_t ch,AliHMPIDtrack *pTrk,Float_t &xPc,Float_t &yPc,Float_t &xRa,Float_t &yRa,Float_t &theta,Float_t &phi);//find track-PC intersection, retuns chamber ID

         Int_t       Recon         (AliESDEvent *pEsd,TObjArray *pClus,TObjArray *pNmean=0,TObjArray *pQthre=0);//do actual job, returns status code  
         Int_t       ReconFromKin  (AliESDEvent *pEsd,TObjArray *pClus,TObjArray *pNmean=0,TObjArray *pQthre=0);//do actual job, returns status code  
         Int_t       ReconHiddenTrk(AliESDEvent *pEsd,TObjArray *pClus,TObjArray *pNmean=0,TObjArray *pQthre=0);//do actual job with Hidden Track Algorithm    
  
  
protected:
 TObjArray            *fClu;                     //! each chamber holds it's one list of clusters 
  TTreeSRedirector *fDebugStreamer;     //!debug streamer

//
private:
  AliHMPIDTracker(const AliHMPIDTracker& r);              //dummy copy constructor
  AliHMPIDTracker &operator=(const AliHMPIDTracker& r);   //dummy assignment operator
//
ClassDef(AliHMPIDTracker,0)
};//class AliHMPIDTracker
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


#endif//AliHMPIDTracker_h
 AliHMPIDTracker.h:1
 AliHMPIDTracker.h:2
 AliHMPIDTracker.h:3
 AliHMPIDTracker.h:4
 AliHMPIDTracker.h:5
 AliHMPIDTracker.h:6
 AliHMPIDTracker.h:7
 AliHMPIDTracker.h:8
 AliHMPIDTracker.h:9
 AliHMPIDTracker.h:10
 AliHMPIDTracker.h:11
 AliHMPIDTracker.h:12
 AliHMPIDTracker.h:13
 AliHMPIDTracker.h:14
 AliHMPIDTracker.h:15
 AliHMPIDTracker.h:16
 AliHMPIDTracker.h:17
 AliHMPIDTracker.h:18
 AliHMPIDTracker.h:19
 AliHMPIDTracker.h:20
 AliHMPIDTracker.h:21
 AliHMPIDTracker.h:22
 AliHMPIDTracker.h:23
 AliHMPIDTracker.h:24
 AliHMPIDTracker.h:25
 AliHMPIDTracker.h:26
 AliHMPIDTracker.h:27
 AliHMPIDTracker.h:28
 AliHMPIDTracker.h:29
 AliHMPIDTracker.h:30
 AliHMPIDTracker.h:31
 AliHMPIDTracker.h:32
 AliHMPIDTracker.h:33
 AliHMPIDTracker.h:34
 AliHMPIDTracker.h:35
 AliHMPIDTracker.h:36
 AliHMPIDTracker.h:37
 AliHMPIDTracker.h:38
 AliHMPIDTracker.h:39
 AliHMPIDTracker.h:40
 AliHMPIDTracker.h:41
 AliHMPIDTracker.h:42
 AliHMPIDTracker.h:43
 AliHMPIDTracker.h:44
 AliHMPIDTracker.h:45
 AliHMPIDTracker.h:46
 AliHMPIDTracker.h:47
 AliHMPIDTracker.h:48
 AliHMPIDTracker.h:49
 AliHMPIDTracker.h:50
 AliHMPIDTracker.h:51
 AliHMPIDTracker.h:52
 AliHMPIDTracker.h:53
 AliHMPIDTracker.h:54
 AliHMPIDTracker.h:55
 AliHMPIDTracker.h:56