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