library: libGeom #include "TVirtualGeoPainter.h"

# TVirtualGeoPainter

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

## class TVirtualGeoPainter : public TObject

| Inheritance Chart:
`TObject`
| <- | `TVirtualGeoPainter` |
<- |
`TGeoPainter` |

This is an abstract class, constructors will not be documented.
Look at the header to check for available constructors.

        public:

                             virtual ~TVirtualGeoPainter()
                        virtual void AddSize3D(Int_t numpoints, Int_t numsegs, Int_t numpolys)
           virtual TVirtualGeoTrack* AddTrack(Int_t id, Int_t pdgcode, TObject* particle)
                        virtual void AddTrackPoint(Double_t* point, Double_t* box, Bool_t reset = kFALSE)
                        virtual void BombTranslation(const Double_t* tr, Double_t* bombtr)
                        virtual void CheckGeometry(Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const
                        virtual void CheckOverlaps(const TGeoVolume* vol, Double_t ovlp = 0.1, Option_t* option = "") const
                        virtual void CheckPoint(Double_t x = 0, Double_t y = 0, Double_t z = 0, Option_t* option = "")
                      static TClass* Class()
                       virtual Int_t CountVisibleNodes()
                        virtual void DefaultAngles()
                        virtual void DefaultColors()
                       virtual Int_t DistanceToPrimitiveVol(TGeoVolume* vol, Int_t px, Int_t py)
                        virtual void Draw(Option_t* option = "")
                        virtual void DrawCurrentPoint(Int_t color)
                        virtual void DrawOnly(Option_t* option = "")
                        virtual void DrawOverlap(void* ovlp, Option_t* option = "")
                        virtual void DrawPanel()
                        virtual void DrawPath(const char* path)
                        virtual void EstimateCameraMove(Double_t, Double_t, Double_t*, Double_t*)
                        virtual void ExecuteVolumeEvent(TGeoVolume* volume, Int_t event, Int_t px, Int_t py)
          static TVirtualGeoPainter* GeoPainter()
                        virtual void GetBombFactors(Double_t& bombx, Double_t& bomby, Double_t& bombz, Double_t& bombr) const
                       virtual Int_t GetBombMode() const
                       virtual Int_t GetColor(Int_t base, Float_t light) const
                 virtual TGeoVolume* GetDrawnVolume() const
                 virtual const char* GetDrawPath() const
                       virtual Int_t GetNsegments() const
                        virtual void GetViewAngles(Double_t&, Double_t&, Double_t&)
                   virtual Double_t* GetViewBox()
                       virtual Int_t GetVisLevel() const
                       virtual Int_t GetVisOption() const
                       virtual char* GetVolumeInfo(const TGeoVolume* volume, Int_t px, Int_t py) const
                        virtual void GrabFocus(Int_t nfr = 0, Double_t dlong = 0, Double_t dlat = 0, Double_t dpsi = 0)
                     virtual TClass* IsA() const
                      virtual Bool_t IsExplodedView() const
                      virtual Bool_t IsRaytracing() const
                       virtual TH2F* LegoPlot(Int_t ntheta = 60, Double_t themin = 0., Double_t themax = 180., Int_t nphi = 90, Double_t phimin = 0., Double_t phimax = 360., Double_t rmin = 0., Double_t rmax = 9999999, Option_t* option = "")
                        virtual void ModifiedPad() const
                 TVirtualGeoPainter& operator=(const TVirtualGeoPainter&)
                        virtual void Paint(Option_t* option = "")
                        virtual void PaintNode(TGeoNode* node, Option_t* option = "")
                        virtual void PaintOverlap(void* ovlp, Option_t* option = "")
                        virtual void PrintOverlaps() const
                        virtual void RandomPoints(const TGeoVolume* vol, Int_t npoints, Option_t* option = "")
                        virtual void RandomRays(Int_t nrays, Double_t startx, Double_t starty, Double_t startz)
                        virtual void Raytrace(Option_t* option = "")
                   virtual TGeoNode* SamplePoints(Int_t npoints, Double_t& dist, Double_t epsil, const char* g3path)
                        virtual void SetBombFactors(Double_t bombx = 1.3, Double_t bomby = 1.3, Double_t bombz = 1.3, Double_t bombr = 1.3)
                        virtual void SetClippingShape(TGeoShape* shape)
                        virtual void SetExplodedView(Int_t iopt = 0)
                        virtual void SetGeoManager(TGeoManager* geom)
                        virtual void SetNsegments(Int_t nseg = 20)
                         static void SetPainter(const TVirtualGeoPainter* painter)
                        virtual void SetRaytracing(Bool_t flag = kTRUE)
                        virtual void SetTopVisible(Bool_t vis = kTRUE)
                        virtual void SetVisLevel(Int_t level = 3)
                        virtual void SetVisOption(Int_t option = 0)
                       virtual Int_t ShapeDistancetoPrimitive(const TGeoShape* shape, Int_t numpoints, Int_t px, Int_t py) const
                        virtual void ShowMembers(TMemberInspector& insp, char* parent)
                        virtual void Streamer(TBuffer& b)
                                void StreamerNVirtual(TBuffer& b)
                        virtual void Test(Int_t npoints, Option_t* option)
                        virtual void TestOverlaps(const char* path)
                      virtual Bool_t TestVoxels(TGeoVolume* vol)
                        virtual void UnbombTranslation(const Double_t* tr, Double_t* bombtr)
                    virtual Double_t Weight(Double_t precision, Option_t* option = "v")

### Data Members

        protected:

          static TVirtualGeoPainter* fgGeoPainter  Pointer to class painter

        public:

            static const TVirtualGeoPainter::EGeoVisLevel kGeoVisLevel
           static const TVirtualGeoPainter::EGeoVisOption kGeoVisDefault
           static const TVirtualGeoPainter::EGeoVisOption kGeoVisLeaves
           static const TVirtualGeoPainter::EGeoVisOption kGeoVisOnly
           static const TVirtualGeoPainter::EGeoVisOption kGeoVisBranch
          static const TVirtualGeoPainter::EGeoBombOption kGeoNoBomb
          static const TVirtualGeoPainter::EGeoBombOption kGeoBombXYZ
          static const TVirtualGeoPainter::EGeoBombOption kGeoBombCyl
          static const TVirtualGeoPainter::EGeoBombOption kGeoBombSph

## Class Description

~TVirtualGeoPainter()

    *-*-*-*-*-*-*-*-*-*-*Geometry painter default destructor*-*-*-*-*-*-*-*-*
    *-*                  ===================================

TVirtualGeoPainter* GeoPainter()

     Static function returning a pointer to the geometry painter.
     The painter will paint objects from the specified geometry.
     If the geometry painter does not exist a default painter is created.

void SetPainter(const TVirtualGeoPainter *painter)

     Static function to set an alternative histogram painter.

### Inline Functions

                           void AddSize3D(Int_t numpoints, Int_t numsegs, Int_t numpolys)
              TVirtualGeoTrack* AddTrack(Int_t id, Int_t pdgcode, TObject* particle)
                           void AddTrackPoint(Double_t* point, Double_t* box, Bool_t reset = kFALSE)
                           void BombTranslation(const Double_t* tr, Double_t* bombtr)
                           void CheckPoint(Double_t x = 0, Double_t y = 0, Double_t z = 0, Option_t* option = "")
                           void CheckGeometry(Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const
                           void CheckOverlaps(const TGeoVolume* vol, Double_t ovlp = 0.1, Option_t* option = "") const
                          Int_t CountVisibleNodes()
                           void DefaultAngles()
                           void DefaultColors()
                          Int_t DistanceToPrimitiveVol(TGeoVolume* vol, Int_t px, Int_t py)
                           void Draw(Option_t* option = "")
                           void DrawOnly(Option_t* option = "")
                           void DrawOverlap(void* ovlp, Option_t* option = "")
                           void DrawCurrentPoint(Int_t color)
                           void DrawPanel()
                           void DrawPath(const char* path)
                           void EstimateCameraMove(Double_t, Double_t, Double_t*, Double_t*)
                           void ExecuteVolumeEvent(TGeoVolume* volume, Int_t event, Int_t px, Int_t py)
                          Int_t GetColor(Int_t base, Float_t light) const
                          Int_t GetNsegments() const
                           void GetBombFactors(Double_t& bombx, Double_t& bomby, Double_t& bombz, Double_t& bombr) const
                          Int_t GetBombMode() const
                    const char* GetDrawPath() const
                    TGeoVolume* GetDrawnVolume() const
                           void GetViewAngles(Double_t&, Double_t&, Double_t&)
                          Int_t GetVisLevel() const
                          Int_t GetVisOption() const
                          char* GetVolumeInfo(const TGeoVolume* volume, Int_t px, Int_t py) const
                           void GrabFocus(Int_t nfr = 0, Double_t dlong = 0, Double_t dlat = 0, Double_t dpsi = 0)
                      Double_t* GetViewBox()
                         Bool_t IsRaytracing() const
                         Bool_t IsExplodedView() const
                          TH2F* LegoPlot(Int_t ntheta = 60, Double_t themin = 0., Double_t themax = 180., Int_t nphi = 90, Double_t phimin = 0., Double_t phimax = 360., Double_t rmin = 0., Double_t rmax = 9999999, Option_t* option = "")
                           void ModifiedPad() const
                           void Paint(Option_t* option = "")
                           void PaintNode(TGeoNode* node, Option_t* option = "")
                           void PaintOverlap(void* ovlp, Option_t* option = "")
                           void PrintOverlaps() const
                           void RandomPoints(const TGeoVolume* vol, Int_t npoints, Option_t* option = "")
                           void RandomRays(Int_t nrays, Double_t startx, Double_t starty, Double_t startz)
                           void Raytrace(Option_t* option = "")
                      TGeoNode* SamplePoints(Int_t npoints, Double_t& dist, Double_t epsil, const char* g3path)
                           void SetBombFactors(Double_t bombx = 1.3, Double_t bomby = 1.3, Double_t bombz = 1.3, Double_t bombr = 1.3)
                           void SetClippingShape(TGeoShape* shape)
                           void SetExplodedView(Int_t iopt = 0)
                           void SetGeoManager(TGeoManager* geom)
                           void SetNsegments(Int_t nseg = 20)
                           void SetRaytracing(Bool_t flag = kTRUE)
                           void SetTopVisible(Bool_t vis = kTRUE)
                           void SetVisLevel(Int_t level = 3)
                           void SetVisOption(Int_t option = 0)
                          Int_t ShapeDistancetoPrimitive(const TGeoShape* shape, Int_t numpoints, Int_t px, Int_t py) const
                           void Test(Int_t npoints, Option_t* option)
                           void TestOverlaps(const char* path)
                         Bool_t TestVoxels(TGeoVolume* vol)
                           void UnbombTranslation(const Double_t* tr, Double_t* bombtr)
                       Double_t Weight(Double_t precision, Option_t* option = "v")
                        TClass* Class()
                        TClass* IsA() const
                           void ShowMembers(TMemberInspector& insp, char* parent)
                           void Streamer(TBuffer& b)
                           void StreamerNVirtual(TBuffer& b)
            TVirtualGeoPainter& operator=(const TVirtualGeoPainter&)

Author: Andrei Gheata 11/01/02
Last update: root/geom:$Name: $:$Id: TVirtualGeoPainter.cxx,v 1.5 2005/04/25 07:53:27 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *