10 #ifndef ROOT_TGeoPainter
11 #define ROOT_TGeoPainter
23 #ifndef ROOT_TVirtualGeoPainter
27 #ifndef ROOT_TGeoManager
virtual 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.
virtual void CheckGeometry(Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const
Geometry checking method (see TGeoChecker).
virtual Bool_t IsExplodedView() const
virtual Int_t GetBombMode() const
double dist(Rotation3D const &r1, Rotation3D const &r2)
virtual void Test(Int_t npoints, Option_t *option)
Check time of finding "Where am I" for n points.
virtual void SetCheckedNode(TGeoNode *node)
Select a node to be checked for overlaps.
virtual TVirtualGeoTrack * AddTrack(Int_t id, Int_t pdgcode, TObject *part)
Create a primary TGeoTrack.
TGeoShape * fClippingShape
virtual void SetBombFactors(Double_t bombx=1.3, Double_t bomby=1.3, Double_t bombz=1.3, Double_t bombr=1.3)
— Set cartesian and radial bomb factors for translations
virtual void Raytrace(Option_t *option="")
Raytrace current drawn geometry.
virtual void RandomPoints(const TGeoVolume *vol, Int_t npoints, Option_t *option="")
Draw random points in the bounding box of a volume.
virtual Int_t GetVisLevel() const
virtual void CheckBoundaryReference(Int_t icheck=-1)
Check the boundary errors reference file created by CheckBoundaryErrors method.
virtual void DrawPolygon(const TGeoPolygon *poly)
Draw a polygon in 3D.
virtual void Paint(Option_t *option="")
Paint current geometry according to option.
virtual void SetRaytracing(Bool_t flag=kTRUE)
virtual void ExecuteVolumeEvent(TGeoVolume *volume, Int_t event, Int_t px, Int_t py)
Execute mouse actions on a given volume.
virtual Int_t DistanceToPrimitiveVol(TGeoVolume *vol, Int_t px, Int_t py)
compute the closest distance of approach from point px,py to a volume
virtual void DrawOverlap(void *ovlp, Option_t *option="")
Draw an overlap.
virtual void DrawPath(const char *path, Option_t *option="")
Draw all volumes for a given path.
virtual void PaintOverlap(void *ovlp, Option_t *option="")
Paint an overlap.
virtual void ClearVisibleVolumes()
Clear the list of visible volumes reset the kVisOnScreen bit for volumes previously in the list...
virtual void AddTrackPoint(Double_t *point, Double_t *box, Bool_t reset=kFALSE)
Average center of view of all painted tracklets and compute view box.
virtual void SetTopVisible(Bool_t vis=kTRUE)
Set top geometry volume as visible.
virtual void GetBombFactors(Double_t &bombx, Double_t &bomby, Double_t &bombz, Double_t &bombr) const
TGeoPainter(TGeoManager *manager)
virtual void DrawBatemanSol(TGeoBatemanSol *sol, Option_t *option="")
Draw the time evolution of a radionuclide.
virtual void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option)
Test for shape navigation methods.
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
virtual void UnbombTranslation(const Double_t *tr, Double_t *bombtr)
get the new 'unbombed' translation vector according current exploded view mode
void LocalToMasterVect(const Double_t *local, Double_t *master) const
Convert a local vector according view rotation matrix.
virtual void CheckGeometryFull(Bool_t checkoverlaps=kTRUE, Bool_t checkcrossings=kTRUE, Int_t nrays=10000, const Double_t *vertex=NULL)
Geometry checking method (see: TGeoManager::CheckGeometry())
virtual void AddSize3D(Int_t numpoints, Int_t numsegs, Int_t numpolys)
— Add numpoints, numsegs, numpolys to the global 3D size.
const char * Data() const
virtual void OpProgress(const char *opname, Long64_t current, Long64_t size, TStopwatch *watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE, const char *msg="")
Text progress bar.
#define ClassDef(name, id)
virtual Int_t GetColor(Int_t base, Float_t light) const
Get index of a base color with given light intensity (0,1)
virtual void CheckPoint(Double_t x=0, Double_t y=0, Double_t z=0, Option_t *option="")
check current point in the geometry
virtual void PaintNode(TGeoNode *node, Option_t *option="", TGeoMatrix *global=0)
Paint recursively a node and its content accordind to visualization options.
virtual void DrawVolume(TGeoVolume *vol, Option_t *option="")
Draw method.
virtual void GetViewAngles(Double_t &longitude, Double_t &latitude, Double_t &psi)
Get the current view angles.
virtual void SetNmeshPoints(Int_t npoints)
Set number of points to be generated on the shape outline when checking for overlaps.
virtual void RandomRays(Int_t nrays, Double_t startx, Double_t starty, Double_t startz, const char *target_vol=0, Bool_t check_norm=kFALSE)
Shoot nrays in the current drawn geometry.
virtual void DrawCurrentPoint(Int_t color)
Draw current point in the same view.
virtual const char * GetVolumeInfo(const TGeoVolume *volume, Int_t px, Int_t py) const
Get some info about the current selected volume.
virtual Bool_t IsPaintingShape() const
virtual void TestOverlaps(const char *path)
— Geometry overlap checker based on sampling.
virtual void PrintOverlaps() const
Print overlaps (see TGeoChecker::PrintOverlaps())
virtual void GrabFocus(Int_t nfr=0, Double_t dlong=0, Double_t dlat=0, Double_t dpsi=0)
Move focus to current volume.
virtual void SetTopVolume(TGeoVolume *vol)
virtual const char * GetDrawPath() const
virtual Double_t Weight(Double_t precision, Option_t *option="v")
Compute weight [kg] of the current volume.
virtual void DrawOnly(Option_t *option="")
Draw only one volume.
void Lock(Bool_t flag=kTRUE)
virtual void PaintVolume(TGeoVolume *vol, Option_t *option="", TGeoMatrix *global=0)
Paint recursively a node and its content accordind to visualization options.
TGeoChecker * GetChecker()
Create/return geometry checker.
virtual void EditGeometry(Option_t *option="")
Start the geometry editor.
virtual void DefaultColors()
Set default volume colors according to tracking media.
virtual void Draw(Option_t *option="")
Draw method.
virtual 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.
2-D histogram with a float per channel (see TH1 documentation)}
virtual void CheckBoundaryErrors(Int_t ntracks=1000000, Double_t radius=-1.)
Check pushes and pulls needed to cross the next boundary with respect to the position given by FindNe...
virtual void SetClippingShape(TGeoShape *shape)
virtual void CheckOverlaps(const TGeoVolume *vol, Double_t ovlp=0.1, Option_t *option="") const
Check overlaps for the top volume of the geometry, within a limit OVLP.
static void update(gsl_integration_workspace *workspace, double a1, double b1, double area1, double error1, double a2, double b2, double area2, double error2)
Int_t GetNsegments() const
virtual void DefaultAngles()
Set default angles for the current view.
Generic 3D primitive description class.
virtual void SetVisLevel(Int_t level=3)
Set default level down to which visualization is performed.
virtual Bool_t TestVoxels(TGeoVolume *vol)
Check voxels efficiency per volume.
virtual void SetExplodedView(Int_t iopt=0)
set type of exploding view
Bool_t PaintShape(const TGeoShape &shape, Option_t *option) const
Paint the supplied shape into the current 3D viewer.
void DefineColors() const
Define 100 colors with increasing light intensities for each basic color (1-7) Register these colors ...
Int_t CountNodes(TGeoVolume *vol, Int_t level) const
Count number of visible nodes down to a given level.
virtual 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.
virtual Double_t * GetViewBox()
virtual void SetVisOption(Int_t option=0)
set drawing mode : option=0 (default) all nodes drawn down to vislevel option=1 leaves and nodes at v...
void CheckEdit()
Check if Ged library is loaded and load geometry editor classe.
void PaintPhysicalNode(TGeoPhysicalNode *node, Option_t *option="")
Paints a physical node associated with a path.
virtual Int_t CountVisibleNodes()
Count total number of visible nodes.
virtual Bool_t IsRaytracing() const
virtual void ModifiedPad(Bool_t update=kFALSE) const
Check if a pad and view are present and send signal "Modified" to pad.
virtual ~TGeoPainter()
*-*-*-*-*-*-*-*-*-*-*Geometry painter default destructor*-*-*-*-*-*-*-*-* *-* =======================...
virtual Int_t GetVisOption() const
TGeoIteratorPlugin * fPlugin
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="")
Generate a lego plot fot the top volume, according to option.
virtual void ExecuteManagerEvent(TGeoManager *geom, Int_t event, Int_t px, Int_t py)
Execute mouse actions on a given volume.
virtual void SetGeoManager(TGeoManager *geom)
Mother of all ROOT objects.
virtual TGeoVolume * GetDrawnVolume() const
Get currently drawn volume.
virtual void DrawShape(TGeoShape *shape, Option_t *option="")
Draw a shape.
virtual TGeoVolume * GetTopVolume() const
virtual void ExecuteShapeEvent(TGeoShape *shape, Int_t event, Int_t px, Int_t py)
Execute mouse actions on a given shape.
virtual void BombTranslation(const Double_t *tr, Double_t *bombtr)
get the new 'bombed' translation vector according current exploded view mode
TGeoManager * fGeoManager
virtual void SetIteratorPlugin(TGeoIteratorPlugin *plugin)
virtual void SetNsegments(Int_t nseg=20)
Set number of segments to approximate circles.
virtual TGeoNode * GetCheckedNode()