Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
Hal::Track Class Reference

#include <Track.h>

Inheritance diagram for Hal::Track:
Hal::ComplexTrack Hal::ExpTrack Hal::McTrack Hal::VirtualTrack MyHal::TrackTemplate Hal::ExpTrackHelix HalDbg::RecoTrack HalOTF::RecoTrack Hal::SmearedTrack HalDbg::McTrack HalOTF::McTrack HalUni::UnigenTrack

Public Member Functions

 Track (const Track &track)
 
Trackoperator= (const Track &track)=default
 
void SetThisID (Int_t id)
 
Int_t GetThisID () const
 
void SetIDs (Int_t id)
 
Int_t GetHiddenInfoIndex () const
 
Double_t GetPx () const
 
Double_t GetPy () const
 
Double_t GetPz () const
 
Double_t GetE () const
 
const TLorentzVector & GetMomentum () const
 
virtual void Boost (Double_t vx, Double_t vy, Double_t vz)
 
virtual void Print (Option_t *option="") const
 
void SetCharge (Double_t charge)
 
void SetID (Int_t id)
 
void SetStatus (Int_t status)
 
void SetMomentum (Double_t px, Double_t py, Double_t pz, Double_t e)
 
void EnableV0 (Bool_t v0, Bool_t daughters=kTRUE)
 
void EnableXi (Bool_t xi, Bool_t daughters=kTRUE)
 
void SetMotherIndex (Int_t index)
 
Double_t GetMass () const
 
Double_t GetCharge () const
 
Int_t GetHiddenInfoId () const
 
virtual Int_t GetID () const
 
Int_t GetStatus () const
 
Int_t GetMotherIndex () const
 
Bool_t IsPrimary () const
 
Bool_t IsGoodSecondary () const
 
Bool_t IsGoodV0 () const
 
Bool_t IsGoodXi () const
 
Bool_t IsGlobal () const
 
V0TrackGetV0Info () const
 
XiTrackGetXiInfo () const
 
void SetGlobal (Bool_t global=kTRUE)
 
void ClearType ()
 
void SetMass (Double_t mass)
 
void SetPrimary ()
 
void SetSecondary (Bool_t parent)
 
void TranslateLinks (const CompressionMap &map)
 
Bool_t IsV0 () const
 
Bool_t IsXi () const
 
virtual void CopyData (Track *other)
 
virtual void CopyAllData (Track *other)
 
virtual void Clear (Option_t *opt="")
 
virtual void ResetTrack (Int_t thisID=-1, Event *event=nullptr)
 
virtual void RotateZ (Double_t angle)
 
EventGetEvent () const
 
std::vector< int > GetLinks () const
 
virtual Int_t GetLinksFast (std::vector< int > &vec, Bool_t fast=kTRUE) const
 
virtual void SetLinks (std::vector< int > &vec)
 
void SetEvent (Event *event)
 
virtual Float_t GetFieldVal (Int_t fieldID) const
 
virtual TString GetFieldName (Int_t fieldID) const
 

Protected Types

enum  ETrackBits {
  kPrimary = 0 , kV0 = 1 , kXi = 2 , kGlobal = 3 ,
  kMother = 4 , kV0Daughters = 5 , kXiDaughters = 6
}
 

Protected Member Functions

Float_t GetV0IfPossible (Int_t fieldId) const
 

Protected Attributes

EventfEvent
 
TLorentzVector fP
 don't stream it will be build on the fly
 
Int_t fID
 
Int_t fStatus
 
Int_t fHiddenInfo
 
Int_t fMotherID
 
Int_t fThisID
 
UInt_t fType
 
Float_t fCharge
 

Friends

class Event
 

Detailed Description

basic abstract class for storing information about tracks

Definition at line 29 of file Track.h.

Member Enumeration Documentation

◆ ETrackBits

enum Hal::Track::ETrackBits
protected

Definition at line 45 of file Track.h.

Constructor & Destructor Documentation

◆ Track() [1/2]

Hal::Track::Track ( )

