Logo ROOT  
Reference Guide
TGeoPainter.h
Go to the documentation of this file.
1 // Author: Andrei Gheata 05/03/02
2 
3 /*************************************************************************
4  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
5  * All rights reserved. *
6  * *
7  * For the licensing terms see $ROOTSYS/LICENSE. *
8  * For the list of contributors see $ROOTSYS/README/CREDITS. *
9  *************************************************************************/
10 #ifndef ROOT_TGeoPainter
11 #define ROOT_TGeoPainter
12 
13 //////////////////////////////////////////////////////////////////////////
14 // //
15 // TGeoPainter //
16 // //
17 // Painter class utility TGeo geometries. Interfaces visualization //
18 // queries with the viewers. //
19 // //
20 //////////////////////////////////////////////////////////////////////////
21 
22 
23 #include "TVirtualGeoPainter.h"
24 
25 #include "TGeoManager.h"
26 
27 class TString;
28 class TGeoHMatrix;
29 class TGeoNode;
30 class TGeoVolume;
31 class TGeoShape;
32 class TVirtualGeoTrack;
33 class TGeoPhysicalNode;
34 class TGeoChecker;
35 class TGeoOverlap;
36 class TH2F;
37 class TGeoBatemanSol;
38 class TGeoPolygon;
39 
41 private:
42  Double_t fBombX; // bomb factor on X
43  Double_t fBombY; // bomb factor on Y
44  Double_t fBombZ; // bomb factor on Z
45  Double_t fBombR; // bomb factor on radius (cyl or sph)
46  Double_t fCheckedBox[6]; // bounding box of checked node
47  Double_t fMat[9]; // view rotation matrix
48  Int_t fNsegments; // number of segments approximating circles
49  Int_t fNVisNodes; // number of visible nodes
50  Int_t fVisLevel; // depth for drawing
51  Int_t fVisOption; // global visualization option
52  Int_t fExplodedView; // type of exploding current view
53  Bool_t fVisLock; // lock for adding visible volumes
54  Bool_t fTopVisible; // set top volume visible
55  Bool_t fPaintingOverlaps; // lock overlaps painting
56  Bool_t fIsRaytracing; // raytracing flag
57  Bool_t fIsPaintingShape; // flag for shape painting
58  TString fVisBranch; // drawn branch
59  TString fVolInfo; // volume info
60  TGeoNode *fCheckedNode; // checked node
61  TGeoOverlap *fOverlap; // current overlap
62  TGeoHMatrix *fGlobal; // current global matrix
63  TBuffer3D *fBuffer; // buffer used for painting
64  TGeoManager *fGeoManager; // geometry to which applies
65  TGeoChecker *fChecker; // geometry checker
66  TGeoShape *fClippingShape; // clipping shape
67  TGeoVolume *fTopVolume; // top drawn volume
68  TGeoVolume *fLastVolume; // last drawn volume
69  TGeoIteratorPlugin *fPlugin; // User iterator plugin for changing pain volume properties
70  TObjArray *fVisVolumes; // list of visible volumes
71  Bool_t fIsEditable; // flag that geometry is editable
72 
73  void DefineColors() const;
74  void LocalToMasterVect(const Double_t *local, Double_t *master) const;
75 
76 protected:
77  void ClearVisibleVolumes();
78 
79 public:
80  TGeoPainter(TGeoManager *manager);
81  virtual ~TGeoPainter();
82 
83  void AddSize3D(Int_t numpoints, Int_t numsegs, Int_t numpolys) override;
84  TVirtualGeoTrack *AddTrack(Int_t id, Int_t pdgcode, TObject *part) override;
85  void AddTrackPoint(Double_t *point, Double_t *box, Bool_t reset=kFALSE) override;
86  void BombTranslation(const Double_t *tr, Double_t *bombtr) override;
87  void CheckBoundaryErrors(Int_t ntracks=1000000, Double_t radius=-1.) override;
88  void CheckBoundaryReference(Int_t icheck=-1) override;
89  void CheckGeometryFull(Bool_t checkoverlaps=kTRUE, Bool_t checkcrossings=kTRUE, Int_t nrays=10000, const Double_t *vertex=nullptr) override;
90  void CheckGeometry(Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const override;
91  void CheckEdit();
92  void CheckPoint(Double_t x=0, Double_t y=0, Double_t z=0, Option_t *option="") override;
93  void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option) override;
94  void CheckOverlaps(const TGeoVolume *vol, Double_t ovlp=0.1, Option_t *option="") const override;
95  Int_t CountNodes(TGeoVolume *vol, Int_t level) const;
96  Int_t CountVisibleNodes() override;
97  void DefaultAngles() override;
98  void DefaultColors() override;
99  Int_t DistanceToPrimitiveVol(TGeoVolume *vol, Int_t px, Int_t py) override;
100  void Draw(Option_t *option="") override;
101  void DrawBatemanSol(TGeoBatemanSol *sol, Option_t *option="") override;
102  void DrawOverlap(void *ovlp, Option_t *option="") override;
103  void DrawCurrentPoint(Int_t color) override;
104  void DrawOnly(Option_t *option="") override;
105  void DrawPanel() override;
106  void DrawPath(const char *path, Option_t *option="") override;
107  void DrawPolygon(const TGeoPolygon *poly) override;
108  void DrawShape(TGeoShape *shape, Option_t *option="") override;
109  void DrawVolume(TGeoVolume *vol, Option_t *option="") override;
110  void EditGeometry(Option_t *option="") override;
111  void EstimateCameraMove(Double_t tmin, Double_t tmax, Double_t *start, Double_t *end) override;
112  void ExecuteManagerEvent(TGeoManager *geom, Int_t event, Int_t px, Int_t py) override;
113  void ExecuteShapeEvent(TGeoShape *shape, Int_t event, Int_t px, Int_t py) override;
114  void ExecuteVolumeEvent(TGeoVolume *volume, Int_t event, Int_t px, Int_t py) override;
115  const char *GetVolumeInfo(const TGeoVolume *volume, Int_t px, Int_t py) const override;
116  void GetBombFactors(Double_t &bombx, Double_t &bomby, Double_t &bombz, Double_t &bombr) const override
117  {bombx=fBombX; bomby=fBombY; bombz=fBombZ; bombr=fBombR;}
118  Int_t GetBombMode() const override {return fExplodedView;}
121  Int_t GetColor(Int_t base, Float_t light) const override;
122  const char *GetDrawPath() const override {return fVisBranch.Data();}
123  TGeoVolume *GetDrawnVolume() const override;
124  TGeoVolume *GetTopVolume() const override {return fTopVolume;}
125  Int_t GetVisLevel() const override {return fVisLevel;}
126  Int_t GetVisOption() const override {return fVisOption;}
127  Int_t GetNsegments() const override {return fNsegments;}
128  void GrabFocus(Int_t nfr=0, Double_t dlong=0, Double_t dlat=0, Double_t dpsi=0) override;
129  Double_t *GetViewBox() override {return &fCheckedBox[0];}
130  void GetViewAngles(Double_t &longitude, Double_t &latitude, Double_t &psi) override;
132  Bool_t IsRaytracing() const override {return fIsRaytracing;}
133  Bool_t IsPaintingShape() const override {return fIsPaintingShape;}
134  TH2F *LegoPlot(Int_t ntheta=60, Double_t themin=0., Double_t themax=180.,
135  Int_t nphi=90, Double_t phimin=0., Double_t phimax=360.,
136  Double_t rmin=0., Double_t rmax=9999999, Option_t *option="") override;
137  void Lock(Bool_t flag = kTRUE) { fVisLock = flag; }
138  void ModifiedPad(Bool_t update=kFALSE) const override;
139  void OpProgress(const char *opname, Long64_t current, Long64_t size, TStopwatch *watch=nullptr, Bool_t last=kFALSE, Bool_t refresh=kFALSE, const char *msg="") override;
140  void Paint(Option_t *option="") override;
141  void PaintNode(TGeoNode *node, Option_t *option="", TGeoMatrix *global=nullptr) override;
142  Bool_t PaintShape(const TGeoShape & shape, Option_t * option) const;
143  void PaintShape(TGeoShape *shape, Option_t *option="") override;
144  void PaintOverlap(void *ovlp, Option_t *option="") override;
145  void PaintVolume(TGeoVolume *vol, Option_t *option="", TGeoMatrix *global=nullptr) override;
146  void PrintOverlaps() const override;
147  void PaintPhysicalNode(TGeoPhysicalNode *node, Option_t *option="");
148  void RandomPoints(const TGeoVolume *vol, Int_t npoints, Option_t *option="") override;
149  void RandomRays(Int_t nrays, Double_t startx, Double_t starty, Double_t startz, const char *target_vol = nullptr, Bool_t check_norm = kFALSE) override;
150  void Raytrace(Option_t *option="") override;
151  TGeoNode *SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil, const char* g3path) override;
152  void SetBombFactors(Double_t bombx=1.3, Double_t bomby=1.3, Double_t bombz=1.3, Double_t bombr=1.3) override;
153  void SetClippingShape(TGeoShape *shape) override {fClippingShape = shape;}
154  void SetExplodedView(Int_t iopt=0) override;
155  void SetNsegments(Int_t nseg=20) override;
156  void SetNmeshPoints(Int_t npoints) override;
157  void SetGeoManager(TGeoManager *geom) override {fGeoManager=geom;}
158  void SetIteratorPlugin(TGeoIteratorPlugin *plugin) override {fPlugin = plugin; ModifiedPad();}
159  void SetCheckedNode(TGeoNode *node) override;
160  void SetRaytracing(Bool_t flag=kTRUE) override {fIsRaytracing = flag;}
161  void SetTopVisible(Bool_t vis=kTRUE) override;
162  void SetTopVolume(TGeoVolume *vol) override {fTopVolume = vol;}
163  void SetVisLevel(Int_t level=3) override;
164  void SetVisOption(Int_t option=0) override;
165  Int_t ShapeDistancetoPrimitive(const TGeoShape *shape, Int_t numpoints, Int_t px, Int_t py) const override;
166  void Test(Int_t npoints, Option_t *option) override;
167  void TestOverlaps(const char *path) override;
168  Bool_t TestVoxels(TGeoVolume *vol) override;
169  void UnbombTranslation(const Double_t *tr, Double_t *bombtr) override;
170  Double_t Weight(Double_t precision, Option_t *option="v") override;
171 
172  ClassDefOverride(TGeoPainter,0) //geometry painter
173 };
174 
175 #endif
TGeoPainter::Raytrace
void Raytrace(Option_t *option="") override
Raytrace current drawn geometry.
Definition: TGeoPainter.cxx:1608
vertex
REAL * vertex
Definition: triangle.c:512
TGeoPainter::fGlobal
TGeoHMatrix * fGlobal
Definition: TGeoPainter.h:62
TGeoPainter::fVisOption
Int_t fVisOption
Definition: TGeoPainter.h:51
kTRUE
const Bool_t kTRUE
Definition: RtypesCore.h:91
TGeoPhysicalNode
Definition: TGeoPhysicalNode.h:35
TObjArray
Definition: TObjArray.h:37
TGeoPainter::TGeoPainter
TGeoPainter(TGeoManager *manager)
Default constructor.
Definition: TGeoPainter.cxx:65
TGeoPainter::ExecuteShapeEvent
void ExecuteShapeEvent(TGeoShape *shape, Int_t event, Int_t px, Int_t py) override
Execute mouse actions on a given shape.
Definition: TGeoPainter.cxx:1033
TGeoPainter::DefineColors
void DefineColors() const
Define 100 colors with increasing light intensities for each basic color (1-7) Register these colors ...
Definition: TGeoPainter.cxx:275
TGeoPainter::LegoPlot
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="") override
Generate a lego plot fot the top volume, according to option.
Definition: TGeoPainter.cxx:1167
TGeoPainter::PrintOverlaps
void PrintOverlaps() const override
Print overlaps (see TGeoChecker::PrintOverlaps())
Definition: TGeoPainter.cxx:1576
TGeoPainter::SetIteratorPlugin
void SetIteratorPlugin(TGeoIteratorPlugin *plugin) override
Definition: TGeoPainter.h:158
TGeoPainter::CountVisibleNodes
Int_t CountVisibleNodes() override
Count total number of visible nodes.
Definition: TGeoPainter.cxx:609
TH2F
2-D histogram with a float per channel (see TH1 documentation)}
Definition: TH2.h:251
TGeoPainter::SetNmeshPoints
void SetNmeshPoints(Int_t npoints) override
Set number of points to be generated on the shape outline when checking for overlaps.
Definition: TGeoPainter.cxx:1885
TGeoPainter::GetDrawnVolume
TGeoVolume * GetDrawnVolume() const override
Get currently drawn volume.
Definition: TGeoPainter.cxx:331
TString::Data
const char * Data() const
Definition: TString.h:369
TGeoPainter::SetClippingShape
void SetClippingShape(TGeoShape *shape) override
Definition: TGeoPainter.h:153
TGeoChecker
Definition: TGeoChecker.h:37
Long64_t
long long Long64_t
Definition: RtypesCore.h:73
TGeoPainter::RandomPoints
void RandomPoints(const TGeoVolume *vol, Int_t npoints, Option_t *option="") override
Draw random points in the bounding box of a volume.
Definition: TGeoPainter.cxx:1592
TGeoPainter::DrawOverlap
void DrawOverlap(void *ovlp, Option_t *option="") override
Draw an overlap.
Definition: TGeoPainter.cxx:868
TGeoPainter::DrawBatemanSol
void DrawBatemanSol(TGeoBatemanSol *sol, Option_t *option="") override
Draw the time evolution of a radionuclide.
Definition: TGeoPainter.cxx:692
TGeoPainter::ClearVisibleVolumes
void ClearVisibleVolumes()
Clear the list of visible volumes reset the kVisOnScreen bit for volumes previously in the list.
Definition: TGeoPainter.cxx:259
TGeoPainter::CheckGeometry
void CheckGeometry(Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const override
Geometry checking method (see TGeoChecker).
Definition: TGeoPainter.cxx:222
Float_t
float Float_t
Definition: RtypesCore.h:57
TGeoPainter::CountNodes
Int_t CountNodes(TGeoVolume *vol, Int_t level) const
Count number of visible nodes down to a given level.
Definition: TGeoPainter.cxx:559
TGeoPainter::EstimateCameraMove
void EstimateCameraMove(Double_t tmin, Double_t tmax, Double_t *start, Double_t *end) override
Estimate camera movement between tmin and tmax for best track display.
Definition: TGeoPainter.cxx:990
TGeoPainter::TestVoxels
Bool_t TestVoxels(TGeoVolume *vol) override
Check voxels efficiency per volume.
Definition: TGeoPainter.cxx:2048
Int_t
int Int_t
Definition: RtypesCore.h:45
box
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Definition: fillpatterns.C:1
TGeoPainter::DrawVolume
void DrawVolume(TGeoVolume *vol, Option_t *option="") override
Draw method.
Definition: TGeoPainter.cxx:781
TGeoPainter::RandomRays
void RandomRays(Int_t nrays, Double_t startx, Double_t starty, Double_t startz, const char *target_vol=nullptr, Bool_t check_norm=kFALSE) override
Shoot nrays in the current drawn geometry.
Definition: TGeoPainter.cxx:1600
TGeoPainter::CheckBoundaryErrors
void CheckBoundaryErrors(Int_t ntracks=1000000, Double_t radius=-1.) override
Check pushes and pulls needed to cross the next boundary with respect to the position given by FindNe...
Definition: TGeoPainter.cxx:196
TGeoPainter::DrawPolygon
void DrawPolygon(const TGeoPolygon *poly) override
Draw a polygon in 3D.
Definition: TGeoPainter.cxx:732
x
Double_t x[n]
Definition: legend1.C:17
TGeoPainter::fBombX
Double_t fBombX
Definition: TGeoPainter.h:42
TGeoPainter::Weight
Double_t Weight(Double_t precision, Option_t *option="v") override
Compute weight [kg] of the current volume.
Definition: TGeoPainter.cxx:2085
TGeoPainter::BombTranslation
void BombTranslation(const Double_t *tr, Double_t *bombtr) override
Get the new 'bombed' translation vector according current exploded view mode.
Definition: TGeoPainter.cxx:165
TGeoPainter::fVisLevel
Int_t fVisLevel
Definition: TGeoPainter.h:50
TGeoPainter::SetRaytracing
void SetRaytracing(Bool_t flag=kTRUE) override
Definition: TGeoPainter.h:160
TGeoPainter::fVisVolumes
TObjArray * fVisVolumes
Definition: TGeoPainter.h:70
TGeoPainter::DrawPanel
void DrawPanel() override
Definition: TGeoPainter.cxx:970
TGeoPainter::GetNsegments
Int_t GetNsegments() const override
Definition: TGeoPainter.h:127
TGeoPainter::fIsEditable
Bool_t fIsEditable
Definition: TGeoPainter.h:71
TGeoPainter::DrawPath
void DrawPath(const char *path, Option_t *option="") override
Draw all volumes for a given path.
Definition: TGeoPainter.cxx:977
TString
Definition: TString.h:136
ClassDefOverride
#define ClassDefOverride(name, id)
Definition: Rtypes.h:329
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
TGeoPainter::TestOverlaps
void TestOverlaps(const char *path) override
Geometry overlap checker based on sampling.
Definition: TGeoPainter.cxx:2040
TGeoNode
Definition: TGeoNode.h:39
TGeoPainter::ModifiedPad
void ModifiedPad(Bool_t update=kFALSE) const override
Check if a pad and view are present and send signal "Modified" to pad.
Definition: TGeoPainter.cxx:1185
bool
TGeoPainter::ExecuteManagerEvent
void ExecuteManagerEvent(TGeoManager *geom, Int_t event, Int_t px, Int_t py) override
Execute mouse actions on a given volume.
Definition: TGeoPainter.cxx:1020
TGeoPainter::AddSize3D
void AddSize3D(Int_t numpoints, Int_t numsegs, Int_t numpolys) override
Add numpoints, numsegs, numpolys to the global 3D size.
Definition: TGeoPainter.cxx:118
TGeoPainter::GetChecker
TGeoChecker * GetChecker()
Create/return geometry checker.
Definition: TGeoPainter.cxx:1116
TGeoPainter::fCheckedBox
Double_t fCheckedBox[6]
Definition: TGeoPainter.h:46
TGeoBatemanSol
Definition: TGeoElement.h:281
TGeoPainter::DrawCurrentPoint
void DrawCurrentPoint(Int_t color) override
Draw current point in the same view.
Definition: TGeoPainter.cxx:955
TGeoPainter::fTopVolume
TGeoVolume * fTopVolume
Definition: TGeoPainter.h:67
TVirtualGeoPainter::kGeoVisDefault
@ kGeoVisDefault
Definition: TVirtualGeoPainter.h:42
TGeoPainter::Paint
void Paint(Option_t *option="") override
Paint current geometry according to option.
Definition: TGeoPainter.cxx:1202
TGeoPainter::OpProgress
void OpProgress(const char *opname, Long64_t current, Long64_t size, TStopwatch *watch=nullptr, Bool_t last=kFALSE, Bool_t refresh=kFALSE, const char *msg="") override
Text progress bar.
Definition: TGeoPainter.cxx:1584
TGeoPainter::AddTrack
TVirtualGeoTrack * AddTrack(Int_t id, Int_t pdgcode, TObject *part) override
Create a primary TGeoTrack.
Definition: TGeoPainter.cxx:127
update
static void update(gsl_integration_workspace *workspace, double a1, double b1, double area1, double error1, double a2, double b2, double area2, double error2)
Definition: RooAdaptiveGaussKronrodIntegrator1D.cxx:652
ROOT::Math::gv_detail::dist
double dist(Rotation3D const &r1, Rotation3D const &r2)
Definition: 3DDistances.cxx:63
TGeoPainter::DrawOnly
void DrawOnly(Option_t *option="") override
Draw only one volume.
Definition: TGeoPainter.cxx:915
TBuffer3D
Definition: TBuffer3D.h:17
TGeoPainter::DrawShape
void DrawShape(TGeoShape *shape, Option_t *option="") override
Draw a shape.
Definition: TGeoPainter.cxx:832
TGeoPainter::Draw
void Draw(Option_t *option="") override
Draw method.
Definition: TGeoPainter.cxx:684
Option_t
const typedef char Option_t
Definition: RtypesCore.h:66
TGeoPainter::SetVisOption
void SetVisOption(Int_t option=0) override
Set drawing mode :
Definition: TGeoPainter.cxx:1935
TGeoShape
Definition: TGeoShape.h:25
TGeoPainter::CheckGeometryFull
void CheckGeometryFull(Bool_t checkoverlaps=kTRUE, Bool_t checkcrossings=kTRUE, Int_t nrays=10000, const Double_t *vertex=nullptr) override
Geometry checking method (see: TGeoManager::CheckGeometry())
Definition: TGeoPainter.cxx:214
TGeoPainter::DefaultAngles
void DefaultAngles() override
Set default angles for the current view.
Definition: TGeoPainter.cxx:533
TGeoHMatrix
Definition: TGeoMatrix.h:420
TGeoPolygon
Definition: TGeoPolygon.h:19
TGeoPainter::fBuffer
TBuffer3D * fBuffer
Definition: TGeoPainter.h:63
TGeoPainter::fCheckedNode
TGeoNode * fCheckedNode
Definition: TGeoPainter.h:60
TGeoPainter::SetBombFactors
void SetBombFactors(Double_t bombx=1.3, Double_t bomby=1.3, Double_t bombz=1.3, Double_t bombr=1.3) override
Set cartesian and radial bomb factors for translations.
Definition: TGeoPainter.cxx:1831
TGeoPainter::GetCheckedNode
TGeoNode * GetCheckedNode()
Definition: TGeoPainter.h:119
TGeoPainter::fBombZ
Double_t fBombZ
Definition: TGeoPainter.h:44
TGeoPainter::GetBombFactors
void GetBombFactors(Double_t &bombx, Double_t &bomby, Double_t &bombz, Double_t &bombr) const override
Definition: TGeoPainter.h:116
kFALSE
const Bool_t kFALSE
Definition: RtypesCore.h:92
TGeoPainter::PaintPhysicalNode
void PaintPhysicalNode(TGeoPhysicalNode *node, Option_t *option="")
Paints a physical node associated with a path.
Definition: TGeoPainter.cxx:1512
TGeoPainter::fBombY
Double_t fBombY
Definition: TGeoPainter.h:43
TGeoPainter::CheckBoundaryReference
void CheckBoundaryReference(Int_t icheck=-1) override
Check the boundary errors reference file created by CheckBoundaryErrors method.
Definition: TGeoPainter.cxx:206
TGeoPainter::Lock
void Lock(Bool_t flag=kTRUE)
Definition: TGeoPainter.h:137
TGeoPainter::Test
void Test(Int_t npoints, Option_t *option) override
Check time of finding "Where am I" for n points.
Definition: TGeoPainter.cxx:2032
TGeoPainter::~TGeoPainter
virtual ~TGeoPainter()
Default destructor.
Definition: TGeoPainter.cxx:107
TGeoPainter::PaintOverlap
void PaintOverlap(void *ovlp, Option_t *option="") override
Paint an overlap.
Definition: TGeoPainter.cxx:1239
TGeoPainter::IsPaintingShape
Bool_t IsPaintingShape() const override
Definition: TGeoPainter.h:133
TGeoPainter::CheckShape
void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option) override
Test for shape navigation methods.
Definition: TGeoPainter.cxx:250
TGeoPainter::EditGeometry
void EditGeometry(Option_t *option="") override
Start the geometry editor.
Definition: TGeoPainter.cxx:669
TGeoPainter::fPlugin
TGeoIteratorPlugin * fPlugin
Definition: TGeoPainter.h:69
TGeoPainter::ShapeDistancetoPrimitive
Int_t ShapeDistancetoPrimitive(const TGeoShape *shape, Int_t numpoints, Int_t px, Int_t py) const override
Returns distance between point px,py on the pad an a shape.
Definition: TGeoPainter.cxx:1979
y
Double_t y[n]
Definition: legend1.C:17
TGeoPainter::GrabFocus
void GrabFocus(Int_t nfr=0, Double_t dlong=0, Double_t dlat=0, Double_t dpsi=0) override
Move focus to current volume.
Definition: TGeoPainter.cxx:1138
TGeoPainter::GetVisOption
Int_t GetVisOption() const override
Definition: TGeoPainter.h:126
TGeoPainter::PaintNode
void PaintNode(TGeoNode *node, Option_t *option="", TGeoMatrix *global=nullptr) override
Paint recursively a node and its content according to visualization options.
Definition: TGeoPainter.cxx:1287
TGeoPainter::CheckEdit
void CheckEdit()
Check if Ged library is loaded and load geometry editor classe.
Definition: TGeoPainter.cxx:654
TGeoPainter::fVolInfo
TString fVolInfo
Definition: TGeoPainter.h:59
TGeoPainter::GetDrawPath
const char * GetDrawPath() const override
Definition: TGeoPainter.h:122
TGeoPainter::AddTrackPoint
void AddTrackPoint(Double_t *point, Double_t *box, Bool_t reset=kFALSE) override
Average center of view of all painted tracklets and compute view box.
Definition: TGeoPainter.cxx:135
TGeoPainter::GetTopVolume
TGeoVolume * GetTopVolume() const override
Definition: TGeoPainter.h:124
TGeoPainter::SetCheckedNode
void SetCheckedNode(TGeoNode *node) override
Select a node to be checked for overlaps.
Definition: TGeoPainter.cxx:1893
TGeoPainter::IsExplodedView
Bool_t IsExplodedView() const override
Definition: TGeoPainter.h:131
TGeoPainter::GetColor
Int_t GetColor(Int_t base, Float_t light) const override
Get index of a base color with given light intensity (0,1)
Definition: TGeoPainter.cxx:288
TGeoPainter::SetTopVolume
void SetTopVolume(TGeoVolume *vol) override
Definition: TGeoPainter.h:162
TGeoOverlap
Definition: TGeoOverlap.h:37
TGeoPainter::fChecker
TGeoChecker * fChecker
Definition: TGeoPainter.h:65
TGeoManager.h
TGeoPainter::fPaintingOverlaps
Bool_t fPaintingOverlaps
Definition: TGeoPainter.h:55
TGeoPainter::fNVisNodes
Int_t fNVisNodes
Definition: TGeoPainter.h:49
TGeoPainter::fExplodedView
Int_t fExplodedView
Definition: TGeoPainter.h:52
TGeoPainter::PaintShape
Bool_t PaintShape(const TGeoShape &shape, Option_t *option) const
Paint the supplied shape into the current 3D viewer.
Definition: TGeoPainter.cxx:1453
TVirtualGeoPainter.h
TVirtualGeoPainter
Definition: TVirtualGeoPainter.h:32
Double_t
double Double_t
Definition: RtypesCore.h:59
TGeoPainter::ExecuteVolumeEvent
void ExecuteVolumeEvent(TGeoVolume *volume, Int_t event, Int_t px, Int_t py) override
Execute mouse actions on a given volume.
Definition: TGeoPainter.cxx:1046
TGeoMatrix
Definition: TGeoMatrix.h:40
TGeoPainter::CheckPoint
void CheckPoint(Double_t x=0, Double_t y=0, Double_t z=0, Option_t *option="") override
Check current point in the geometry.
Definition: TGeoPainter.cxx:238
TGeoPainter::SamplePoints
TGeoNode * SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil, const char *g3path) override
Shoot npoints randomly in a box of 1E-5 around current point.
Definition: TGeoPainter.cxx:1822
TGeoPainter::fBombR
Double_t fBombR
Definition: TGeoPainter.h:45
TStopwatch
Definition: TStopwatch.h:28
TObject
Definition: TObject.h:37
TGeoPainter::GetVisLevel
Int_t GetVisLevel() const override
Definition: TGeoPainter.h:125
TGeoPainter::GetViewAngles
void GetViewAngles(Double_t &longitude, Double_t &latitude, Double_t &psi) override
Get the current view angles.
Definition: TGeoPainter.cxx:1125
TGeoPainter::SetNsegments
void SetNsegments(Int_t nseg=20) override
Set number of segments to approximate circles.
Definition: TGeoPainter.cxx:1871
TGeoPainter::CheckOverlaps
void CheckOverlaps(const TGeoVolume *vol, Double_t ovlp=0.1, Option_t *option="") const override
Check overlaps for the top volume of the geometry, within a limit OVLP.
Definition: TGeoPainter.cxx:230
TGeoPainter::LocalToMasterVect
void LocalToMasterVect(const Double_t *local, Double_t *master) const
Convert a local vector according view rotation matrix.
Definition: TGeoPainter.cxx:1176
TGeoPainter::fNsegments
Int_t fNsegments
Definition: TGeoPainter.h:48
TGeoPainter::fOverlap
TGeoOverlap * fOverlap
Definition: TGeoPainter.h:61
TGeoPainter::DefaultColors
void DefaultColors() override
Set default volume colors according to tracking media.
Definition: TGeoPainter.cxx:547
TGeoPainter::IsRaytracing
Bool_t IsRaytracing() const override
Definition: TGeoPainter.h:132
TGeoPainter::SetVisLevel
void SetVisLevel(Int_t level=3) override
Set default level down to which visualization is performed.
Definition: TGeoPainter.cxx:1900
TGeoPainter::SetTopVisible
void SetTopVisible(Bool_t vis=kTRUE) override
Set top geometry volume as visible.
Definition: TGeoPainter.cxx:1922
TGeoPainter::fIsPaintingShape
Bool_t fIsPaintingShape
Definition: TGeoPainter.h:57
TVirtualGeoTrack
Definition: TVirtualGeoTrack.h:23
TGeoPainter::fClippingShape
TGeoShape * fClippingShape
Definition: TGeoPainter.h:66
TGeoPainter::GetVolumeInfo
const char * GetVolumeInfo(const TGeoVolume *volume, Int_t px, Int_t py) const override
Get some info about the current selected volume.
Definition: TGeoPainter.cxx:1091
TGeoPainter::fMat
Double_t fMat[9]
Definition: TGeoPainter.h:47
TGeoPainter::fIsRaytracing
Bool_t fIsRaytracing
Definition: TGeoPainter.h:56
TGeoPainter::fVisLock
Bool_t fVisLock
Definition: TGeoPainter.h:53
TGeoManager
Definition: TGeoManager.h:44
TGeoPainter::fLastVolume
TGeoVolume * fLastVolume
Definition: TGeoPainter.h:68
TGeoPainter::SetExplodedView
void SetExplodedView(Int_t iopt=0) override
Set type of exploding view.
Definition: TGeoPainter.cxx:1843
TGeoPainter::DistanceToPrimitiveVol
Int_t DistanceToPrimitiveVol(TGeoVolume *vol, Int_t px, Int_t py) override
Compute the closest distance of approach from point px,py to a volume.
Definition: TGeoPainter.cxx:340
TGeoVolume
Definition: TGeoVolume.h:44
TGeoPainter::SetGeoManager
void SetGeoManager(TGeoManager *geom) override
Definition: TGeoPainter.h:157
TGeoPainter::PaintVolume
void PaintVolume(TGeoVolume *vol, Option_t *option="", TGeoMatrix *global=nullptr) override
Paint recursively a node and its content according to visualization options.
Definition: TGeoPainter.cxx:1295
TGeoPainter::fGeoManager
TGeoManager * fGeoManager
Definition: TGeoPainter.h:64
TGeoPainter
Definition: TGeoPainter.h:40
TGeoPainter::fVisBranch
TString fVisBranch
Definition: TGeoPainter.h:58
TGeoIteratorPlugin
Definition: TGeoNode.h:220
TGeoPainter::GetBombMode
Int_t GetBombMode() const override
Definition: TGeoPainter.h:118
int
TGeoPainter::GetViewBox
Double_t * GetViewBox() override
Definition: TGeoPainter.h:129
TGeoPainter::UnbombTranslation
void UnbombTranslation(const Double_t *tr, Double_t *bombtr) override
Get the new 'unbombed' translation vector according current exploded view mode.
Definition: TGeoPainter.cxx:2056
TGeoPainter::fTopVisible
Bool_t fTopVisible
Definition: TGeoPainter.h:54