library: libGeomPainter
#include "TGeoPainter.h"

TGeoPainter


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

class TGeoPainter : public TVirtualGeoPainter

Inheritance Chart:
TObject
<-
TVirtualGeoPainter
<-
TGeoPainter
    private:
void DefineColors() const void LocalToMasterVect(const Double_t* local, Double_t* master) const protected:
virtual void ClearVisibleVolumes() public:
TGeoPainter(TGeoManager* manager) TGeoPainter(const TGeoPainter&) virtual ~TGeoPainter() virtual void AddSize3D(Int_t numpoints, Int_t numsegs, Int_t numpolys) virtual TVirtualGeoTrack* AddTrack(Int_t id, Int_t pdgcode, TObject* part) virtual void AddTrackPoint(Double_t* point, Double_t* box, Bool_t reset = kFALSE) virtual void BombTranslation(const Double_t* tr, Double_t* bombtr) void CheckEdit() 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() Int_t CountNodes(TGeoVolume* vol, Int_t level) const 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 DrawShape(TGeoShape* shape, Option_t* option = "") virtual void DrawVolume(TGeoVolume* vol, Option_t* option = "") virtual void EditGeometry(Option_t* option = "") virtual void EstimateCameraMove(Double_t tmin, Double_t tmax, Double_t* start, Double_t* end) virtual void ExecuteManagerEvent(TGeoManager* geom, Int_t event, Int_t px, Int_t py) virtual void ExecuteShapeEvent(TGeoShape* shape, Int_t event, Int_t px, Int_t py) virtual void ExecuteVolumeEvent(TGeoVolume* volume, Int_t event, Int_t px, Int_t py) virtual void GetBombFactors(Double_t& bombx, Double_t& bomby, Double_t& bombz, Double_t& bombr) const virtual Int_t GetBombMode() const virtual TGeoNode* GetCheckedNode() TGeoChecker* GetChecker() 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 TGeoVolume* GetTopVolume() const virtual void GetViewAngles(Double_t& longitude, Double_t& latitude, Double_t& psi) 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 IsPaintingShape() 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 = "") void Lock(Bool_t flag = kTRUE) virtual void ModifiedPad() const TGeoPainter& operator=(const TGeoPainter&) virtual void Paint(Option_t* option = "") virtual void PaintNode(TGeoNode* node, Option_t* option = "", TGeoMatrix* global = 0) virtual void PaintOverlap(void* ovlp, Option_t* option = "") void PaintPhysicalNode(TGeoPhysicalNode* node, Option_t* option = "") Bool_t PaintShape(const TGeoShape& shape, Option_t* option) const virtual void PaintShape(TGeoShape* shape, Option_t* option = "") virtual void PaintVolume(TGeoVolume* vol, Option_t* option = "", TGeoMatrix* global = 0) 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) virtual void SetRaytracing(Bool_t flag = kTRUE) virtual void SetTopVisible(Bool_t vis = kTRUE) virtual void SetTopVolume(TGeoVolume* vol) 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

    private:
Double_t fBombX bomb factor on X Double_t fBombY bomb factor on Y Double_t fBombZ bomb factor on Z Double_t fBombR bomb factor on radius (cyl or sph) Double_t fCheckedBox[6] bounding box of checked node Double_t fMat[9] view rotation matrix Int_t fNsegments number of segments approximating circles Int_t fNVisNodes number of visible nodes Int_t fVisLevel depth for drawing Int_t fVisOption global visualization option Int_t fExplodedView type of exploding current view Bool_t fVisLock lock for adding visible volumes Bool_t fTopVisible set top volume visible Bool_t fPaintingOverlaps lock overlaps painting Bool_t fIsRaytracing raytracing flag Bool_t fIsPaintingShape flag for shape painting TString fVisBranch drawn branch TString fVolInfo volume info TGeoNode* fCheckedNode checked node TGeoOverlap* fOverlap current overlap TGeoHMatrix* fGlobal current global matrix TBuffer3D* fBuffer buffer used for painting TGeoManager* fGeoManager geometry to which applies TGeoChecker* fChecker geometry checker TGeoShape* fClippingShape clipping shape TGeoVolume* fTopVolume top drawn volume TGeoVolume* fLastVolume last drawn volume TObjArray* fVisVolumes list of visible volumes Bool_t fIsEditable flag that geometry is editable

Class Description

TGeoPainter(TGeoManager *manager)
*-*-*-*-*-*-*-*-*-*-*Geometry painter default constructor*-*-*-*-*-*-*-*-*
*-*                  ====================================
~TGeoPainter()
*-*-*-*-*-*-*-*-*-*-*Geometry painter default destructor*-*-*-*-*-*-*-*-*
*-*                  ===================================
void AddSize3D(Int_t numpoints, Int_t numsegs, Int_t numpolys)
--- Add numpoints, numsegs, numpolys to the global 3D size.
TVirtualGeoTrack * AddTrack(Int_t id, Int_t pdgcode, TObject *particle)
 Create a primary TGeoTrack.
void AddTrackPoint(Double_t *point, Double_t *box, Bool_t reset)
 Average center of view of all painted tracklets and compute view box.
void BombTranslation(const Double_t *tr, Double_t *bombtr)
 get the new 'bombed' translation vector according current exploded view mode
void CheckGeometry(Int_t nrays, Double_t startx, Double_t starty, Double_t startz)
 Geometry checking method (see TGeoChecker).
void CheckOverlaps(const TGeoVolume *vol, Double_t ovlp, Option_t *option)
 Check overlaps for the top volume of the geometry, within a limit OVLP.
void CheckPoint(Double_t x, Double_t y, Double_t z, Option_t *option)
 check current point in the geometry
void ClearVisibleVolumes()
Clear the list of visible volumes
reset the kVisOnScreen bit for volumes previously in the list
void DefineColors()
 Define 100 colors with increasing light intensities for each basic color (1-7)
 Register these colors at indexes starting with 300.
Int_t GetColor(Int_t base, Float_t light)
 Get index of a base color with given light intensity (0,1)
TGeoVolume * GetDrawnVolume()
 Get currently drawn volume.
Int_t DistanceToPrimitiveVol(TGeoVolume *volume, Int_t px, Int_t py)
 compute the closest distance of approach from point px,py to a volume
void DefaultAngles()
 Set default angles for the current view.
void DefaultColors()
 Set default volume colors according to tracking media
Int_t CountNodes(TGeoVolume *volume, Int_t rlevel)
 Count number of visible nodes down to a given level.
Int_t CountVisibleNodes()
 Count total number of visible nodes.
void CheckEdit()
 Check if Ged library is loaded and load geometry editor classe.
void EditGeometry(Option_t *option)
 Start the geometry editor.
void Draw(Option_t *option)
 Draw method.
void DrawVolume(TGeoVolume *vol, Option_t *option)
 Draw method.
void DrawShape(TGeoShape *shape, Option_t *option)
 Draw a shape.
void DrawOverlap(void *ovlp, Option_t *option)
 Draw an overlap.
void DrawOnly(Option_t *option)
 Draw only one volume.
void DrawCurrentPoint(Int_t color)
 Draw current point in the same view.
void DrawPanel()
void DrawPath(const char *path)
 Draw all volumes for a given path.
void EstimateCameraMove(Double_t tmin, Double_t tmax, Double_t *start, Double_t *end)
 Estimate camera movement between tmin and tmax for best track display
TGeoChecker * GetChecker()
 Create/return geometry checker.
void GetViewAngles(Double_t &longitude, Double_t &latitude, Double_t &psi)
 Get the current view angles.
void GrabFocus(Int_t nfr, Double_t dlong, Double_t dlat, Double_t dpsi)
 Move focus to current volume
TH2F * LegoPlot(Int_t ntheta, Double_t themin, Double_t themax, Int_t nphi, Double_t phimin, Double_t phimax, Double_t rmin, Double_t rmax, Option_t *option)
 Generate a lego plot fot the top volume, according to option.
