ROOT logo
ROOT » GEOM » GEOMPAINTER » TGeoTrack

class TGeoTrack: public TVirtualGeoTrack

 TGeoTrack - Class for user-defined tracks attached to a geometry.
             Tracks are 3D objects made of points and they store a
             pointer to a TParticle. The geometry manager holds a list
             of all tracks that will be deleted on destruction of
             gGeoManager.


Function Members (Methods)

public:
TGeoTrack()
TGeoTrack(Int_t id, Int_t pdgcode, TVirtualGeoTrack* parent = 0, TObject* particle = 0)
virtual~TGeoTrack()
voidTObject::AbstractMethod(const char* method) const
virtual Int_tAddDaughter(TVirtualGeoTrack* other)
virtual TVirtualGeoTrack*AddDaughter(Int_t id, Int_t pdgcode, TObject* particle = 0)
virtual voidAddPoint(Double_t x, Double_t y, Double_t z, Double_t t)
virtual voidAnimateTrack(Double_t tmin = 0, Double_t tmax = 5E-8, Double_t nframes = 200, Option_t* option = "/*")MENU
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidBrowse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual Int_tDistancetoPrimitive(Int_t px, Int_t py)
virtual voidDraw(Option_t* option = "")MENU
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual TVirtualGeoTrack*TVirtualGeoTrack::FindTrackWithId(Int_t id) const
TVirtualGeoTrack*TVirtualGeoTrack::GetDaughter(Int_t index) const
virtual Int_tTVirtualGeoTrack::GetDaughterId(Int_t index) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const Double_t*TVirtualGeoTrack::GetFirstPoint() const
virtual const char*TObject::GetIconName() const
Int_tTVirtualGeoTrack::GetId() const
const Double_t*TVirtualGeoTrack::GetLastPoint() const
Int_tTVirtualGeoTrack::GetLastPoint(Double_t& x, Double_t& y, Double_t& z, Double_t& t) const
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
virtual Color_tTAttMarker::GetMarkerColor() const
virtual Size_tTAttMarker::GetMarkerSize() const
virtual Style_tTAttMarker::GetMarkerStyle() const
TVirtualGeoTrack*TVirtualGeoTrack::GetMother() const
TObject*TVirtualGeoTrack::GetMotherParticle() const
virtual const char*TVirtualGeoTrack::GetName() const
Int_tTVirtualGeoTrack::GetNdaughters() const
virtual Int_tGetNpoints() const
virtual char*GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tTVirtualGeoTrack::GetParentId() const
TObject*TVirtualGeoTrack::GetParticle() const
Int_tTVirtualGeoTrack::GetPDG() const
virtual const Double_t*GetPoint(Int_t i) const
Int_tGetPoint(Double_t tof, Double_t* point, Int_t istart = 0) const
virtual Int_tGetPoint(Int_t i, Double_t& x, Double_t& y, Double_t& z, Double_t& t) const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Bool_tTVirtualGeoTrack::HasPoints() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTGeoAtt::IsActive() const
Bool_tTGeoAtt::IsActiveDaughters() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tIsFolder() const
Bool_tTVirtualGeoTrack::IsInTimeRange() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTGeoAtt::IsVisBranch() const
Bool_tTGeoAtt::IsVisContainers() const
Bool_tTGeoAtt::IsVisDaughters() const
Bool_tTGeoAtt::IsVisible() const
Bool_tTGeoAtt::IsVisLeaves() const
Bool_tTGeoAtt::IsVisOnly() const
Bool_tTGeoAtt::IsVisRaytrace() const
Bool_tTGeoAtt::IsVisStreamed() const
Bool_tTGeoAtt::IsVisTouched() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidTAttLine::Modify()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidPaint(Option_t* option = "")
virtual voidPaintCollect(Double_t time, Double_t* box)
virtual voidPaintCollectTrack(Double_t time, Double_t* box)
voidPaintMarker(Double_t* point, Option_t* option = "")
virtual voidPaintTrack(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") constMENU
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTGeoAtt::ResetAttBit(UInt_t f)
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
virtual voidTAttMarker::ResetAttMarker(Option_t* toption = "")
voidTObject::ResetBit(UInt_t f)
virtual voidResetTrack()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidTAttMarker::SaveMarkerAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t sizdef = 1)
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
Int_tSearchPoint(Double_t time, Int_t istart = 0) const
voidTGeoAtt::SetActiveDaughters(Bool_t flag = kTRUE)
voidTGeoAtt::SetActivity(Bool_t flag = kTRUE)
voidTGeoAtt::SetAttBit(UInt_t f)
voidTGeoAtt::SetAttBit(UInt_t f, Bool_t set)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetBits(Bool_t is_default = kTRUE, Bool_t is_onelevel = kFALSE, Bool_t is_all = kFALSE, Bool_t is_type = kFALSE)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTVirtualGeoTrack::SetId(Int_t id)
virtual voidTAttLine::SetLineAttributes()MENU
virtual voidTAttLine::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineStyle(Style_t lstyle)
virtual voidTAttLine::SetLineWidth(Width_t lwidth)
virtual voidTAttMarker::SetMarkerAttributes()MENU
virtual voidTAttMarker::SetMarkerColor(Color_t tcolor = 1)
virtual voidTAttMarker::SetMarkerSize(Size_t msize = 1)
virtual voidTAttMarker::SetMarkerStyle(Style_t mstyle = 1)
voidTVirtualGeoTrack::SetName(const char* name)
static voidTObject::SetObjectStat(Bool_t stat)
voidTGeoAtt::SetOptimization(Option_t* option)
voidTVirtualGeoTrack::SetParent(TVirtualGeoTrack* parent)
virtual voidTVirtualGeoTrack::SetParticle(TObject* particle)
virtual voidTVirtualGeoTrack::SetPDG(Int_t pdgcode)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidTGeoAtt::SetVisBranch()
virtual voidTGeoAtt::SetVisContainers(Bool_t flag = kTRUE)
voidTGeoAtt::SetVisDaughters(Bool_t vis = kTRUE)
virtual voidTGeoAtt::SetVisibility(Bool_t vis = kTRUE)
virtual voidTGeoAtt::SetVisLeaves(Bool_t flag = kTRUE)
virtual voidTGeoAtt::SetVisOnly(Bool_t flag = kTRUE)
voidTGeoAtt::SetVisRaytrace(Bool_t flag = kTRUE)
voidTGeoAtt::SetVisStreamed(Bool_t vis = kTRUE)
voidTGeoAtt::SetVisTouched(Bool_t vis = kTRUE)
virtual voidShowMembers(TMemberInspector& insp)
Int_tSize(Int_t& imin, Int_t& imax)
virtual voidSizeof3D() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTGeoAtt::TestAttBit(UInt_t f) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
TGeoTrack(const TGeoTrack&)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
TGeoTrack&operator=(const TGeoTrack&)

Data Members

public:
enum EGeoParticleActions { kGeoPDefault
kGeoPOnelevel
kGeoPAllDaughters
kGeoPType
kGeoPDrawn
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
enum TGeoAtt::[unnamed] { kBitMask
};
enum TGeoAtt::EGeoVisibilityAtt { kVisOverride
kVisNone
kVisThis
kVisDaughters
kVisOneLevel
kVisStreamed
kVisTouched
kVisOnScreen
kVisContainers
kVisOnly
kVisBranch
kVisRaytrace
};
enum TGeoAtt::EGeoActivityAtt { kActOverride
kActNone
kActThis
kActDaughters
};
enum TGeoAtt::EGeoOptimizationAtt { kUseBoundingBox
kUseVoxels
kUseGsord
};
enum TGeoAtt::EGeoSavePrimitiveAtt { kSavePrimitiveAtt
kSaveNodesAtt
};
private:
Int_tfNpointsnumber of stored points
Double_t*fPoints[fNpoints] array of points (x,y,z,t) belonging to this track
Int_tfPointsSizecapacity of points array

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGeoTrack()
-*-*Tracks default constructor
*-*                  ==========================
TGeoTrack(Int_t id, Int_t pdgcode, TVirtualGeoTrack* parent = 0, TObject* particle = 0)
 Constructor.
TGeoTrack(const TGeoTrack& )
 Copy ctor. NOT TO BE CALLED.
TGeoTrack& operator=(const TGeoTrack& )
 Assignment operator. NOT TO BE CALLED.
~TGeoTrack()
 Destructor.
TVirtualGeoTrack * AddDaughter(Int_t id, Int_t pdgcode, TObject* particle = 0)
 Add a daughter track to this.
Int_t AddDaughter(TVirtualGeoTrack* other)
 Add a daughter and return its index.
void AnimateTrack(Double_t tmin = 0, Double_t tmax = 5E-8, Double_t nframes = 200, Option_t* option = "/*")
 Draw animation of this track
void AddPoint(Double_t x, Double_t y, Double_t z, Double_t t)
 Add a point on the track.
void Browse(TBrowser* b)
 How-to-browse for a track.
Int_t DistancetoPrimitive(Int_t px, Int_t py)
 Returns distance to track primitive for picking.
void Draw(Option_t* option = "")
 Draw this track overimposed on a geometry, according to option.
 Options (case sensitive):
  default : track without daughters
  /D      : track and first level descendents only
  /*      : track and all descendents
  /Ntype
          : descendents of this track with particle name matching input type.
 Options can appear only once but can be combined : e.g. Draw("/D /Npion-")
 Time range for visible track segments can be set via TGeoManager::SetTminTmax()
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
 Event treatment.
char * GetObjectInfo(Int_t px, Int_t py) const
 Get some info about the track.
Int_t GetPoint(Int_t i, Double_t& x, Double_t& y, Double_t& z, Double_t& t) const
 Get coordinates for point I on the track.
const Double_t * GetPoint(Int_t i) const
 Return the pointer to the array of points starting with index I.
Int_t GetPoint(Double_t tof, Double_t* point, Int_t istart = 0) const
 Return the index of point on track having closest TOF smaller than
 the input value. Output POINT is filled with the interpolated value.
void Paint(Option_t* option = "")
 Paint this track (and descendents) with current attributes.
void PaintCollect(Double_t time, Double_t* box)
 Paint track and daughters.
void PaintCollectTrack(Double_t time, Double_t* box)
 Paint just this track.
void PaintMarker(Double_t* point, Option_t* option = "")
 Paint current point of the track as marker.
void PaintTrack(Option_t* option = "")
 Paint this track with its current attributes.
void Print(Option_t* option = "") const
 Print some info about the track.
Int_t Size(Int_t& imin, Int_t& imax)
 Return the number of points within the time interval specified by
 TGeoManager class and the corresponding indices.
Int_t SearchPoint(Double_t time, Int_t istart = 0) const
 Search index of track point having the closest time tag smaller than
 TIME. Optional start index can be provided.
void SetBits(Bool_t is_default = kTRUE, Bool_t is_onelevel = kFALSE, Bool_t is_all = kFALSE, Bool_t is_type = kFALSE)
 Set drawing bits for this track
void Sizeof3D() const
 Returns 3D size for the track.
void ResetTrack()
 Reset data for this track.
Int_t GetNpoints() const
{return (fNpoints>>2);}
Bool_t IsFolder() const
{return (GetNdaughters()>0)?kTRUE:kFALSE;}