// $Id$
-#include "TObject.h"
-#include "TObjArray.h"
-#include "TArrayD.h"
-#include "TArrayI.h"
+class TObjArray;
-#include "AliSignal.h"
-#include "AliBoost.h"
-#include "AliPositionObj.h"
-#include "AliTimestamp.h"
+class AliPosition;
+class AliPositionObj;
+class AliSignal;
+class AliTimestamp;
+#include "Ali4Vector.h"
class AliTrack : public TNamed,public Ali4Vector
{
Int_t GetNsignals(const char* classname) const; // Provide the number of selected signals
AliSignal* GetSignal(Int_t j) const; // Access to the related AliSignal number j
void SetBeginPoint(AliPosition& p); // Set the track begin-point
- AliPosition* GetBeginPoint(); // Provide the track begin-point
+ AliPosition* GetBeginPoint() const; // Provide the track begin-point
void SetEndPoint(AliPosition& p); // Set the track end-point
- AliPosition* GetEndPoint(); // Provide the track end-point
+ AliPosition* GetEndPoint() const; // Provide the track end-point
void SetReferencePoint(AliPosition& p); // Set the track reference-point for the 3-momentum vector
- AliPosition* GetReferencePoint(); // Provide the track reference-point for the 3-momentum vector
+ AliPosition* GetReferencePoint() const; // Provide the track reference-point for the 3-momentum vector
void AddTrackHypothesis(AliTrack& t); // Add track hypothesis
void AddTrackHypothesis(Double_t prob,Double_t m,Double_t dm=0); // Add track hypothesis with mass data
Int_t GetNhypotheses() const; // Provide number of track hypotheses
Double_t GetMt(Float_t scale=-1); // Provide trans. mass w.r.t. z-axis
Double_t GetRapidity(); // Provide rapidity value w.r.t. z-axis
void SetImpactPoint(AliPosition& p,TString q); // Set the impact-point in plane "q=0"
- AliPosition* GetImpactPoint(TString q); // Provide the impact-point in plane "q=0"
+ AliPosition* GetImpactPoint(TString q) const; // Provide the impact-point in plane "q=0"
void SetId(Int_t id); // Set the user defined unique track identifier
Int_t GetId() const; // Provide the user defined unique track identifier
void SetClosestPoint(AliPosition& p); // Set position p as point of closest approach w.r.t. some reference
- AliPosition* GetClosestPoint(); // Provide point of closest approach w.r.t. some reference
+ AliPosition* GetClosestPoint() const; // Provide point of closest approach w.r.t. some reference
void SetParticleCode(Int_t code); // Set the user defined particle id code (e.g. the PDF convention)
Int_t GetParticleCode() const; // Provide the user defined particle id code
- void SetParentTrack(AliTrack* t); // Set pointer to the parent track
- AliTrack* GetParentTrack(); // Provide pointer to the parent track
+ void SetParentTrack(AliTrack * const t); // Set pointer to the parent track
+ AliTrack* GetParentTrack() const; // Provide pointer to the parent track
void SetProb(Double_t prob); // Set the hypothesis probability for this track
Float_t GetProb() const; // Provide the hypothesis probability for this track
- void SetFitDetails(TObject* obj); // Enter the object containing the fit details
- void SetFitDetails(TObject& obj) { SetFitDetails(&obj); }
- TObject* GetFitDetails(); // Provide pointer to the object containing the fit details
+ void SetFitDetails(const TObject* obj); // Enter the object containing the fit details
+ void SetFitDetails(const TObject& obj) { SetFitDetails(&obj); }
+ TObject* GetFitDetails() const; // Provide pointer to the object containing the fit details
void SetTimestamp(AliTimestamp& t); // Set the track timestamp
- AliTimestamp* GetTimestamp(); // Provide the track timestamp
+ AliTimestamp* GetTimestamp() const; // Provide the track timestamp
void RemoveTimestamp(); // Remove timestamp from this track
- Double_t GetDistance(AliPosition* p,Float_t scale=-1); // Provide distance to position p
+ Double_t GetDistance(AliPosition* const p,Float_t scale=-1); // Provide distance to position p
Double_t GetDistance(AliPosition& p,Float_t scale=-1) { return GetDistance(&p,scale); }
- Double_t GetDistance(AliTrack* t,Float_t scale=-1); // Provide distance to track t
+ Double_t GetDistance(AliTrack* const t,Float_t scale=-1); // Provide distance to track t
Double_t GetDistance(AliTrack& t,Float_t scale=-1) { return GetDistance(&t,scale); }
void SetEscale(Float_t scale); // Set the scale of the energy-momentum units of the track
Float_t GetEscale() const; // Provide the scale of the energy-momentum units of the track
Float_t fEscale; // The scale of the energy-momentum units of the track
private:
- void Dumps(AliTrack* t,Int_t n,TString f,TString u); // Recursively print all decay levels
+
+ AliTrack& operator=(const AliTrack &); // Not implemented
+
+ void Dumps(const AliTrack* t,Int_t n,TString f,TString u); // Recursively print all decay levels
ClassDef(AliTrack,21) // Handling of the attributes of a reconstructed particle track.
};