Temporary: do not link AliHLTMUON.so
[u/mrichter/AliRoot.git] / ANALYSIS / AliTrackPoints.h
CommitLineData
a5556ea5 1#ifndef AliTrackPoints_H
2#define AliTrackPoints_H
3//_________________________________
4////////////////////////////////////////////////////////////
5// //
6// class AliTrackPoints //
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
18class AliTPCtrack;
19class AliESDtrack;
20
21class AliTrackPoints: public TObject
22{
23 public:
344295f7 24 typedef enum
0f0355ab 25 {//defines the type and the track points are calculated
26 kITS = 1,//points calculated in ITS, made out of the vector at vertex
27 kITSInnerFromVertexOuterFromTPC //for ITS, for 3 inner layers calculated out of the vector at vertex
28 // for 3 outer ---------------//------------------ at inner TPC
344295f7 29 } ETypes;
78d7c6d3 30
a5556ea5 31 AliTrackPoints();
0f0355ab 32 AliTrackPoints(AliTrackPoints::ETypes type, AliESDtrack* track, Float_t mf);
a5556ea5 33 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,
78d7c6d3 34 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,
a5556ea5 35
36 virtual ~AliTrackPoints();
a5556ea5 37
38 Double_t AvarageDistance(const AliTrackPoints& tr);
39 void PositionAt(Int_t n, Float_t &x, Float_t &y, Float_t &z);
78d7c6d3 40 void Move(Float_t x, Float_t y, Float_t z);
afbed925 41 Int_t GetN() const {return fN;}
78d7c6d3 42
a5556ea5 43 Int_t GetDebug() const {return fgDebug;}
44 void SetDebug(Int_t deblevel){fgDebug = deblevel;}
78d7c6d3 45 static void Testtpc(Int_t entr);
46 static void Testesd(Int_t entr,const char* fname = "AliESDs.root");
5b49024d 47 void Print(Option_t* /*option*/ = "") const;
48
a5556ea5 49 protected:
50 void MakePoints( Float_t dr, Float_t r0, Double_t x, Double_t* par, Double_t c, Double_t alpha);
78d7c6d3 51 void MakeITSPoints(AliESDtrack* track);
0f0355ab 52 void MakeITSPointsInnerFromVertexOuterFromTPC(AliESDtrack* track,Float_t mf);
78d7c6d3 53
a5556ea5 54 private:
af250cbf 55 AliTrackPoints(const AliTrackPoints& in);
56 AliTrackPoints& operator=(const AliTrackPoints& in);
57
a5556ea5 58 Int_t fN;//number of points
59 Float_t* fX;//[fN]positions at x
60 Float_t* fY;//[fN]positions at y
61 Float_t* fZ;//[fN] positions at z
62// Float_t* fR;//! [fN] radii
63 static Int_t fgDebug;//! debug level
64 ClassDef(AliTrackPoints,1)
65};
66#endif