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