Track points are moved according to vertex position so vertex is in (0,0,0)
[u/mrichter/AliRoot.git] / HBTAN / AliHBTTrackPoints.h
index a0de4a0629b89d4bb6a39f6984f80eede051eabd..d0bf0ee6a47be8c54cd60780b3c1f360d7c8d532 100644 (file)
@@ -21,22 +21,35 @@ class AliESDtrack;
 class AliHBTTrackPoints: public TObject
 {
   public:
+    enum ETypes{kITS = 1};
+
     AliHBTTrackPoints();
-    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, 
+    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, 
+    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, 
+    AliHBTTrackPoints(AliHBTTrackPoints::ETypes type, AliESDtrack* track);
+    AliHBTTrackPoints(const AliHBTTrackPoints& in);
     
     virtual ~AliHBTTrackPoints();
+    AliHBTTrackPoints& operator=(const AliHBTTrackPoints& in);
     
     Double_t AvarageDistance(const AliHBTTrackPoints& tr);
     void PositionAt(Int_t n, Float_t &x, Float_t &y, Float_t &z);
+    void Move(Float_t x, Float_t y, Float_t z);
+
     Int_t GetDebug() const {return fgDebug;}
     void  SetDebug(Int_t deblevel){fgDebug = deblevel;} 
-    static void tp(Int_t entr);
+    static void testtpc(Int_t entr);
+    static void testesd(Int_t entr,const char* fname = "AliESDs.root");
+
   protected:
+    void MakePoints( Float_t dr, Float_t r0, Double_t x, Double_t* par, Double_t c, Double_t alpha);
+    void MakeITSPoints(AliESDtrack* track);
+    
   private:
     Int_t    fN;//number of points
-    Float_t* fX;//[fN]
-    Float_t* fY;//[fN]
-    Float_t* fZ;//[fN]
+    Float_t* fX;//[fN]positions at x
+    Float_t* fY;//[fN]positions at y
+    Float_t* fZ;//[fN] positions at z
 //    Float_t* fR;//! [fN] radii
     static Int_t fgDebug;//! debug level
     ClassDef(AliHBTTrackPoints,1)