]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliTrackPoints.h
Script to create a random bad channel map.
[u/mrichter/AliRoot.git] / ANALYSIS / AliTrackPoints.h
index 74bf907643c961517b40f26bba91114be6f71488..95a903d9e02527a5e2ef62a6315e171249857115 100644 (file)
@@ -21,23 +21,40 @@ class AliESDtrack;
 class AliTrackPoints: public TObject
 {
   public:
+    typedef enum
+      {//defines the type and the track points are calculated
+        kITS = 1,//points calculated in ITS, made out of the vector at vertex
+        kITSInnerFromVertexOuterFromTPC //for ITS, for 3 inner layers calculated out of the vector at vertex
+                                        //         for 3 outer ---------------//------------------ at inner TPC
+      } ETypes;
+
     AliTrackPoints();
-    AliTrackPoints(Int_t n, AliTPCtrack* track, Float_t dr=30, Float_t r0 = 84.1); //min TPC R  = 84.1; max TPC R =  246.6cm, 
+    AliTrackPoints(AliTrackPoints::ETypes type, AliESDtrack* track, Float_t mf);
     AliTrackPoints(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, 
-    AliTrackPoints(const AliTrackPoints& in);
+    AliTrackPoints(Int_t n, AliTPCtrack* track, Float_t dr=30, Float_t r0 = 84.1); //min TPC R  = 84.1; max TPC R =  246.6cm, 
     
     virtual ~AliTrackPoints();
-    AliTrackPoints& operator=(const AliTrackPoints& in);
     
     Double_t AvarageDistance(const AliTrackPoints& 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 GetN() const {return fN;}
+
     Int_t GetDebug() const {return fgDebug;}
     void  SetDebug(Int_t deblevel){fgDebug = deblevel;} 
-    static void TestTPC(Int_t entr);
-    static void TestESD(Int_t entr,const char* fname = "AliESDs.root");
+    static void Testtpc(Int_t entr);
+    static void Testesd(Int_t entr,const char* fname = "AliESDs.root");
+    void Print(Option_t* /*option*/ = "") const;
+    
   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);
+    void MakeITSPointsInnerFromVertexOuterFromTPC(AliESDtrack* track,Float_t mf);
+    
   private:
+    AliTrackPoints(const AliTrackPoints& in);
+    AliTrackPoints& operator=(const AliTrackPoints& in);
+
     Int_t    fN;//number of points
     Float_t* fX;//[fN]positions at x
     Float_t* fY;//[fN]positions at y