Modifications of AliMath.cxx, AliMath.h, AliVertex.cxx, AliVertex.h
[u/mrichter/AliRoot.git] / RALICE / AliTrack.h
CommitLineData
d88f97cc 1#ifndef ALITRACK_H
2#define ALITRACK_H
959fbac5 3
3da30618 4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* $Id$ */
8
959fbac5 9
d88f97cc 10#include "TObject.h"
11#include "TObjArray.h"
12
959fbac5 13#include "AliSignal.h"
d88f97cc 14#include "AliBoost.h"
959fbac5 15#include "AliPosition.h"
d88f97cc 16
17class AliTrack : public TObject,public Ali4Vector
18{
19 public:
20 AliTrack(); // Default constructor
21 ~AliTrack(); // Destructor
22 void Reset(); // Reset all values to 0
23 void Set4Momentum(Ali4Vector& p); // Set track 4-momentum
24 void Set3Momentum(Ali3Vector& p); // Set track 3-momentum
959fbac5 25 void SetMass(Double_t m,Double_t dm=0); // Set particle mass and error
d88f97cc 26 void SetCharge(Float_t q); // Set particle charge
27 void Info(TString f="car"); // Print track information for coord. frame f
28 void List(TString f="car"); // Print track and decay level 1 information for coord. frame f
29 void ListAll(TString f="car"); // Print track and all decay level information for coord. frame f
30 Ali3Vector Get3Momentum(); // Provide track 3-momentum
31 Double_t GetMomentum(); // Provide value of track 3-momentum
32 Double_t GetMass(); // Provide particle mass
33 Float_t GetCharge(); // Provide particle charge
34 Double_t GetEnergy(); // Provide particle total energy
35 void Decay(Double_t m1,Double_t m2,Double_t thcms,Double_t phicms); // Perform 2-body decay
36 Int_t GetNdecay(); // Provide number of decay products
37 AliTrack* GetDecayTrack(Int_t j); // Access to decay produced track number j
959fbac5 38 void AddSignal(AliSignal& s); // Relate an AliSignal to this track
39 void RemoveSignal(AliSignal& s); // Remove related AliSignal from this track
40 Int_t GetNsignals(); // Provide number of related AliSignals
41 AliSignal* GetSignal(Int_t j); // Access to the related AliSignal number j
42 void SetBeginPoint(AliPosition p);// Set the track begin-point
43 AliPosition GetBeginPoint(); // Provide the track begin-point
44 void SetEndPoint(AliPosition p); // Set the track end-point
45 AliPosition GetEndPoint(); // Provide the track end-point
d88f97cc 46
47 protected:
959fbac5 48 Float_t fQ; // The charge of the particle
49 Int_t fNdec; // The number of decay products
50 TObjArray* fDecays; // The array of decay produced tracks
51 Int_t fNsig; // The number of related AliSignals
52 TObjArray* fSignals; // The array of related AliSignals
53 AliPosition fBegin; // The begin-point of the track
54 AliPosition fEnd; // The end-point of the track
d88f97cc 55
56 private:
57 void Dump(AliTrack* t,Int_t n,TString f); // Recursively print all decay levels
58
959fbac5 59 ClassDef(AliTrack,1) // Handling of the attributes of a reconstructed particle track.
d88f97cc 60};
61#endif