void LocalToMasterVect(const Double_t *local, Double_t *master)
 Convert a local vector according view rotation matrix
void ModifiedPad()
 Check if a pad and view are present and send signal "Modified" to pad.
void Paint(Option_t *option)
 Paint current geometry according to option.
void PaintOverlap(void *ovlp, Option_t *option)
 Paint an overlap.
void PaintNode(TGeoNode *node, Option_t *option, TGeoMatrix* global)
 Paint recursively a node and its content accordind to visualization options.
void PaintVolume(TGeoVolume *top, Option_t *option, TGeoMatrix* global)
 Paint recursively a node and its content accordind to visualization options.
Bool_t PaintShape(const TGeoShape & shape, Option_t * option )
 Paint the supplied shape into the current 3D viewer
void PaintShape(TGeoShape *shape, Option_t *option)
 Paint an overlap.
void PaintPhysicalNode(TGeoPhysicalNode *node, Option_t *option)
 Paints a physical node associated with a path.
void PrintOverlaps()
 Print overlaps (see TGeoChecker::PrintOverlaps())
void RandomPoints(const TGeoVolume *vol, Int_t npoints, Option_t *option)
 Draw random points in the bounding box of a volume.
void RandomRays(Int_t nrays, Double_t startx, Double_t starty, Double_t startz)
 Shoot nrays in the current drawn geometry
TGeoNode * SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil, const char* g3path)
 shoot npoints randomly in a box of 1E-5 arround current point.
 return minimum distance to points outside
void SetBombFactors(Double_t bombx, Double_t bomby, Double_t bombz, Double_t bombr)
--- Set cartesian and radial bomb factors for translations
void SetExplodedView(Int_t ibomb)
 set type of exploding view
void SetNsegments(Int_t nseg)
 Set number of segments to approximate circles
void SetVisLevel(Int_t level)
 Set default level down to which visualization is performed
void SetTopVisible(Bool_t vis)
 Set top geometry volume as visible.
void SetVisOption(Int_t option)
 set drawing mode :
 option=0 (default) all nodes drawn down to vislevel
 option=1           leaves and nodes at vislevel drawn
 option=2           path is drawn
Int_t ShapeDistancetoPrimitive(const TGeoShape *shape, Int_t numpoints, Int_t px, Int_t py)
  Returns distance between point px,py on the pad an a shape.
void Test(Int_t npoints, Option_t *option)
 Check time of finding "Where am I" for n points.
void TestOverlaps(const char* path)
--- Geometry overlap checker based on sampling.
Bool_t TestVoxels(TGeoVolume *vol)
 Check voxels efficiency per volume.
void UnbombTranslation(const Double_t *tr, Double_t *bombtr)
 get the new 'unbombed' translation vector according current exploded view mode
Double_t Weight(Double_t precision, Option_t *option)
 Compute weight [kg] of the current volume.
TGeoPainter(TGeoManager *manager)
void ExecuteManagerEvent(TGeoManager *geom, Int_t event, Int_t px, Int_t py)
void ExecuteShapeEvent(TGeoShape *shape, Int_t event, Int_t px, Int_t py)
void ExecuteVolumeEvent(TGeoVolume *volume, Int_t event, Int_t px, Int_t py)
void GetBombFactors(Double_t &bombx, Double_t &bomby, Double_t &bombz, Double_t &bombr)
Int_t GetBombMode()
Int_t GetVisLevel()
Int_t GetVisOption()
Int_t GetNsegments()
Bool_t IsExplodedView()
Bool_t IsRaytracing()
Bool_t IsPaintingShape()
void Lock(Bool_t flag = kTRUE)
void Raytrace(Option_t *option="")
void SetClippingShape(TGeoShape *shape)
void SetGeoManager(TGeoManager *geom)
void SetRaytracing(Bool_t flag=kTRUE)
void SetTopVolume(TGeoVolume *vol)

Author: Andrei Gheata 05/03/02
Last update: root/geompainter:$Name: $:$Id: TGeoPainter.cxx,v 1.91 2006/06/23 11:55:15 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.