Merge branch 'master' of
[u/mrichter/AliRoot.git] / HMPID / HMPIDrec / AliHMPIDTracker.h
d3da6dc4 1#ifndef AliHMPIDTracker_h
2#define AliHMPIDTracker_h
4#include <AliTracker.h> //base class
3c6274c1 5#include "AliHMPID.h" //Recon()
6#include <AliRun.h> //Recon()
423554a3 7#include <TF1.h> //field
496c71b0 8#include <TObjArray.h> //field
423554a3 9//.
10// HMPID base class fo tracking
af885e0f 13class AliESDEvent; //Recon()
451299f3 14class AliESDtrack; //IntTrkCha()
496c71b0 15class AliHMPIDtrack;
658bcad4 16class AliHMPIDRecoParamV1;
79439569 17class TTreeSRedirector;
451299f3 18
d3da6dc4 19class AliHMPIDTracker : public AliTracker
94b1fbfa 22 AliHMPIDTracker();
79439569 23 virtual ~AliHMPIDTracker();// {delete fClu;}
d3da6dc4 24//framework part
3c6274c1 25 AliCluster *GetCluster (Int_t )const {return 0;} //pure virtual from AliTracker
26 Bool_t GetTrackPoint (Int_t idx,AliTrackPoint &pt)const; // from AliTracker
af885e0f 27 Int_t Clusters2Tracks(AliESDEvent * ) {return 0;} //pure virtual from AliTracker
3c6274c1 28 Int_t LoadClusters (TTree *pCluTr ); //pure virtual from AliTracker
af885e0f 29 Int_t PropagateBack (AliESDEvent *pEsd ); //pure virtual from AliTracker
30 Int_t RefitInward (AliESDEvent * ) {return 0;} //pure virtual from AliTracker
3c6274c1 31 void UnloadClusters ( ) { } //pure virtual from AliTracker
c1af14f7 32 void FillClusterArray(TObjArray* array) const; // from AliTracker
d3da6dc4 33//private part
39cd22e6 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
496c71b0 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
3e630437 37 Int_t Recon (AliESDEvent *pEsd,TObjArray *pClus,TObjArray *pNmean=0,TObjArray *pQthre=0);//do actual job, returns status code
b7a2d22d 38 Int_t ReconFromKin (AliESDEvent *pEsd,TObjArray *pClus,TObjArray *pNmean=0,TObjArray *pQthre=0);//do actual job, returns status code
3e630437 39 Int_t ReconHiddenTrk(AliESDEvent *pEsd,TObjArray *pClus,TObjArray *pNmean=0,TObjArray *pQthre=0);//do actual job with Hidden Track Algorithm
8f05fd11 40
496c71b0 41
d3da6dc4 42protected:
496c71b0 43 TObjArray *fClu; //! each chamber holds it's one list of clusters
79439569 44 TTreeSRedirector *fDebugStreamer; //!debug streamer
8f05fd11 46//
48 AliHMPIDTracker(const AliHMPIDTracker& r); //dummy copy constructor
49 AliHMPIDTracker &operator=(const AliHMPIDTracker& r); //dummy assignment operator
94b1fbfa 51ClassDef(AliHMPIDTracker,0)
d3da6dc4 52};//class AliHMPIDTracker
3c6274c1 53//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3c6274c1 54
d3da6dc4 55