Track points are moved according to vertex position so vertex is in (0,0,0)
[u/mrichter/AliRoot.git] / HBTAN / AliHBTTrackPoints.h
1 #ifndef ALIHBTTRACKPOINTS_H
2 #define ALIHBTTRACKPOINTS_H
3 //_________________________________
4 ////////////////////////////////////////////////////////////
5 //                                                        //
6 // class AliHBTTrackPoints                                //
7 //                                                        //
8 // used by Anti-Merging cut                               //
9 // contains set of poits the lay on track trajectory      //
10 // according to reconstructed track parameters -          //
11 // NOT CLUSTERS POSITIONS!!!                              //
12 // Anti-Merging cut is applied only on tracks coming from //
13 // different events (that are use to fill deniminators)   //
14 //                                                        //
15 ////////////////////////////////////////////////////////////
16 #include <TObject.h>
17
18 class AliTPCtrack;
19 class AliESDtrack;
20
21 class AliHBTTrackPoints: public TObject
22 {
23   public:
24     enum ETypes{kITS = 1};
25
26     AliHBTTrackPoints();
27     AliHBTTrackPoints(Int_t n, AliTPCtrack* track, Float_t dr=30, Float_t r0 = 84.1); //min TPC R  = 84.1; max TPC R =  246.6cm, 
28     AliHBTTrackPoints(Int_t n, AliESDtrack* track, Float_t mf, Float_t dr=30,Float_t r0 = 84.1); //min TPC R  = 84.1; max TPC R =  246.6cm, 
29     AliHBTTrackPoints(AliHBTTrackPoints::ETypes type, AliESDtrack* track);
30     AliHBTTrackPoints(const AliHBTTrackPoints& in);
31     
32     virtual ~AliHBTTrackPoints();
33     AliHBTTrackPoints& operator=(const AliHBTTrackPoints& in);
34     
35     Double_t AvarageDistance(const AliHBTTrackPoints& tr);
36     void PositionAt(Int_t n, Float_t &x, Float_t &y, Float_t &z);
37     void Move(Float_t x, Float_t y, Float_t z);
38
39     Int_t GetDebug() const {return fgDebug;}
40     void  SetDebug(Int_t deblevel){fgDebug = deblevel;} 
41     static void testtpc(Int_t entr);
42     static void testesd(Int_t entr,const char* fname = "AliESDs.root");
43
44   protected:
45     void MakePoints( Float_t dr, Float_t r0, Double_t x, Double_t* par, Double_t c, Double_t alpha);
46     void MakeITSPoints(AliESDtrack* track);
47     
48   private:
49     Int_t    fN;//number of points
50     Float_t* fX;//[fN]positions at x
51     Float_t* fY;//[fN]positions at y
52     Float_t* fZ;//[fN] positions at z
53 //    Float_t* fR;//! [fN] radii
54     static Int_t fgDebug;//! debug level
55     ClassDef(AliHBTTrackPoints,1)
56 };
57 #endif