11 #ifndef ROOT_TVirtualGeoPainter 12 #define ROOT_TVirtualGeoPainter virtual void Draw(Option_t *option="")=0
Default Draw method for all objects.
virtual Int_t GetColor(Int_t base, Float_t light) const =0
virtual void Paint(Option_t *option="")=0
This method must be overridden if a class wants to paint itself.
virtual Int_t GetVisLevel() const =0
double dist(Rotation3D const &r1, Rotation3D const &r2)
virtual Int_t CountVisibleNodes()=0
virtual Int_t GetVisOption() const =0
virtual void GetViewAngles(Double_t &, Double_t &, Double_t &)
TVirtualGeoPainter(TGeoManager *manager)
Geometry painter default constructor.
The manager class for any TGeo geometry.
virtual void EditGeometry(Option_t *option="")=0
virtual void ModifiedPad(Bool_t update=kFALSE) const =0
static TVirtualGeoPainter * GeoPainter()
Static function returning a pointer to the geometry painter.
virtual Double_t * GetViewBox()=0
virtual void ExecuteVolumeEvent(TGeoVolume *volume, Int_t event, Int_t px, Int_t py)=0
virtual const char * GetDrawPath() const =0
virtual TVirtualGeoTrack * AddTrack(Int_t id, Int_t pdgcode, TObject *particle)=0
Geometrical transformation package.
virtual Int_t GetNsegments() const =0
virtual void CheckGeometry(Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const =0
virtual void CheckOverlaps(const TGeoVolume *vol, Double_t ovlp=0.1, Option_t *option="") const =0
static TVirtualGeoPainter * fgGeoPainter
virtual void Test(Int_t npoints, Option_t *option)=0
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Description of the dynamic properties of a particle.
virtual void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option)=0
virtual Double_t Weight(Double_t precision, Option_t *option="v")=0
virtual void PrintOverlaps() const =0
An arbitrary polygon defined by vertices.
virtual void SetTopVolume(TGeoVolume *vol)=0
virtual Bool_t IsPaintingShape() const =0
Matrix class used for computing global transformations Should NOT be used for node definition...
virtual void ExecuteManagerEvent(TGeoManager *geom, Int_t event, Int_t px, Int_t py)=0
virtual void RandomPoints(const TGeoVolume *vol, Int_t npoints, Option_t *option="")=0
virtual void DrawPanel()=0
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
virtual void DefaultAngles()=0
virtual Bool_t TestVoxels(TGeoVolume *vol)=0
virtual void DrawOverlap(void *ovlp, Option_t *option="")=0
virtual void PaintNode(TGeoNode *node, Option_t *option="", TGeoMatrix *global=0)=0
virtual void SetClippingShape(TGeoShape *shape)=0
#define ClassDef(name, id)
virtual void GrabFocus(Int_t nfr=0, Double_t dlong=0, Double_t dlat=0, Double_t dpsi=0)=0
virtual void SetNsegments(Int_t nseg=20)=0
virtual Bool_t IsExplodedView() const =0
virtual void SetExplodedView(Int_t iopt=0)=0
virtual void BombTranslation(const Double_t *tr, Double_t *bombtr)=0
virtual void DrawBatemanSol(TGeoBatemanSol *sol, Option_t *option="")=0
virtual void CheckBoundaryReference(Int_t icheck=-1)=0
Base class for user-defined tracks attached to a geometry.
virtual void SetBombFactors(Double_t bombx=1.3, Double_t bomby=1.3, Double_t bombz=1.3, Double_t bombr=1.3)=0
virtual void DrawCurrentPoint(Int_t color)=0
virtual Int_t DistanceToPrimitiveVol(TGeoVolume *vol, Int_t px, Int_t py)=0
virtual Int_t ShapeDistancetoPrimitive(const TGeoShape *shape, Int_t numpoints, Int_t px, Int_t py) const =0
virtual TGeoNode * SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil, const char *g3path)=0
virtual void SetTopVisible(Bool_t vis=kTRUE)=0
virtual void DrawOnly(Option_t *option="")=0
Base abstract class for all shapes.
virtual void SetGeoManager(TGeoManager *geom)=0
virtual void CheckGeometryFull(Bool_t checkoverlaps=kTRUE, Bool_t checkcrossings=kTRUE, Int_t nrays=10000, const Double_t *vertex=NULL)=0
virtual void SetRaytracing(Bool_t flag=kTRUE)=0
tomato 2-D histogram with a float per channel (see TH1 documentation)}
virtual void GetBombFactors(Double_t &bombx, Double_t &bomby, Double_t &bombz, Double_t &bombr) const =0
static void update(gsl_integration_workspace *workspace, double a1, double b1, double area1, double error1, double a2, double b2, double area2, double error2)
virtual void EstimateCameraMove(Double_t, Double_t, Double_t *, Double_t *)
virtual void SetCheckedNode(TGeoNode *node)=0
virtual void DefaultColors()=0
virtual void DrawVolume(TGeoVolume *vol, Option_t *option="")=0
virtual TGeoVolume * GetTopVolume() const =0
virtual void SetVisOption(Int_t option=0)=0
virtual Int_t GetBombMode() const =0
virtual void DrawPath(const char *path, Option_t *option="")=0
virtual void SetVisLevel(Int_t level=3)=0
virtual const char * GetVolumeInfo(const TGeoVolume *volume, Int_t px, Int_t py) const =0
virtual void SetNmeshPoints(Int_t npoints)=0
virtual void SetIteratorPlugin(TGeoIteratorPlugin *plugin)=0
virtual void CheckBoundaryErrors(Int_t ntracks=1000000, Double_t radius=-1.)=0
virtual void DrawPolygon(const TGeoPolygon *poly)=0
Mother of all ROOT objects.
you should not use this method at all Int_t Int_t z
Abstract class for geometry painters.
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
static void SetPainter(const TVirtualGeoPainter *painter)
Static function to set an alternative histogram painter.
virtual void DrawShape(TGeoShape *shape, Option_t *option="")=0
virtual void ExecuteShapeEvent(TGeoShape *shape, Int_t event, Int_t px, Int_t py)=0
virtual Bool_t IsRaytracing() const =0
virtual void Raytrace(Option_t *option="")=0
virtual void AddSize3D(Int_t numpoints, Int_t numsegs, Int_t numpolys)=0
virtual void RandomRays(Int_t nrays, Double_t startx, Double_t starty, Double_t startz, const char *target_vol, Bool_t check_norm)=0
virtual void AddTrackPoint(Double_t *point, Double_t *box, Bool_t reset=kFALSE)=0
virtual void UnbombTranslation(const Double_t *tr, Double_t *bombtr)=0
virtual TGeoVolume * GetDrawnVolume() const =0
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="")=0
virtual void PaintOverlap(void *ovlp, Option_t *option="")=0
virtual void TestOverlaps(const char *path)=0
virtual void PaintShape(TGeoShape *shape, Option_t *option="")=0
virtual void CheckPoint(Double_t x=0, Double_t y=0, Double_t z=0, Option_t *option="")=0
virtual ~TVirtualGeoPainter()
Geometry painter default destructor.
virtual void PaintVolume(TGeoVolume *vol, Option_t *option="", TGeoMatrix *global=0)=0
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="")=0