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