Definition at line 23 of file Track.cxx.

◆ Track() [2/2]

Hal::Track::Track ( const Track & track)

copy constructor

Parameters
track

Definition at line 66 of file Track.cxx.

◆ ~Track()

Hal::Track::~Track ( )
virtual

Definition at line 31 of file Track.cxx.

Member Function Documentation

◆ Boost()

void Hal::Track::Boost ( Double_t vx,
Double_t vy,
Double_t vz )
virtual

boost this particle

Parameters
vx
vy
vz

Reimplemented in Hal::McTrack.

Definition at line 33 of file Track.cxx.

◆ Clear()

void Hal::Track::Clear ( Option_t * opt = "")
virtual

clear flags and links

Parameters

Reimplemented in Hal::ComplexTrack.

Definition at line 281 of file Track.cxx.

◆ ClearType()

void Hal::Track::ClearType ( )
inline

clear type flags

Definition at line 254 of file Track.h.

◆ CopyAllData()

void Hal::Track::CopyAllData ( Track * other)
virtual

copy all data from other track

Parameters
other

Reimplemented in Hal::ComplexTrack.

Definition at line 60 of file Track.cxx.

◆ CopyData()

void Hal::Track::CopyData ( Track * other)
virtual

copy basic data from other track does not copy event or "thisID"

Parameters
other

Reimplemented in Hal::ComplexTrack, Hal::ExpTrack, Hal::ExpTrackHelix, Hal::McTrack, and Hal::SmearedTrack.

Definition at line 40 of file Track.cxx.

◆ EnableV0()

void Hal::Track::EnableV0 ( Bool_t v0,
Bool_t daughters = kTRUE )
Parameters
v0if true mark particle as V0, otherwise mark as normal particle
daughters- true if daughters ID's are known

Definition at line 192 of file Track.cxx.

◆ EnableXi()

void Hal::Track::EnableXi ( Bool_t xi,
Bool_t daughters = kTRUE )
Parameters
xiif true mark particle as Xi, otherwise mark as normal particle
daughters- true if daughters ID's are known

Definition at line 327 of file Track.cxx.

◆ GetCharge()

Double_t Hal::Track::GetCharge ( ) const
inline
Returns
charge of track

Definition at line 184 of file Track.h.

◆ GetE()

Double_t Hal::Track::GetE ( ) const
inline
Returns
track energy

Definition at line 114 of file Track.h.

◆ GetEvent()

Event * Hal::Track::GetEvent ( ) const
inline
Returns
pointer to event that own this track

Definition at line 315 of file Track.h.

◆ GetFieldName()

TString Hal::Track::GetFieldName ( Int_t fieldID) const
virtual

return name of the track property by ID

Parameters
fieldID
Returns

Reimplemented in Hal::ComplexTrack, Hal::ExpTrack, and Hal::McTrack.

Definition at line 244 of file Track.cxx.

◆ GetFieldVal()

Float_t Hal::Track::GetFieldVal ( Int_t fieldID) const
virtual

return track property by ID, this should be positve number larger than 200 and smaller than 10000

Parameters
fieldID
Returns

Reimplemented in Hal::ComplexTrack, Hal::ExpTrack, and Hal::McTrack.

Definition at line 206 of file Track.cxx.

◆ GetHiddenInfoId()

Int_t Hal::Track::GetHiddenInfoId ( ) const
inline
Returns
id of hidden info

Definition at line 189 of file Track.h.

◆ GetHiddenInfoIndex()

Int_t Hal::Track::GetHiddenInfoIndex ( ) const
inline

return position of hiddend data

Returns

Definition at line 94 of file Track.h.

◆ GetID()

virtual Int_t Hal::Track::GetID ( ) const
inlinevirtual
Returns
track id

Definition at line 194 of file Track.h.

◆ GetLinks()

std::vector< int > Hal::Track::GetLinks ( ) const
Returns
indexes of needed other tracks /children, parent

Definition at line 78 of file Track.cxx.

◆ GetLinksFast()

