#include "AliL3RootTypes.h"
+class AliL3Vertex;
+
class AliL3Track {
private:
protected:
static Float_t BFACT;
- static Float_t bField;
static Double_t pi;
public:
virtual ~AliL3Track();
virtual void Set(AliL3Track* track);
+ virtual Int_t Compare(const AliL3Track *track) const;
+ virtual void CalculateHelix();
- Bool_t CalculateReferencePoint(Double_t angle);//Calculate Reference Point
+ Bool_t CalculateReferencePoint(Double_t angle,Double_t radius=132);//Calculate Reference Point
Bool_t CalculateEdgePoint(Double_t angle);//Calculate crossing point with line
Bool_t CalculatePoint(Double_t xplane);//Calculate crossing point with X-plane
Bool_t IsPoint() {return fIsPoint;}
- void CalculateHelix();
Double_t GetCrossingAngle(Int_t padrow);
Bool_t GetCrossingPoint(Int_t padrow,Float_t *xyz);
Double_t GetDistance(Double_t x0,Double_t x1){return 0;}
- void Rotate(Int_t slice);
+ void GetClosestPoint(AliL3Vertex *vertex,Double_t &closest_x,Double_t &closest_y,Double_t &closest_z);
+ void Rotate(Int_t slice,Bool_t tolocal=kFALSE);
Bool_t IsLocal() {return fIsLocal;}
// getter
Double_t GetPhi0() const {return fPhi0;}
Double_t GetPsi() const {return fPsi;}
Double_t GetR0() const {return fR0;}
- Double_t GetZ0() const {return fZ0;}
-
+ Double_t GetZ0() const {return fFirstPoint[2];}
+ //Double_t GetZ0() const {return fZ0;}
+
Double_t GetKappa() const { return fKappa;}
Double_t GetRadius() const { return fRadius;}
Double_t GetCenterX() const { return fCenterX;}
Double_t GetCenterY() const { return fCenterY;}
- Int_t GetNHits() {return fNHits;}
+ Int_t GetNHits() const {return fNHits;}
Int_t GetNumberOfPoints() const {return fNHits;}
Bool_t ComesFromMainVertex() const { return fFromMainVertex;}
Double_t GetP() const;
Double_t GetPseudoRapidity() const;
- Double_t GetEta() const;
+ //Double_t GetEta() const;
Double_t GetRapidity() const;
Int_t GetCharge() const { return fQ;}
UInt_t *GetHitNumbers() {return fHitNumbers;}
// setter
+
void SetMCid(Int_t f) {fMCid = f;}
void SetFirstPoint(Double_t f,Double_t g,Double_t h) {fFirstPoint[0]=f; fFirstPoint[1]=g; fFirstPoint[2]=h;}
void SetLastPoint(Double_t f,Double_t g,Double_t h) {fLastPoint[0]=f; fLastPoint[1]=g; fLastPoint[2]=h;}
void SetPsi(Double_t f) {fPsi = f;}
void SetR0(Double_t f) {fR0 = f;}
void SetTgl(Double_t f) {fTanl =f;}
- void SetZ0(Double_t f) {fZ0 = f;}
+ //void SetZ0(Double_t f) {fZ0 = f;}
+ void SetZ0(Double_t f) {fFirstPoint[2] = f;}
void SetPt(Double_t f) {fPt = f;}
void SetLength(Double_t f) {fLength = f;}
void SetPterr(Double_t f) {fPterr = f;}
void ComesFromMainVertex(Bool_t f) { fFromMainVertex = f; }
- ClassDef(AliL3Track,1) //Conformal mapping track class
+ ClassDef(AliL3Track,1) //Base track class
};
#endif