TGeoPainter
class description - source file - inheritance tree
public:
TGeoPainter()
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)
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, const Option_t* option) const
virtual void CheckPoint(Double_t x = 0, Double_t y = 0, Double_t z = 0, const Option_t* option)
static TClass* Class()
virtual void DefaultAngles()
virtual void DefaultColors()
virtual Int_t DistanceToPrimitiveVol(TGeoVolume* vol, Int_t px, Int_t py)
virtual void Draw(const Option_t* option)
virtual void DrawCurrentPoint(Int_t color)
virtual void DrawOnly(const Option_t* option)
virtual void DrawOverlap(void* ovlp, const Option_t* option)
virtual void DrawPanel()
virtual void DrawPath(const char* path)
virtual void EstimateCameraMove(Double_t tmin, Double_t tmax, Double_t* start, Double_t* end)
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 const char* GetDrawPath() const
virtual Int_t GetNsegments() 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 IsOnScreen(const TGeoNode* node) 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, const Option_t* option)
virtual void* MakeBox3DBuffer(const TGeoVolume* vol)
virtual void* MakePcon3DBuffer(const TGeoVolume* vol)
virtual void* MakeSphere3DBuffer(const TGeoVolume* vol)
virtual void* MakeTube3DBuffer(const TGeoVolume* vol)
virtual void* MakeTubs3DBuffer(const TGeoVolume* vol)
virtual void ModifiedPad() const
virtual void Paint(const Option_t* option)
virtual void PaintBox(TGeoShape* shape, const Option_t* option, TGeoHMatrix* glmat = 0)
virtual void PaintCompositeShape(TGeoVolume* vol, const Option_t* option)
virtual void PaintNode(TGeoNode* node, const Option_t* option)
virtual void PaintOverlap(void* ovlp, const Option_t* option)
virtual void PaintPcon(TGeoShape* shape, const Option_t* option, TGeoHMatrix* glmat = 0)
void PaintShape(X3DBuffer* buff, Bool_t rangeView, TGeoHMatrix* glmat)
virtual void PaintSphere(TGeoShape* shape, const Option_t* option, TGeoHMatrix* glmat = 0)
virtual void PaintTube(TGeoShape* shape, const Option_t* option, TGeoHMatrix* glmat = 0)
virtual void PaintTubs(TGeoShape* shape, const Option_t* option, TGeoHMatrix* glmat = 0)
virtual void PrintOverlaps() const
virtual void RandomPoints(const TGeoVolume* vol, Int_t npoints, const Option_t* option)
virtual void RandomRays(Int_t nrays, Double_t startx, Double_t starty, Double_t startz)
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 SetExplodedView(Int_t iopt = 0)
virtual void SetGeoManager(TGeoManager* geom)
virtual void SetNsegments(Int_t nseg = 20)
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 Sizeof3D(const TGeoVolume* vol) const
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
virtual void Test(Int_t npoints, const 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, const Option_t* option = "v")
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
Int_t fNsegments number of segments approximating circles
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
const char* fVisBranch drawn branch
TGeoNode* fCheckedNode checked node
TGeoOverlap* fOverlap current overlap
TGeoMatrix* fMatrix current local matrix in case of overlaps
TGeoManager* fGeom geometry to which applies
TGeoChecker* fChecker geometry checker
TObjArray* fVisVolumes list of visible volumes
TGeoPainter()
*-*-*-*-*-*-*-*-*-*-*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) const
void CheckOverlaps(const TGeoVolume *vol, Double_t ovlp, Option_t *option) const
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
Int_t DistanceToPrimitiveVol(TGeoVolume *vol, 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
void Draw(Option_t *option)
void DrawOverlap(void *ovlp, Option_t *option)
void DrawOnly(Option_t *option)
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
void ExecuteVolumeEvent(TGeoVolume *volume, Int_t event, Int_t /*px*/, Int_t /*py*/)
Execute mouse actions on a given volume.
char* GetVolumeInfo(const TGeoVolume *volume, Int_t /*px*/, Int_t /*py*/) const
TGeoChecker* GetChecker()
Create/return geometry checker.
void GetViewAngles(Double_t &longitude, Double_t &latitude, Double_t &psi)
void GrabFocus(Int_t nfr, Double_t dlong, Double_t dlat, Double_t dpsi)
Move focus to current volume
Bool_t IsOnScreen(const TGeoNode *node) const
check if this node is drawn. Assumes that this node is current
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 ModifiedPad() const
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 PaintShape(X3DBuffer *buff, Bool_t rangeView, TGeoHMatrix *glmat)
*-*-*-*-*Paint 3-D shape in current pad with its current attributes*-*-*-*-*
*-* ==========================================================
rangeView = kTRUE - means no real painting
just estimate the range
of this shape only
void* MakeBox3DBuffer(const TGeoVolume *vol)
Create a box 3D buffer for a given shape.
void PaintBox(TGeoShape *shape, Option_t *option, TGeoHMatrix *glmat)
paint any type of box with 8 vertices
void PaintCompositeShape(TGeoVolume *vol, Option_t *option)
paint a composite shape
void* MakeTube3DBuffer(const TGeoVolume *vol)
Create a box 3D buffer for a given shape.
void PaintTube(TGeoShape *shape, Option_t *option, TGeoHMatrix *glmat)
paint tubes
void* MakeTubs3DBuffer(const TGeoVolume *vol)
Create a box 3D buffer for a given shape.
void PaintTubs(TGeoShape *shape, Option_t *option, TGeoHMatrix *glmat)
paint tubes
void* MakeSphere3DBuffer(const TGeoVolume *vol)
Create a box 3D buffer for a given shape.
void PaintSphere(TGeoShape *shape, Option_t *option, TGeoHMatrix *glmat)
paint a sphere
void* MakePcon3DBuffer(const TGeoVolume *vol)
Create a box 3D buffer for a given shape.
void PaintPcon(TGeoShape *shape, Option_t *option, TGeoHMatrix *glmat)
paint a pcon
void PaintNode(TGeoNode *node, Option_t *option)
paint recursively a node and its content accordind to visualization options
void PrintOverlaps() const
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)
Raytrace 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 Sizeof3D(const TGeoVolume *vol) const
Compute size of the 3d object "vol".
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)
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) const
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)
Inline Functions
void GetBombFactors(Double_t& bombx, Double_t& bomby, Double_t& bombz, Double_t& bombr) const
Int_t GetBombMode() const
TGeoNode* GetCheckedNode()
const char* GetDrawPath() const
Int_t GetVisLevel() const
Int_t GetVisOption() const
Int_t GetNsegments() const
Double_t* GetViewBox()
Bool_t IsExplodedView() const
void SetGeoManager(TGeoManager* geom)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TGeoPainter TGeoPainter(const TGeoPainter&)
Author: Andrei Gheata 05/03/02
Last update: Wed May 7 16:00:06 2003
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
ROOT page - Class index - 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.