Int_t Hal::Track::GetLinksFast ( std::vector< int > & vec,
Bool_t fast = kTRUE ) const
virtual

faster method for getting links

Parameters
vecvector to fill
fast- set vec at places, if fast = false use push_back
Returns
number of links

Definition at line 84 of file Track.cxx.

◆ GetMass()

Double_t Hal::Track::GetMass ( ) const
inline
Returns
mass of track

Definition at line 179 of file Track.h.

◆ GetMomentum()

const TLorentzVector & Hal::Track::GetMomentum ( ) const
inline
Returns
4-momentum

Definition at line 118 of file Track.h.

◆ GetMotherIndex()

Int_t Hal::Track::GetMotherIndex ( ) const
inline
Returns
mother index, -1 if particle has no mother

Definition at line 204 of file Track.h.

◆ GetPx()

Double_t Hal::Track::GetPx ( ) const
inline
Returns
track Px

Definition at line 99 of file Track.h.

◆ GetPy()

Double_t Hal::Track::GetPy ( ) const
inline
Returns
track Py

Definition at line 104 of file Track.h.

◆ GetPz()

Double_t Hal::Track::GetPz ( ) const
inline
Returns
track Pz

Definition at line 109 of file Track.h.

◆ GetStatus()

Int_t Hal::Track::GetStatus ( ) const
inline
Returns
track status

Definition at line 199 of file Track.h.

◆ GetThisID()

Int_t Hal::Track::GetThisID ( ) const
inline

return position of this object in array

Returns

Definition at line 83 of file Track.h.

◆ GetV0IfPossible()

Float_t Hal::Track::GetV0IfPossible ( Int_t fieldId) const
protected

returns v0 value if vo is not null

Parameters
fieldId
Returns

Definition at line 304 of file Track.cxx.

◆ GetV0Info()

V0Track * Hal::Track::GetV0Info ( ) const
Returns
pointer to standard hidden info

Definition at line 290 of file Track.cxx.

◆ GetXiInfo()

XiTrack * Hal::Track::GetXiInfo ( ) const

@returnpointer to standard hidden info

Definition at line 341 of file Track.cxx.

◆ IsGlobal()

Bool_t Hal::Track::IsGlobal ( ) const
inline
Returns
true if track is global

Definition at line 230 of file Track.h.

◆ IsGoodSecondary()

Bool_t Hal::Track::IsGoodSecondary ( ) const
inline
Returns
true if particle is secondary and mother ID is known

Definition at line 214 of file Track.h.

◆ IsGoodV0()

Bool_t Hal::Track::IsGoodV0 ( ) const
inline
Returns
true if particle is V0 and daughters ID's are known

Definition at line 219 of file Track.h.

◆ IsGoodXi()

Bool_t Hal::Track::IsGoodXi ( ) const
inline

@returntrue if particle is Xi and daughters ID's are known

Definition at line 225 of file Track.h.

◆ IsPrimary()

Bool_t Hal::Track::IsPrimary ( ) const
inline
Returns
true if track is primary, false otherwise

Definition at line 209 of file Track.h.

◆ IsV0()

Bool_t Hal::Track::IsV0 ( ) const
inline
Returns
true if particle has 3 dependencies (probably V0)

Definition at line 278 of file Track.h.

◆ IsXi()

Bool_t Hal::Track::IsXi ( ) const
inline
Returns
true if particle has 4 dependencies (probably Xi)

Definition at line 283 of file Track.h.

◆ operator=()

Track & Hal::Track::operator= ( const Track & track)
default

assignement operator

Parameters
track
Returns

◆ Print()

void Hal::Track::Print ( Option_t * option = "") const
virtual

print information about track

Definition at line 26 of file Track.cxx.

◆ ResetTrack()

void Hal::Track::ResetTrack ( Int_t thisID = -1,
Event * event = nullptr )
virtual

clean variables before filling with values overwriten in ComplexTrack

Parameters
thisID
event

Reimplemented in Hal::ComplexTrack.

Definition at line 295 of file Track.cxx.

