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