18#include <TLorentzVector.h>
89 inline void SetIDs(Int_t
id) { fThisID = fID = id; }
99 inline Double_t
GetPx()
const {
return fP.Px(); };
104 inline Double_t
GetPy()
const {
return fP.Py(); };
109 inline Double_t
GetPz()
const {
return fP.Pz(); };
114 inline Double_t
GetE()
const {
return fP.E(); };
125 virtual void Boost(Double_t vx, Double_t vy, Double_t vz);
129 virtual void Print(Option_t* option =
"")
const;
134 inline void SetCharge(Double_t charge) { fCharge = charge; };
139 inline void SetID(Int_t
id) { fID = id; };
144 inline void SetStatus(Int_t status) { fStatus = status; };
152 inline void SetMomentum(Double_t px, Double_t py, Double_t pz, Double_t e) {
fP.SetPxPyPzE(px, py, pz, e); }
158 void EnableV0(Bool_t v0, Bool_t daughters = kTRUE);
165 void EnableXi(Bool_t xi, Bool_t daughters = kTRUE);
171 CLRBIT(fType, kPrimary);
172 if (index >= 0) SETBIT(fType, kMother);
194 virtual Int_t
GetID()
const {
return fID; };
209 inline Bool_t
IsPrimary()
const {
return TESTBIT(fType, kPrimary); };
219 inline Bool_t
IsGoodV0()
const {
return TESTBIT(fType, kV0Daughters); };
225 inline Bool_t
IsGoodXi()
const {
return TESTBIT(fType, kXiDaughters); }
230 inline Bool_t
IsGlobal()
const {
return TESTBIT(fType, kGlobal); };
247 SETBIT(fType, kGlobal);
249 CLRBIT(fType, kGlobal);
278 inline Bool_t
IsV0()
const {
return TESTBIT(fType, kV0); };
283 inline Bool_t
IsXi()
const {
return TESTBIT(fType, kXi); };
299 virtual void Clear(Option_t* opt =
"");
310 virtual void RotateZ(Double_t angle);
327 virtual Int_t
GetLinksFast(std::vector<int>& vec, Bool_t fast = kTRUE)
const;
332 virtual void SetLinks(std::vector<int>& vec);
void SetCharge(Double_t charge)
virtual Int_t GetID() const
Int_t GetHiddenInfoIndex() const
virtual void Print(Option_t *option="") const
virtual void ResetTrack(Int_t thisID=-1, Event *event=nullptr)
Track & operator=(const Track &track)=default
void EnableV0(Bool_t v0, Bool_t daughters=kTRUE)
virtual void SetLinks(std::vector< int > &vec)
Float_t GetV0IfPossible(Int_t fieldId) const
void EnableXi(Bool_t xi, Bool_t daughters=kTRUE)
void SetGlobal(Bool_t global=kTRUE)
V0Track * GetV0Info() const
Int_t GetHiddenInfoId() const
void SetMass(Double_t mass)
const TLorentzVector & GetMomentum() const
virtual void RotateZ(Double_t angle)
void TranslateLinks(const CompressionMap &map)
void SetSecondary(Bool_t parent)
TLorentzVector fP
don't stream it will be build on the fly
virtual void Boost(Double_t vx, Double_t vy, Double_t vz)
virtual void CopyData(Track *other)
void SetStatus(Int_t status)
void SetEvent(Event *event)
virtual Float_t GetFieldVal(Int_t fieldID) const
virtual TString GetFieldName(Int_t fieldID) const
Bool_t IsGoodSecondary() const
virtual void CopyAllData(Track *other)
void SetMotherIndex(Int_t index)
virtual void Clear(Option_t *opt="")
Int_t GetMotherIndex() const
XiTrack * GetXiInfo() const
std::vector< int > GetLinks() const
void SetMomentum(Double_t px, Double_t py, Double_t pz, Double_t e)
Double_t GetCharge() const
virtual Int_t GetLinksFast(std::vector< int > &vec, Bool_t fast=kTRUE) const