12#ifndef ROOT_TVirtualGeoPainter
13#define ROOT_TVirtualGeoPainter
static void update(gsl_integration_workspace *workspace, double a1, double b1, double area1, double error1, double a2, double b2, double area2, double error2)
float Float_t
Float 4 bytes (float)
const char Option_t
Option string (const char)
#define ClassDefOverride(name, id)
Class representing the Bateman solution for a decay branch.
Matrix class used for computing global transformations Should NOT be used for node definition.
The manager class for any TGeo geometry.
Geometrical transformation package.
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
An arbitrary polygon defined by vertices.
Base abstract class for all shapes.
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Mother of all ROOT objects.
Description of the dynamic properties of a particle.
Abstract class for geometry painters.
virtual const char * GetDrawPath() const =0
virtual void SetTopVisible(Bool_t vis=kTRUE)=0
virtual Int_t GetVisLevel() const =0
virtual Bool_t IsPaintingShape() const =0
virtual void SetTopVolume(TGeoVolume *vol)=0
virtual void PaintOverlap(void *ovlp, Option_t *option="")=0
virtual void Raytrace(Option_t *option="")=0
virtual void SetVisLevel(Int_t level=3)=0
virtual void SetGeoManager(TGeoManager *geom)=0
virtual void DrawPath(const char *path, Option_t *option="")=0
virtual void DrawShape(TGeoShape *shape, Option_t *option="")=0
virtual void ModifiedPad(Bool_t update=kFALSE) const =0
virtual void AddSize3D(Int_t numpoints, Int_t numsegs, Int_t numpolys)=0
virtual void DrawOverlap(void *ovlp, Option_t *option="")=0
virtual TGeoVolume * GetTopVolume() const =0
virtual void GetViewAngles(Double_t &, Double_t &, Double_t &)
virtual TVirtualGeoTrack * AddTrack(Int_t id, Int_t pdgcode, TObject *particle)=0
virtual void SetExplodedView(Int_t iopt=0)=0
virtual void DrawOnly(Option_t *option="")=0
virtual Bool_t IsRaytracing() const =0
virtual void DrawVolume(TGeoVolume *vol, Option_t *option="")=0
virtual void DrawCurrentPoint(Int_t color)=0
virtual Int_t GetBombMode() const =0
virtual void DefaultColors()=0
~TVirtualGeoPainter() override
Geometry painter default destructor.
virtual void SetClippingShape(TGeoShape *shape)=0
virtual Int_t GetNsegments() const =0
virtual void GrabFocus(Int_t nfr=0, Double_t dlong=0, Double_t dlat=0, Double_t dpsi=0)=0
static TVirtualGeoPainter * fgGeoPainter
virtual void SetIteratorPlugin(TGeoIteratorPlugin *plugin)=0
virtual void DrawBatemanSol(TGeoBatemanSol *sol, Option_t *option="")=0
virtual void PaintShape(TGeoShape *shape, Option_t *option="")=0
virtual void AddTrackPoint(Double_t *point, Double_t *box, Bool_t reset=kFALSE)=0
virtual void DrawPolygon(const TGeoPolygon *poly)=0
virtual Int_t DistanceToPrimitiveVol(TGeoVolume *vol, Int_t px, Int_t py)=0
virtual void SetVisOption(Int_t option=0)=0
virtual Double_t * GetViewBox()=0
virtual void EstimateCameraMove(Double_t, Double_t, Double_t *, Double_t *)
static void SetPainter(const TVirtualGeoPainter *painter)
Static function to set an alternative histogram painter.
static TVirtualGeoPainter * GeoPainter()
Static function returning a pointer to the geometry painter.
void Paint(Option_t *option="") override=0
This method must be overridden if a class wants to paint itself.
virtual void SetNsegments(Int_t nseg=20)=0
virtual Int_t GetColor(Int_t base, Float_t light) const =0
virtual Bool_t IsExplodedView() const =0
virtual TGeoVolume * GetDrawnVolume() const =0
virtual void PaintVolume(TGeoVolume *vol, Option_t *option="", TGeoMatrix *global=nullptr)=0
virtual void DrawPanel()=0
virtual Int_t CountVisibleNodes()=0
virtual const char * GetVolumeInfo(const TGeoVolume *volume, Int_t px, Int_t py) const =0
virtual void DefaultAngles()=0
virtual void SetRaytracing(Bool_t flag=kTRUE)=0
virtual void ExecuteShapeEvent(TGeoShape *shape, Int_t event, Int_t px, Int_t py)=0
virtual void ExecuteVolumeEvent(TGeoVolume *volume, Int_t event, Int_t px, Int_t py)=0
virtual Int_t GetVisOption() const =0
virtual void UnbombTranslation(const Double_t *tr, Double_t *bombtr)=0
virtual void EditGeometry(Option_t *option="")=0
virtual void GetBombFactors(Double_t &bombx, Double_t &bomby, Double_t &bombz, Double_t &bombr) const =0
virtual void PaintNode(TGeoNode *node, Option_t *option="", TGeoMatrix *global=nullptr)=0
virtual Int_t ShapeDistancetoPrimitive(const TGeoShape *shape, Int_t numpoints, Int_t px, Int_t py) const =0
virtual void BombTranslation(const Double_t *tr, Double_t *bombtr)=0
TVirtualGeoPainter(TGeoManager *manager)
Geometry painter default constructor.
virtual void ExecuteManagerEvent(TGeoManager *geom, Int_t event, Int_t px, Int_t py)=0
virtual void SetBombFactors(Double_t bombx=1.3, Double_t bomby=1.3, Double_t bombz=1.3, Double_t bombr=1.3)=0
Base class for user-defined tracks attached to a geometry.
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)