5aed52a0d4b924336511e1d0d0aa4cba9ff66d1c
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDTracker.h
1 #ifndef AliHMPIDTracker_h
2 #define AliHMPIDTracker_h
3
4 #include <AliTracker.h> //base class
5 #include "AliHMPID.h"   //Recon()
6 #include <AliRun.h>     //Recon()
7 #include <TF1.h>        //field
8 //.
9 // HMPID base class fo tracking
10 //.
11
12 class AliESDEvent;      //Recon()     
13 class AliESDtrack; //IntTrkCha()
14 class AliHMPIDTracker : public AliTracker
15 {
16 public:
17            AliHMPIDTracker();
18   virtual ~AliHMPIDTracker()                                            {delete fClu;}
19 //framework part  
20          AliCluster *GetCluster     (Int_t                      )const  {return 0;} //pure virtual from AliTracker 
21          Bool_t      GetTrackPoint  (Int_t idx,AliTrackPoint &pt)const;             //             from AliTracker  
22          Int_t       Clusters2Tracks(AliESDEvent *                   )       {return 0;} //pure virtual from AliTracker 
23          Int_t       LoadClusters   (TTree *pCluTr              );                  //pure virtual from AliTracker   
24          Int_t       PropagateBack  (AliESDEvent *pEsd               );                  //pure virtual from AliTracker   
25          Int_t       RefitInward    (AliESDEvent *                   )       {return 0;} //pure virtual from AliTracker 
26          void        UnloadClusters (                           )       {         } //pure virtual from AliTracker 
27          void        FillClusterArray(TObjArray* array) const;                              //             from AliTracker 
28 //private part  
29   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
30   static Int_t       Recon         (AliESDEvent *pEsd,TObjArray *pCluAll,TObjArray *pNmean=0,TObjArray *pQthre=0);//do actual job, returns status code  
31   static Int_t       ReconHiddenTrk(Int_t iCh,Int_t iHVsec,AliESDtrack *pTrk,TClonesArray *pClus,TObjArray *pNmean, TObjArray *pQthre);//do actual job with Hidden Track Algorithm    
32   
33 protected:
34   TObjArray            *fClu;                     //! each chamber holds it's one list of clusters 
35 //
36 private:
37   AliHMPIDTracker(const AliHMPIDTracker& r);              //dummy copy constructor
38   AliHMPIDTracker &operator=(const AliHMPIDTracker& r);   //dummy assignment operator
39 //
40 ClassDef(AliHMPIDTracker,0)
41 };//class AliHMPIDTracker
42 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
43
44
45 #endif//AliHMPIDTracker_h