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
27class TString;
28class TGeoHMatrix;
29class TGeoNode;
30class TGeoVolume;
31class TGeoShape;
34class TGeoChecker;
35class TGeoOverlap;
36class TH2F;
37class TGeoBatemanSol;
38class TGeoPolygon;
39
41private:
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
70 *fPlugin; // User iterator plugin for changing pain volume properties
71 TObjArray *fVisVolumes; // list of visible volumes
72 Bool_t fIsEditable; // flag that geometry is editable
73
74 void DefineColors() const;
75 void LocalToMasterVect(const Double_t *local, Double_t *master) const;
76
77protected:
78 virtual void ClearVisibleVolumes();
79
80public:
81 TGeoPainter(TGeoManager *manager);
82 virtual ~TGeoPainter();
83 virtual void AddSize3D(Int_t numpoints, Int_t numsegs, Int_t numpolys);
84 virtual TVirtualGeoTrack *AddTrack(Int_t id, Int_t pdgcode, TObject *part);
85 virtual void AddTrackPoint(Double_t *point, Double_t *box, Bool_t reset=kFALSE);
86 virtual void BombTranslation(const Double_t *tr, Double_t *bombtr);
87 virtual void CheckBoundaryErrors(Int_t ntracks=1000000, Double_t radius=-1.);
88 virtual void CheckBoundaryReference(Int_t icheck=-1);
89 virtual void CheckGeometryFull(Bool_t checkoverlaps=kTRUE, Bool_t checkcrossings=kTRUE, Int_t nrays=10000, const Double_t *vertex=NULL);
90 virtual void CheckGeometry(Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const;
91 void CheckEdit();
92 virtual void CheckPoint(Double_t x=0, Double_t y=0, Double_t z=0, Option_t *option="");
93 virtual void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option);
94 virtual void CheckOverlaps(const TGeoVolume *vol, Double_t ovlp=0.1, Option_t *option="") const;
95 Int_t CountNodes(TGeoVolume *vol, Int_t level) const;
96 virtual Int_t CountVisibleNodes();
97 virtual void DefaultAngles();
98 virtual void DefaultColors();
100 virtual void Draw(Option_t *option="");
101 virtual void DrawBatemanSol(TGeoBatemanSol *sol, Option_t *option="");
102 virtual void DrawOverlap(void *ovlp, Option_t *option="");
103 virtual void DrawCurrentPoint(Int_t color);
104 virtual void DrawOnly(Option_t *option="");
105 virtual void DrawPanel();
106 virtual void DrawPath(const char *path, Option_t *option="");
107 virtual void DrawPolygon(const TGeoPolygon *poly);
108 virtual void DrawShape(TGeoShape *shape, Option_t *option="");
109 virtual void DrawVolume(TGeoVolume *vol, Option_t *option="");
110 virtual void EditGeometry(Option_t *option="");
111 virtual void EstimateCameraMove(Double_t tmin, Double_t tmax, Double_t *start, Double_t *end);
112 virtual void ExecuteManagerEvent(TGeoManager *geom, Int_t event, Int_t px, Int_t py);
113 virtual void ExecuteShapeEvent(TGeoShape *shape, Int_t event, Int_t px, Int_t py);
114 virtual void ExecuteVolumeEvent(TGeoVolume *volume, Int_t event, Int_t px, Int_t py);
115 virtual const char*GetVolumeInfo(const TGeoVolume *volume, Int_t px, Int_t py) const;
116 virtual void GetBombFactors(Double_t &bombx, Double_t &bomby, Double_t &bombz, Double_t &bombr) const
117 {bombx=fBombX; bomby=fBombY; bombz=fBombZ; bombr=fBombR;}
118 virtual Int_t GetBombMode() const {return fExplodedView;}
121 virtual Int_t GetColor(Int_t base, Float_t light) const;
122 virtual const char *GetDrawPath() const {return fVisBranch.Data();}
123 virtual TGeoVolume *GetDrawnVolume() const;
124 virtual TGeoVolume *GetTopVolume() const {return fTopVolume;}
125 virtual Int_t GetVisLevel() const {return fVisLevel;}
126 virtual Int_t GetVisOption() const {return fVisOption;}
127 Int_t GetNsegments() const {return fNsegments;}
128 virtual void GrabFocus(Int_t nfr=0, Double_t dlong=0, Double_t dlat=0, Double_t dpsi=0);
129 virtual Double_t *GetViewBox() {return &fCheckedBox[0];}
130 virtual void GetViewAngles(Double_t &longitude, Double_t &latitude, Double_t &psi);
132 virtual Bool_t IsRaytracing() const {return fIsRaytracing;}
133 virtual Bool_t IsPaintingShape() const {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="");
137 void Lock(Bool_t flag = kTRUE) {fVisLock = flag;}
138 virtual void ModifiedPad(Bool_t update=kFALSE) const;
139 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="");
140 virtual void Paint(Option_t *option="");
141 virtual void PaintNode(TGeoNode *node, Option_t *option="", TGeoMatrix* global=0);
142 Bool_t PaintShape(const TGeoShape & shape, Option_t * option) const;
143 virtual void PaintShape(TGeoShape *shape, Option_t *option="");
144 virtual void PaintOverlap(void *ovlp, Option_t *option="");
145 virtual void PaintVolume(TGeoVolume *vol, Option_t *option="", TGeoMatrix* global=0);
146 virtual void PrintOverlaps() const;
147 void PaintPhysicalNode(TGeoPhysicalNode *node, Option_t *option="");
148 virtual void RandomPoints(const TGeoVolume *vol, Int_t npoints, Option_t *option="");
149 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);
150 virtual void Raytrace(Option_t *option="");
151 virtual TGeoNode *SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil, const char* g3path);
152 virtual void SetBombFactors(Double_t bombx=1.3, Double_t bomby=1.3, Double_t bombz=1.3, Double_t bombr=1.3);
153 virtual void SetClippingShape(TGeoShape *shape) {fClippingShape = shape;}
154 virtual void SetExplodedView(Int_t iopt=0);
155 virtual void SetNsegments(Int_t nseg=20);
156 virtual void SetNmeshPoints(Int_t npoints);
157 virtual void SetGeoManager(TGeoManager *geom) {fGeoManager=geom;}
158 virtual void SetIteratorPlugin(TGeoIteratorPlugin *plugin) {fPlugin = plugin; ModifiedPad();}
159 virtual void SetCheckedNode(TGeoNode *node);
160 virtual void SetRaytracing(Bool_t flag=kTRUE) {fIsRaytracing = flag;}
161 virtual void SetTopVisible(Bool_t vis=kTRUE);
162 virtual void SetTopVolume(TGeoVolume *vol) {fTopVolume = vol;}
163 virtual void SetVisLevel(Int_t level=3);
164 virtual void SetVisOption(Int_t option=0);
165 virtual Int_t ShapeDistancetoPrimitive(const TGeoShape *shape, Int_t numpoints, Int_t px, Int_t py) const;
166 virtual void Test(Int_t npoints, Option_t *option);
167 virtual void TestOverlaps(const char *path);
168 virtual Bool_t TestVoxels(TGeoVolume *vol);
169 virtual void UnbombTranslation(const Double_t *tr, Double_t *bombtr);
170 virtual Double_t Weight(Double_t precision, Option_t *option="v");
171
172 ClassDef(TGeoPainter,0) //geometry painter
173};
174
175#endif
static void update(gsl_integration_workspace *workspace, double a1, double b1, double area1, double error1, double a2, double b2, double area2, double error2)
int Int_t
Definition: RtypesCore.h:41
const Bool_t kFALSE
Definition: RtypesCore.h:88
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
long long Long64_t
Definition: RtypesCore.h:69
float Float_t
Definition: RtypesCore.h:53
const Bool_t kTRUE
Definition: RtypesCore.h:87
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:326
Generic 3D primitive description class.
Definition: TBuffer3D.h:18
Geometry checking package.
Definition: TGeoChecker.h:38
Matrix class used for computing global transformations Should NOT be used for node definition.
Definition: TGeoMatrix.h:421
The manager class for any TGeo geometry.
Definition: TGeoManager.h:43
Geometrical transformation package.
Definition: TGeoMatrix.h:41
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
Definition: TGeoNode.h:41
Base class describing geometry overlaps.
Definition: TGeoOverlap.h:41
Class implementing all draw interfaces for a generic 3D viewer using TBuffer3D mechanism.
Definition: TGeoPainter.h:40
Double_t fBombZ
Definition: TGeoPainter.h:44
TObjArray * fVisVolumes
Definition: TGeoPainter.h:71
TGeoIteratorPlugin * fPlugin
Definition: TGeoPainter.h:70
Double_t fMat[9]
Definition: TGeoPainter.h:47
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.
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 DrawShape(TGeoShape *shape, Option_t *option="")
Draw a shape.
TBuffer3D * fBuffer
Definition: TGeoPainter.h:63
virtual TGeoVolume * GetDrawnVolume() const
Get currently drawn volume.
virtual void CheckGeometry(Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const
Geometry checking method (see TGeoChecker).
virtual void Paint(Option_t *option="")
Paint current geometry according to option.
TGeoManager * fGeoManager
Definition: TGeoPainter.h:64
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 SetCheckedNode(TGeoNode *node)
Select a node to be checked for overlaps.
virtual void EditGeometry(Option_t *option="")
Start the geometry editor.
virtual void SetTopVisible(Bool_t vis=kTRUE)
Set top geometry volume as visible.
TString fVisBranch
Definition: TGeoPainter.h:58
virtual void SetVisOption(Int_t option=0)
Set drawing mode :
TGeoVolume * fTopVolume
Definition: TGeoPainter.h:67
TGeoChecker * GetChecker()
Create/return geometry checker.
virtual ~TGeoPainter()
Default destructor.
virtual void SetExplodedView(Int_t iopt=0)
Set type of exploding view.
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 UnbombTranslation(const Double_t *tr, Double_t *bombtr)
Get the new 'unbombed' translation vector according current exploded view mode.
Bool_t fIsPaintingShape
Definition: TGeoPainter.h:57
Double_t fBombR
Definition: TGeoPainter.h:45
virtual void SetClippingShape(TGeoShape *shape)
Definition: TGeoPainter.h:153
virtual Bool_t IsRaytracing() const
Definition: TGeoPainter.h:132
virtual void SetIteratorPlugin(TGeoIteratorPlugin *plugin)
Definition: TGeoPainter.h:158
virtual Int_t GetVisOption() const
Definition: TGeoPainter.h:126
virtual void DrawOnly(Option_t *option="")
Draw only one volume.
virtual Double_t Weight(Double_t precision, Option_t *option="v")
Compute weight [kg] of the current volume.
virtual void SetGeoManager(TGeoManager *geom)
Definition: TGeoPainter.h:157
virtual Bool_t IsPaintingShape() const
Definition: TGeoPainter.h:133
virtual TGeoNode * GetCheckedNode()
Definition: TGeoPainter.h:119
void DefineColors() const
Define 100 colors with increasing light intensities for each basic color (1-7) Register these colors ...
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 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 DrawBatemanSol(TGeoBatemanSol *sol, Option_t *option="")
Draw the time evolution of a radionuclide.
virtual void ExecuteShapeEvent(TGeoShape *shape, Int_t event, Int_t px, Int_t py)
Execute mouse actions on a given shape.
TGeoVolume * fLastVolume
Definition: TGeoPainter.h:68
virtual void DrawCurrentPoint(Int_t color)
Draw current point in the same view.
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 RandomPoints(const TGeoVolume *vol, Int_t npoints, Option_t *option="")
Draw random points in the bounding box of a volume.
Bool_t fVisLock
Definition: TGeoPainter.h:53
TGeoShape * fClippingShape
Definition: TGeoPainter.h:66
Bool_t PaintShape(const TGeoShape &shape, Option_t *option) const
Paint the supplied shape into the current 3D viewer.
virtual void DrawPolygon(const TGeoPolygon *poly)
Draw a polygon in 3D.
Bool_t fIsEditable
Definition: TGeoPainter.h:72
virtual Bool_t IsExplodedView() const
Definition: TGeoPainter.h:131
Int_t CountNodes(TGeoVolume *vol, Int_t level) const
Count number of visible nodes down to a given level.
Double_t fCheckedBox[6]
Definition: TGeoPainter.h:46
virtual Int_t GetVisLevel() const
Definition: TGeoPainter.h:125
virtual void ExecuteManagerEvent(TGeoManager *geom, Int_t event, Int_t px, Int_t py)
Execute mouse actions on a given volume.
virtual void BombTranslation(const Double_t *tr, Double_t *bombtr)
Get the new 'bombed' translation vector according current exploded view mode.
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.
TGeoOverlap * fOverlap
Definition: TGeoPainter.h:61
Double_t fBombY
Definition: TGeoPainter.h:43
virtual void CheckBoundaryReference(Int_t icheck=-1)
Check the boundary errors reference file created by CheckBoundaryErrors method.
Bool_t fPaintingOverlaps
Definition: TGeoPainter.h:55
virtual void Test(Int_t npoints, Option_t *option)
Check time of finding "Where am I" for n points.
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 TVirtualGeoTrack * AddTrack(Int_t id, Int_t pdgcode, TObject *part)
Create a primary TGeoTrack.
void CheckEdit()
Check if Ged library is loaded and load geometry editor classe.
virtual Int_t CountVisibleNodes()
Count total number of visible nodes.
virtual void ClearVisibleVolumes()
Clear the list of visible volumes reset the kVisOnScreen bit for volumes previously in the list.
virtual void SetNsegments(Int_t nseg=20)
Set number of segments to approximate circles.
virtual void DrawOverlap(void *ovlp, Option_t *option="")
Draw an overlap.
void LocalToMasterVect(const Double_t *local, Double_t *master) const
Convert a local vector according view rotation matrix.
virtual void Draw(Option_t *option="")
Draw method.
Int_t fNsegments
Definition: TGeoPainter.h:48
virtual void DrawPanel()
virtual const char * GetVolumeInfo(const TGeoVolume *volume, Int_t px, Int_t py) const
Get some info about the current selected volume.
TString fVolInfo
Definition: TGeoPainter.h:59
virtual void TestOverlaps(const char *path)
Geometry overlap checker based on sampling.
virtual const char * GetDrawPath() const
Definition: TGeoPainter.h:122
virtual Bool_t TestVoxels(TGeoVolume *vol)
Check voxels efficiency per volume.
virtual void DrawVolume(TGeoVolume *vol, Option_t *option="")
Draw method.
virtual Double_t * GetViewBox()
Definition: TGeoPainter.h:129
virtual Int_t GetBombMode() const
Definition: TGeoPainter.h:118
virtual void PaintNode(TGeoNode *node, Option_t *option="", TGeoMatrix *global=0)
Paint recursively a node and its content according to visualization options.
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 Raytrace(Option_t *option="")
Raytrace current drawn geometry.
Bool_t fTopVisible
Definition: TGeoPainter.h:54
TGeoHMatrix * fGlobal
Definition: TGeoPainter.h:62
Int_t fVisLevel
Definition: TGeoPainter.h:50
void Lock(Bool_t flag=kTRUE)
Definition: TGeoPainter.h:137
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 PaintVolume(TGeoVolume *vol, Option_t *option="", TGeoMatrix *global=0)
Paint recursively a node and its content according to visualization options.
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 PrintOverlaps() const
Print overlaps (see TGeoChecker::PrintOverlaps())
virtual void DefaultColors()
Set default volume colors according to tracking media.
TGeoNode * fCheckedNode
Definition: TGeoPainter.h:60
void PaintPhysicalNode(TGeoPhysicalNode *node, Option_t *option="")
Paints a physical node associated with a path.
virtual TGeoNode * SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil, const char *g3path)
Shoot npoints randomly in a box of 1E-5 around current point.
Int_t fNVisNodes
Definition: TGeoPainter.h:49
Int_t fExplodedView
Definition: TGeoPainter.h:52
virtual void DrawPath(const char *path, Option_t *option="")
Draw all volumes for a given path.
virtual void GetViewAngles(Double_t &longitude, Double_t &latitude, Double_t &psi)
Get the current view angles.
virtual void PaintOverlap(void *ovlp, Option_t *option="")
Paint an overlap.
virtual void DefaultAngles()
Set default angles for the current view.
virtual void GetBombFactors(Double_t &bombx, Double_t &bomby, Double_t &bombz, Double_t &bombr) const
Definition: TGeoPainter.h:116
virtual void ExecuteVolumeEvent(TGeoVolume *volume, Int_t event, Int_t px, Int_t py)
Execute mouse actions on a given volume.
virtual void AddSize3D(Int_t numpoints, Int_t numsegs, Int_t numpolys)
Add numpoints, numsegs, numpolys to the global 3D size.
virtual void SetTopVolume(TGeoVolume *vol)
Definition: TGeoPainter.h:162
virtual void SetRaytracing(Bool_t flag=kTRUE)
Definition: TGeoPainter.h:160
TGeoChecker * fChecker
Definition: TGeoPainter.h:65
virtual void SetVisLevel(Int_t level=3)
Set default level down to which visualization is performed.
Bool_t fIsRaytracing
Definition: TGeoPainter.h:56
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.
TGeoPainter(TGeoManager *manager)
Default constructor.
Definition: TGeoPainter.cxx:63
virtual void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option)
Test for shape navigation methods.
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())
Double_t fBombX
Definition: TGeoPainter.h:42
virtual void ModifiedPad(Bool_t update=kFALSE) const
Check if a pad and view are present and send signal "Modified" to pad.
Int_t GetNsegments() const
Definition: TGeoPainter.h:127
Int_t fVisOption
Definition: TGeoPainter.h:51
virtual void SetNmeshPoints(Int_t npoints)
Set number of points to be generated on the shape outline when checking for overlaps.
virtual TGeoVolume * GetTopVolume() const
Definition: TGeoPainter.h:124
Physical nodes are the actual 'touchable' objects in the geometry, representing a path of positioned ...
An arbitrary polygon defined by vertices.
Definition: TGeoPolygon.h:20
Base abstract class for all shapes.
Definition: TGeoShape.h:26
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition: TGeoVolume.h:47
2-D histogram with a float per channel (see TH1 documentation)}
Definition: TH2.h:251
An array of TObjects.
Definition: TObjArray.h:37
Mother of all ROOT objects.
Definition: TObject.h:37
Stopwatch class.
Definition: TStopwatch.h:28
Basic string class.
Definition: TString.h:131
const char * Data() const
Definition: TString.h:364
Abstract class for geometry painters.
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)
Definition: fillpatterns.C:1
Double_t y[n]
Definition: legend1.C:17
Double_t x[n]
Definition: legend1.C:17
double dist(Rotation3D const &r1, Rotation3D const &r2)
Definition: 3DDistances.cxx:48
REAL * vertex
Definition: triangle.c:512