◆ RotateZ()

void Hal::Track::RotateZ ( Double_t angle)
virtual

rotate particle in Z-axis

Parameters
angle

Reimplemented in Hal::McTrack.

Definition at line 325 of file Track.cxx.

◆ SetCharge()

void Hal::Track::SetCharge ( Double_t charge)
inline

set charge of particle

Parameters
charge

Definition at line 134 of file Track.h.

◆ SetEvent()

void Hal::Track::SetEvent ( Event * event)
inline

set event for this track

Parameters
event

Definition at line 337 of file Track.h.

◆ SetGlobal()

void Hal::Track::SetGlobal ( Bool_t global = kTRUE)
inline

mark tras as global if global is true

Parameters
global

Definition at line 245 of file Track.h.

◆ SetID()

void Hal::Track::SetID ( Int_t id)
inline

set particle id

Parameters
id

Definition at line 139 of file Track.h.

◆ SetIDs()

void Hal::Track::SetIDs ( Int_t id)
inline

set ThisID and ID simultaneously

Parameters
id

Definition at line 89 of file Track.h.

◆ SetLinks()

void Hal::Track::SetLinks ( std::vector< int > & vec)
virtual
Parameters
vecindexes of needed other tracks

Definition at line 145 of file Track.cxx.

◆ SetMass()

void Hal::Track::SetMass ( Double_t mass)

set energy in TLorentzMomentum

Parameters
mass

Definition at line 177 of file Track.cxx.

◆ SetMomentum()

void Hal::Track::SetMomentum ( Double_t px,
Double_t py,
Double_t pz,
Double_t e )
inline

set momentum

Parameters
px
py
pz
e

Definition at line 152 of file Track.h.

◆ SetMotherIndex()

void Hal::Track::SetMotherIndex ( Int_t index)
inline

set particle mother index

Parameters
index

Definition at line 170 of file Track.h.

◆ SetPrimary()

void Hal::Track::SetPrimary ( )

mark particle as primary

Definition at line 35 of file Track.cxx.

◆ SetSecondary()

void Hal::Track::SetSecondary ( Bool_t parent)

mark this particle as secondary

Parameters
parenttrue if parent iD is known

Definition at line 183 of file Track.cxx.

◆ SetStatus()

void Hal::Track::SetStatus ( Int_t status)
inline

set status of particle

Parameters
status

Definition at line 144 of file Track.h.

◆ SetThisID()

void Hal::Track::SetThisID ( Int_t id)
inline

set position id of this object (position in clones array equal to the position of original object

Parameters
id

Definition at line 78 of file Track.h.

◆ TranslateLinks()

void Hal::Track::TranslateLinks ( const CompressionMap & map)

translate links of this track into new links

Parameters
map

Definition at line 129 of file Track.cxx.

Friends And Related Symbol Documentation

◆ Event

friend class Event
friend

Definition at line 30 of file Track.h.

Member Data Documentation

◆ fCharge

Float_t Hal::Track::fCharge
protected

Definition at line 44 of file Track.h.

◆ fEvent

Event* Hal::Track::fEvent
protected

pointer to parent event

Definition at line 36 of file Track.h.

◆ fHiddenInfo

Int_t Hal::Track::fHiddenInfo
protected

Definition at line 40 of file Track.h.

◆ fID

Int_t Hal::Track::fID
protected

Definition at line 38 of file Track.h.

◆ fMotherID

Int_t Hal::Track::fMotherID
protected

Definition at line 41 of file Track.h.

◆ fP

TLorentzVector Hal::Track::fP
protected

don't stream it will be build on the fly

Definition at line 37 of file Track.h.

◆ fStatus

Int_t Hal::Track::fStatus
protected

Definition at line 39 of file Track.h.

◆ fThisID

Int_t Hal::Track::fThisID
protected

Definition at line 42 of file Track.h.

◆ fType

UInt_t Hal::Track::fType
protected

Definition at line 43 of file Track.h.


The documentation for this class was generated from the following files: