library: libGeomPainter #include "TGeoTrack.h"

# TGeoTrack

class description - source file - inheritance tree (.pdf)

## class TGeoTrack : public TVirtualGeoTrack

| Inheritance Chart:
`TObject`
`TGeoAtt`
`TAttLine`
`TAttMarker`
| <- | `TVirtualGeoTrack`
| <- | `TGeoTrack` |

        public:

                                    TGeoTrack()
                                    TGeoTrack(Int_t id, Int_t pdgcode, TVirtualGeoTrack* parent = 0, TObject* particle = 0)
                                    TGeoTrack(const TGeoTrack&)
                            virtual ~TGeoTrack()
          virtual TVirtualGeoTrack* AddDaughter(Int_t id, Int_t pdgcode, TObject* particle = 0)
                      virtual Int_t AddDaughter(TVirtualGeoTrack* other)
                       virtual void AddPoint(Double_t x, Double_t y, Double_t z, Double_t t)
                       virtual void AnimateTrack(Double_t tmin = 0, Double_t tmax = 5E-8, Double_t nframes = 200, Option_t* option = "/*")
                       virtual void Browse(TBrowser* b)
                     static TClass* Class()
                      virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
                       virtual void Draw(Option_t* option = "")
                       virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
                      virtual Int_t GetNpoints() const
                      virtual char* GetObjectInfo(Int_t px, Int_t py) const
                      virtual Int_t GetPoint(Int_t i, Double_t& x, Double_t& y, Double_t& z, Double_t& t) const
            virtual const Double_t* GetPoint(Int_t i) const
                              Int_t GetPoint(Double_t tof, Double_t* point, Int_t istart = 0) const
                    virtual TClass* IsA() const
                     virtual Bool_t IsFolder() const
                         TGeoTrack& operator=(const TGeoTrack&)
                       virtual void Paint(Option_t* option = "")
                       virtual void PaintCollect(Double_t time, Double_t* box)
                       virtual void PaintCollectTrack(Double_t time, Double_t* box)
                               void PaintMarker(Double_t* point, Option_t* option = "")
                       virtual void PaintTrack(Option_t* option = "")
                       virtual void Print(Option_t* option = "") const
                       virtual void ResetTrack()
                              Int_t SearchPoint(Double_t time, Int_t istart = 0) const
                               void SetBits(Bool_t is_default = kTRUE, Bool_t is_onelevel = kFALSE, Bool_t is_all = kFALSE, Bool_t is_type = kFALSE)
                       virtual void ShowMembers(TMemberInspector& insp, char* parent)
                              Int_t Size(Int_t& imin, Int_t& imax)
                       virtual void Sizeof3D() const
                       virtual void Streamer(TBuffer& b)
                               void StreamerNVirtual(TBuffer& b)

### Data Members

        private:

              Int_t fPointsSize  capacity of points array
              Int_t fNpoints     number of stored points
          Double_t* fPoints      [fNpoints] array of points (x,y,z,t) belonging to this track

        public:

          static const TGeoTrack::EGeoParticleActions kGeoPDefault
          static const TGeoTrack::EGeoParticleActions kGeoPOnelevel
          static const TGeoTrack::EGeoParticleActions kGeoPAllDaughters
          static const TGeoTrack::EGeoParticleActions kGeoPType
          static const TGeoTrack::EGeoParticleActions kGeoPDrawn

## Class Description

TGeoTrack()

    *-*-*-*-*-*-*-*-*-*-*Tracks default constructor*-*-*-*-*-*-*-*-*
    *-*                  ==========================

TGeoTrack(Int_t id, Int_t pdgcode, TVirtualGeoTrack *parent, TObject *particle) :TVirtualGeoTrack(id,pdgcode,parent,particle)

     Constructor.

~TGeoTrack()

TVirtualGeoTrack* AddDaughter(Int_t id, Int_t pdgcode, TObject *particle)

Int_t AddDaughter(TVirtualGeoTrack *other)

     Add a daughter and return its index.

void AnimateTrack(Double_t tmin, Double_t tmax, Double_t nframes, Option_t *option)

     Draw animation of this track

void AddPoint(Double_t x, Double_t y, Double_t z, Double_t t)

void Browse(TBrowser *b)

Int_t DistancetoPrimitive(Int_t px, Int_t py)

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*/)

char* GetObjectInfo(Int_t /*px*/, Int_t /*py*/) const

Int_t GetPoint(Int_t i, Double_t &x, Double_t &y, Double_t &z, Double_t &t) const

const Double_t* GetPoint(Int_t i) const

Int_t GetPoint(Double_t tof, Double_t *point, Int_t istart) 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)

void PaintCollectTrack(Double_t time, Double_t *box)

void PaintMarker(Double_t *point, Option_t *)

     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

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) 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, Bool_t is_onelevel, Bool_t is_all, Bool_t is_type)

     Set drawing bits for this track

void Sizeof3D() const

void ResetTrack()

### Inline Functions

                  Int_t GetNpoints() const
                 Bool_t IsFolder() const
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
              TGeoTrack TGeoTrack(const TGeoTrack&)
             TGeoTrack& operator=(const TGeoTrack&)

Author: Andrei Gheata 2003/04/10
Last update: root/geom:$Name: $:$Id: TGeoTrack.cxx,v 1.5 2004/06/30 10:31:59 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *