Logo ROOT   6.14/05
Reference Guide
List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
TGeoPainter Class Reference

Class implementing all draw interfaces for a generic 3D viewer using TBuffer3D mechanism.

Definition at line 40 of file TGeoPainter.h.

Public Member Functions

 TGeoPainter (TGeoManager *manager)
 Default constructor. More...
 
virtual ~TGeoPainter ()
 Default destructor. More...
 
virtual void AddSize3D (Int_t numpoints, Int_t numsegs, Int_t numpolys)
 Add numpoints, numsegs, numpolys to the global 3D size. More...
 
virtual TVirtualGeoTrackAddTrack (Int_t id, Int_t pdgcode, TObject *part)
 Create a primary TGeoTrack. More...
 
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. More...
 
virtual void BombTranslation (const Double_t *tr, Double_t *bombtr)
 Get the new 'bombed' translation vector according current exploded view mode. More...
 
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 FindNextBoundary. More...
 
virtual void CheckBoundaryReference (Int_t icheck=-1)
 Check the boundary errors reference file created by CheckBoundaryErrors method. More...
 
void CheckEdit ()
 Check if Ged library is loaded and load geometry editor classe. More...
 
virtual void CheckGeometry (Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const
 Geometry checking method (see TGeoChecker). More...
 
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()) More...
 
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. More...
 
virtual void CheckPoint (Double_t x=0, Double_t y=0, Double_t z=0, Option_t *option="")
 Check current point in the geometry. More...
 
virtual void CheckShape (TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option)
 Test for shape navigation methods. More...
 
Int_t CountNodes (TGeoVolume *vol, Int_t level) const
 Count number of visible nodes down to a given level. More...
 
virtual Int_t CountVisibleNodes ()
 Count total number of visible nodes. More...
 
virtual void DefaultAngles ()
 Set default angles for the current view. More...
 
virtual void DefaultColors ()
 Set default volume colors according to tracking media. More...
 
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. More...
 
virtual void Draw (Option_t *option="")
 Draw method. More...
 
virtual void DrawBatemanSol (TGeoBatemanSol *sol, Option_t *option="")
 Draw the time evolution of a radionuclide. More...
 
virtual void DrawCurrentPoint (Int_t color)
 Draw current point in the same view. More...
 
virtual void DrawOnly (Option_t *option="")
 Draw only one volume. More...
 
virtual void DrawOverlap (void *ovlp, Option_t *option="")
 Draw an overlap. More...
 
virtual void DrawPanel ()
 
virtual void DrawPath (const char *path, Option_t *option="")
 Draw all volumes for a given path. More...
 
virtual void DrawPolygon (const TGeoPolygon *poly)
 Draw a polygon in 3D. More...
 
virtual void DrawShape (TGeoShape *shape, Option_t *option="")
 Draw a shape. More...
 
virtual void DrawVolume (TGeoVolume *vol, Option_t *option="")
 Draw method. More...
 
virtual void EditGeometry (Option_t *option="")
 Start the geometry editor. More...
 
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. More...
 
virtual void ExecuteManagerEvent (TGeoManager *geom, Int_t event, Int_t px, Int_t py)
 Execute mouse actions on a given volume. More...
 
virtual void ExecuteShapeEvent (TGeoShape *shape, Int_t event, Int_t px, Int_t py)
 Execute mouse actions on a given shape. More...
 
virtual void ExecuteVolumeEvent (TGeoVolume *volume, Int_t event, Int_t px, Int_t py)
 Execute mouse actions on a given volume. More...
 
virtual void GetBombFactors (Double_t &bombx, Double_t &bomby, Double_t &bombz, Double_t &bombr) const
 
virtual Int_t GetBombMode () const
 
virtual TGeoNodeGetCheckedNode ()
 
TGeoCheckerGetChecker ()
 Create/return geometry checker. More...
 
virtual Int_t GetColor (Int_t base, Float_t light) const
 Get index of a base color with given light intensity (0,1) More...
 
virtual TGeoVolumeGetDrawnVolume () const
 Get currently drawn volume. More...
 
virtual const char * GetDrawPath () const
 
Int_t GetNsegments () const
 
virtual TGeoVolumeGetTopVolume () const
 
virtual void GetViewAngles (Double_t &longitude, Double_t &latitude, Double_t &psi)
 Get the current view angles. More...
 
virtual Double_tGetViewBox ()
 
virtual Int_t GetVisLevel () const
 
virtual Int_t GetVisOption () const
 
virtual const char * GetVolumeInfo (const TGeoVolume *volume, Int_t px, Int_t py) const
 Get some info about the current selected volume. More...
 
virtual void GrabFocus (Int_t nfr=0, Double_t dlong=0, Double_t dlat=0, Double_t dpsi=0)
 Move focus to current volume. More...
 
virtual Bool_t IsExplodedView () const
 
virtual Bool_t IsPaintingShape () const
 
virtual Bool_t IsRaytracing () const
 
TH2FLegoPlot (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. More...
 
void Lock (Bool_t flag=kTRUE)
 
virtual void ModifiedPad (Bool_t update=kFALSE) const
 Check if a pad and view are present and send signal "Modified" to pad. More...
 
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. More...
 
virtual void Paint (Option_t *option="")
 Paint current geometry according to option. More...
 
virtual void PaintNode (TGeoNode *node, Option_t *option="", TGeoMatrix *global=0)
 Paint recursively a node and its content according to visualization options. More...
 
virtual void PaintOverlap (void *ovlp, Option_t *option="")
 Paint an overlap. More...
 
void PaintPhysicalNode (TGeoPhysicalNode *node, Option_t *option="")
 Paints a physical node associated with a path. More...
 
Bool_t PaintShape (const TGeoShape &shape, Option_t *option) const
 Paint the supplied shape into the current 3D viewer. More...
 
virtual void PaintShape (TGeoShape *shape, Option_t *option="")
 Paint an overlap. More...
 
virtual void PaintVolume (TGeoVolume *vol, Option_t *option="", TGeoMatrix *global=0)
 Paint recursively a node and its content according to visualization options. More...
 
virtual void PrintOverlaps () const
 Print overlaps (see TGeoChecker::PrintOverlaps()) More...
 
virtual void RandomPoints (const TGeoVolume *vol, Int_t npoints, Option_t *option="")
 Draw random points in the bounding box of a volume. More...
 
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. More...
 
virtual void Raytrace (Option_t *option="")
 Raytrace current drawn geometry. More...
 
virtual TGeoNodeSamplePoints (Int_t npoints, Double_t &dist, Double_t epsil, const char *g3path)
 Shoot npoints randomly in a box of 1E-5 around current point. More...
 
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. More...
 
virtual void SetCheckedNode (TGeoNode *node)
 Select a node to be checked for overlaps. More...
 
virtual void SetClippingShape (TGeoShape *shape)
 
virtual void SetExplodedView (Int_t iopt=0)
 Set type of exploding view. More...
 
virtual void SetGeoManager (TGeoManager *geom)
 
virtual void SetIteratorPlugin (TGeoIteratorPlugin *plugin)
 
virtual void SetNmeshPoints (Int_t npoints)
 Set number of points to be generated on the shape outline when checking for overlaps. More...
 
virtual void SetNsegments (Int_t nseg=20)
 Set number of segments to approximate circles. More...
 
virtual void SetRaytracing (Bool_t flag=kTRUE)
 
virtual void SetTopVisible (Bool_t vis=kTRUE)
 Set top geometry volume as visible. More...
 
virtual void SetTopVolume (TGeoVolume *vol)
 
virtual void SetVisLevel (Int_t level=3)
 Set default level down to which visualization is performed. More...
 
virtual void SetVisOption (Int_t option=0)
 Set drawing mode : More...
 
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. More...
 
virtual void Test (Int_t npoints, Option_t *option)
 Check time of finding "Where am I" for n points. More...
 
virtual void TestOverlaps (const char *path)
 Geometry overlap checker based on sampling. More...
 
virtual Bool_t TestVoxels (TGeoVolume *vol)
 Check voxels efficiency per volume. More...
 
virtual void UnbombTranslation (const Double_t *tr, Double_t *bombtr)
 Get the new 'unbombed' translation vector according current exploded view mode. More...
 
virtual Double_t Weight (Double_t precision, Option_t *option="v")
 Compute weight [kg] of the current volume. More...
 
- Public Member Functions inherited from TVirtualGeoPainter
 TVirtualGeoPainter (TGeoManager *manager)
 Geometry painter default constructor. More...
 
virtual ~TVirtualGeoPainter ()
 Geometry painter default destructor. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
ULong_t CheckedHash ()
 Checked and record whether for this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 

Protected Member Functions

virtual void ClearVisibleVolumes ()
 Clear the list of visible volumes reset the kVisOnScreen bit for volumes previously in the list. More...
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
void MakeZombie ()
 

Private Member Functions

void DefineColors () const
 Define 100 colors with increasing light intensities for each basic color (1-7) Register these colors at indexes starting with 1000. More...
 
void LocalToMasterVect (const Double_t *local, Double_t *master) const
 Convert a local vector according view rotation matrix. More...
 

Private Attributes

Double_t fBombR
 
Double_t fBombX
 
Double_t fBombY
 
Double_t fBombZ
 
TBuffer3DfBuffer
 
Double_t fCheckedBox [6]
 
TGeoNodefCheckedNode
 
TGeoCheckerfChecker
 
TGeoShapefClippingShape
 
Int_t fExplodedView
 
TGeoManagerfGeoManager
 
TGeoHMatrixfGlobal
 
Bool_t fIsEditable
 
Bool_t fIsPaintingShape
 
Bool_t fIsRaytracing
 
TGeoVolumefLastVolume
 
Double_t fMat [9]
 
Int_t fNsegments
 
Int_t fNVisNodes
 
TGeoOverlapfOverlap
 
Bool_t fPaintingOverlaps
 
TGeoIteratorPluginfPlugin
 
Bool_t fTopVisible
 
TGeoVolumefTopVolume
 
TString fVisBranch
 
Int_t fVisLevel
 
Bool_t fVisLock
 
Int_t fVisOption
 
TObjArrayfVisVolumes
 
TString fVolInfo
 

Additional Inherited Members

- Public Types inherited from TVirtualGeoPainter
enum  EGeoBombOption { kGeoNoBomb = 0, kGeoBombXYZ = 1, kGeoBombCyl = 2, kGeoBombSph = 3 }
 
enum  EGeoVisLevel { kGeoVisLevel = 0 }
 
enum  EGeoVisOption {
  kGeoVisDefault = 0, kGeoVisLeaves = 1, kGeoVisOnly = 2, kGeoVisBranch = 3,
  kGeoVisChanged = 4
}
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kInconsistent = 0x08000000,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kIsReferenced = BIT(4), kHasUUID = BIT(5),
  kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
- Static Public Member Functions inherited from TVirtualGeoPainter
static TVirtualGeoPainterGeoPainter ()
 Static function returning a pointer to the geometry painter. More...
 
static void SetPainter (const TVirtualGeoPainter *painter)
 Static function to set an alternative histogram painter. More...
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- Static Protected Attributes inherited from TVirtualGeoPainter
static TVirtualGeoPainterfgGeoPainter = 0
 

#include <TGeoPainter.h>

Inheritance diagram for TGeoPainter:
[legend]

Constructor & Destructor Documentation

◆ TGeoPainter()

TGeoPainter::TGeoPainter ( TGeoManager manager)

Default constructor.

Definition at line 63 of file TGeoPainter.cxx.

◆ ~TGeoPainter()

TGeoPainter::~TGeoPainter ( )
virtual

Default destructor.

Definition at line 105 of file TGeoPainter.cxx.

Member Function Documentation

◆ AddSize3D()

void TGeoPainter::AddSize3D ( Int_t  numpoints,
Int_t  numsegs,
Int_t  numpolys 
)
virtual

Add numpoints, numsegs, numpolys to the global 3D size.

Implements TVirtualGeoPainter.

Definition at line 116 of file TGeoPainter.cxx.

◆ AddTrack()

TVirtualGeoTrack * TGeoPainter::AddTrack ( Int_t  id,
Int_t  pdgcode,
TObject part 
)
virtual

Create a primary TGeoTrack.

Implements TVirtualGeoPainter.

Definition at line 125 of file TGeoPainter.cxx.

◆ AddTrackPoint()

void TGeoPainter::AddTrackPoint ( Double_t point,
Double_t box,
Bool_t  reset = kFALSE 
)
virtual

Average center of view of all painted tracklets and compute view box.

Implements TVirtualGeoPainter.

Definition at line 133 of file TGeoPainter.cxx.

◆ BombTranslation()

void TGeoPainter::BombTranslation ( const Double_t tr,
Double_t bombtr 
)
virtual

Get the new 'bombed' translation vector according current exploded view mode.

Implements TVirtualGeoPainter.

Definition at line 163 of file TGeoPainter.cxx.

◆ CheckBoundaryErrors()

void TGeoPainter::CheckBoundaryErrors ( Int_t  ntracks = 1000000,
Double_t  radius = -1. 
)
virtual

Check pushes and pulls needed to cross the next boundary with respect to the position given by FindNextBoundary.

If radius is not mentioned the full bounding box will be sampled.

Implements TVirtualGeoPainter.

Definition at line 194 of file TGeoPainter.cxx.

◆ CheckBoundaryReference()

void TGeoPainter::CheckBoundaryReference ( Int_t  icheck = -1)
virtual

Check the boundary errors reference file created by CheckBoundaryErrors method.

The shape for which the crossing failed is drawn with the starting point in red and the extrapolated point to boundary (+/- failing push/pull) in yellow.

Implements TVirtualGeoPainter.

Definition at line 204 of file TGeoPainter.cxx.

◆ CheckEdit()

void TGeoPainter::CheckEdit ( )

Check if Ged library is loaded and load geometry editor classe.

Definition at line 652 of file TGeoPainter.cxx.

◆ CheckGeometry()

void TGeoPainter::CheckGeometry ( Int_t  nrays,
Double_t  startx,
Double_t  starty,
Double_t  startz 
) const
virtual

Geometry checking method (see TGeoChecker).

Implements TVirtualGeoPainter.

Definition at line 220 of file TGeoPainter.cxx.

◆ CheckGeometryFull()

void TGeoPainter::CheckGeometryFull ( Bool_t  checkoverlaps = kTRUE,
Bool_t  checkcrossings = kTRUE,
Int_t  nrays = 10000,
const Double_t vertex = NULL 
)
virtual

Geometry checking method (see: TGeoManager::CheckGeometry())

Implements TVirtualGeoPainter.

Definition at line 212 of file TGeoPainter.cxx.

◆ CheckOverlaps()

void TGeoPainter::CheckOverlaps ( const TGeoVolume vol,
Double_t  ovlp = 0.1,
Option_t option = "" 
) const
virtual

Check overlaps for the top volume of the geometry, within a limit OVLP.

Implements TVirtualGeoPainter.

Definition at line 228 of file TGeoPainter.cxx.

◆ CheckPoint()

void TGeoPainter::CheckPoint ( Double_t  x = 0,
Double_t  y = 0,
Double_t  z = 0,
Option_t option = "" 
)
virtual

Check current point in the geometry.

Implements TVirtualGeoPainter.

Definition at line 236 of file TGeoPainter.cxx.

◆ CheckShape()

void TGeoPainter::CheckShape ( TGeoShape shape,
Int_t  testNo,
Int_t  nsamples,
Option_t option 
)
virtual

Test for shape navigation methods.

Summary for test numbers:

  • 1: DistFromInside/Outside. Sample points inside the shape. Generate directions randomly in cos(theta). Compute DistFromInside and move the point with bigger distance. Compute DistFromOutside back from new point. Plot d-(d1+d2)

Implements TVirtualGeoPainter.

Definition at line 248 of file TGeoPainter.cxx.

◆ ClearVisibleVolumes()

void TGeoPainter::ClearVisibleVolumes ( )
protectedvirtual

Clear the list of visible volumes reset the kVisOnScreen bit for volumes previously in the list.

Definition at line 257 of file TGeoPainter.cxx.

◆ CountNodes()

Int_t TGeoPainter::CountNodes ( TGeoVolume vol,
Int_t  level 
) const

Count number of visible nodes down to a given level.

Definition at line 557 of file TGeoPainter.cxx.

◆ CountVisibleNodes()

Int_t TGeoPainter::CountVisibleNodes ( )
virtual

Count total number of visible nodes.

Implements TVirtualGeoPainter.

Definition at line 607 of file TGeoPainter.cxx.

◆ DefaultAngles()

void TGeoPainter::DefaultAngles ( )
virtual

Set default angles for the current view.

Implements TVirtualGeoPainter.

Definition at line 531 of file TGeoPainter.cxx.

◆ DefaultColors()

void TGeoPainter::DefaultColors ( )
virtual

Set default volume colors according to tracking media.

Implements TVirtualGeoPainter.

Definition at line 545 of file TGeoPainter.cxx.

◆ DefineColors()

void TGeoPainter::DefineColors ( ) const
private

Define 100 colors with increasing light intensities for each basic color (1-7) Register these colors at indexes starting with 1000.

Definition at line 273 of file TGeoPainter.cxx.

◆ DistanceToPrimitiveVol()

Int_t TGeoPainter::DistanceToPrimitiveVol ( TGeoVolume vol,
Int_t  px,
Int_t  py 
)
virtual

Compute the closest distance of approach from point px,py to a volume.

Implements TVirtualGeoPainter.

Definition at line 338 of file TGeoPainter.cxx.

◆ Draw()

void TGeoPainter::Draw ( Option_t option = "")
virtual

Draw method.

Implements TVirtualGeoPainter.

Definition at line 682 of file TGeoPainter.cxx.

◆ DrawBatemanSol()

void TGeoPainter::DrawBatemanSol ( TGeoBatemanSol sol,
Option_t option = "" 
)
virtual

Draw the time evolution of a radionuclide.

Implements TVirtualGeoPainter.

Definition at line 690 of file TGeoPainter.cxx.

◆ DrawCurrentPoint()

void TGeoPainter::DrawCurrentPoint ( Int_t  color)
virtual

Draw current point in the same view.

Implements TVirtualGeoPainter.

Definition at line 953 of file TGeoPainter.cxx.

◆ DrawOnly()

void TGeoPainter::DrawOnly ( Option_t option = "")
virtual

Draw only one volume.

Implements TVirtualGeoPainter.

Definition at line 913 of file TGeoPainter.cxx.

◆ DrawOverlap()

void TGeoPainter::DrawOverlap ( void ovlp,
Option_t option = "" 
)
virtual

Draw an overlap.

Implements TVirtualGeoPainter.

Definition at line 866 of file TGeoPainter.cxx.

◆ DrawPanel()

void TGeoPainter::DrawPanel ( )
virtual

Implements TVirtualGeoPainter.

Definition at line 968 of file TGeoPainter.cxx.

◆ DrawPath()

void TGeoPainter::DrawPath ( const char *  path,
Option_t option = "" 
)
virtual

Draw all volumes for a given path.

Implements TVirtualGeoPainter.

Definition at line 975 of file TGeoPainter.cxx.

◆ DrawPolygon()

void TGeoPainter::DrawPolygon ( const TGeoPolygon poly)
virtual

Draw a polygon in 3D.

Implements TVirtualGeoPainter.

Definition at line 730 of file TGeoPainter.cxx.

◆ DrawShape()

void TGeoPainter::DrawShape ( TGeoShape shape,
Option_t option = "" 
)
virtual

Draw a shape.

Implements TVirtualGeoPainter.

Definition at line 830 of file TGeoPainter.cxx.

◆ DrawVolume()

void TGeoPainter::DrawVolume ( TGeoVolume vol,
Option_t option = "" 
)
virtual

Draw method.

Implements TVirtualGeoPainter.

Definition at line 779 of file TGeoPainter.cxx.

◆ EditGeometry()

void TGeoPainter::EditGeometry ( Option_t option = "")
virtual

Start the geometry editor.

Implements TVirtualGeoPainter.

Definition at line 667 of file TGeoPainter.cxx.

◆ EstimateCameraMove()

void TGeoPainter::EstimateCameraMove ( Double_t  tmin,
Double_t  tmax,
Double_t start,
Double_t end 
)
virtual

Estimate camera movement between tmin and tmax for best track display.

Reimplemented from TVirtualGeoPainter.

Definition at line 988 of file TGeoPainter.cxx.

◆ ExecuteManagerEvent()

void TGeoPainter::ExecuteManagerEvent ( TGeoManager geom,
Int_t  event,
Int_t  px,
Int_t  py 
)
virtual

Execute mouse actions on a given volume.

Implements TVirtualGeoPainter.

Definition at line 1018 of file TGeoPainter.cxx.

◆ ExecuteShapeEvent()

void TGeoPainter::ExecuteShapeEvent ( TGeoShape shape,
Int_t  event,
Int_t  px,
Int_t  py 
)
virtual

Execute mouse actions on a given shape.

Implements TVirtualGeoPainter.

Definition at line 1031 of file TGeoPainter.cxx.

◆ ExecuteVolumeEvent()

void TGeoPainter::ExecuteVolumeEvent ( TGeoVolume volume,
Int_t  event,
Int_t  px,
Int_t  py 
)
virtual

Execute mouse actions on a given volume.

Implements TVirtualGeoPainter.

Definition at line 1044 of file TGeoPainter.cxx.

◆ GetBombFactors()

virtual void TGeoPainter::GetBombFactors ( Double_t bombx,
Double_t bomby,
Double_t bombz,
Double_t bombr 
) const
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 116 of file TGeoPainter.h.

◆ GetBombMode()

virtual Int_t TGeoPainter::GetBombMode ( ) const
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 118 of file TGeoPainter.h.

◆ GetCheckedNode()

virtual TGeoNode* TGeoPainter::GetCheckedNode ( )
inlinevirtual

Definition at line 119 of file TGeoPainter.h.

◆ GetChecker()

TGeoChecker * TGeoPainter::GetChecker ( )

Create/return geometry checker.

Definition at line 1114 of file TGeoPainter.cxx.

◆ GetColor()

Int_t TGeoPainter::GetColor ( Int_t  base,
Float_t  light 
) const
virtual

Get index of a base color with given light intensity (0,1)

Implements TVirtualGeoPainter.

Definition at line 286 of file TGeoPainter.cxx.

◆ GetDrawnVolume()

TGeoVolume * TGeoPainter::GetDrawnVolume ( ) const
virtual

Get currently drawn volume.

Implements TVirtualGeoPainter.

Definition at line 329 of file TGeoPainter.cxx.

◆ GetDrawPath()

virtual const char* TGeoPainter::GetDrawPath ( ) const
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 122 of file TGeoPainter.h.

◆ GetNsegments()

Int_t TGeoPainter::GetNsegments ( ) const
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 127 of file TGeoPainter.h.

◆ GetTopVolume()

virtual TGeoVolume* TGeoPainter::GetTopVolume ( ) const
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 124 of file TGeoPainter.h.

◆ GetViewAngles()

void TGeoPainter::GetViewAngles ( Double_t longitude,
Double_t latitude,
Double_t psi 
)
virtual

Get the current view angles.

Reimplemented from TVirtualGeoPainter.

Definition at line 1123 of file TGeoPainter.cxx.

◆ GetViewBox()

virtual Double_t* TGeoPainter::GetViewBox ( )
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 129 of file TGeoPainter.h.

◆ GetVisLevel()

virtual Int_t TGeoPainter::GetVisLevel ( ) const
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 125 of file TGeoPainter.h.

◆ GetVisOption()

virtual Int_t TGeoPainter::GetVisOption ( ) const
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 126 of file TGeoPainter.h.

◆ GetVolumeInfo()

const char * TGeoPainter::GetVolumeInfo ( const TGeoVolume volume,
Int_t  px,
Int_t  py 
) const
virtual

Get some info about the current selected volume.

Implements TVirtualGeoPainter.

Definition at line 1089 of file TGeoPainter.cxx.

◆ GrabFocus()

void TGeoPainter::GrabFocus ( Int_t  nfr = 0,
Double_t  dlong = 0,
Double_t  dlat = 0,
Double_t  dpsi = 0 
)
virtual

Move focus to current volume.

Implements TVirtualGeoPainter.

Definition at line 1136 of file TGeoPainter.cxx.

◆ IsExplodedView()

virtual Bool_t TGeoPainter::IsExplodedView ( ) const
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 131 of file TGeoPainter.h.

◆ IsPaintingShape()

virtual Bool_t TGeoPainter::IsPaintingShape ( ) const
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 133 of file TGeoPainter.h.

◆ IsRaytracing()

virtual Bool_t TGeoPainter::IsRaytracing ( ) const
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 132 of file TGeoPainter.h.

◆ LegoPlot()

TH2F * TGeoPainter::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 = "" 
)
virtual

Generate a lego plot fot the top volume, according to option.

Implements TVirtualGeoPainter.

Definition at line 1165 of file TGeoPainter.cxx.

◆ LocalToMasterVect()

void TGeoPainter::LocalToMasterVect ( const Double_t local,
Double_t master 
) const
private

Convert a local vector according view rotation matrix.

Definition at line 1174 of file TGeoPainter.cxx.

◆ Lock()

void TGeoPainter::Lock ( Bool_t  flag = kTRUE)
inline

Definition at line 137 of file TGeoPainter.h.

◆ ModifiedPad()

void TGeoPainter::ModifiedPad ( Bool_t  update = kFALSE) const
virtual

Check if a pad and view are present and send signal "Modified" to pad.

Implements TVirtualGeoPainter.

Definition at line 1183 of file TGeoPainter.cxx.

◆ OpProgress()

void TGeoPainter::OpProgress ( const char *  opname,
Long64_t  current,
Long64_t  size,
TStopwatch watch = 0,
Bool_t  last = kFALSE,
Bool_t  refresh = kFALSE,
const char *  msg = "" 
)
virtual

Text progress bar.

Implements TVirtualGeoPainter.

Definition at line 1582 of file TGeoPainter.cxx.

◆ Paint()

void TGeoPainter::Paint ( Option_t option = "")
virtual

Paint current geometry according to option.

Implements TVirtualGeoPainter.

Definition at line 1200 of file TGeoPainter.cxx.

◆ PaintNode()

void TGeoPainter::PaintNode ( TGeoNode node,
Option_t option = "",
TGeoMatrix global = 0 
)
virtual

Paint recursively a node and its content according to visualization options.

Implements TVirtualGeoPainter.

Definition at line 1285 of file TGeoPainter.cxx.

◆ PaintOverlap()

void TGeoPainter::PaintOverlap ( void ovlp,
Option_t option = "" 
)
virtual

Paint an overlap.

Implements TVirtualGeoPainter.

Definition at line 1237 of file TGeoPainter.cxx.

◆ PaintPhysicalNode()

void TGeoPainter::PaintPhysicalNode ( TGeoPhysicalNode node,
Option_t option = "" 
)

Paints a physical node associated with a path.

Definition at line 1510 of file TGeoPainter.cxx.

◆ PaintShape() [1/2]

Bool_t TGeoPainter::PaintShape ( const TGeoShape shape,
Option_t option 
) const

Paint the supplied shape into the current 3D viewer.

Definition at line 1451 of file TGeoPainter.cxx.

◆ PaintShape() [2/2]

void TGeoPainter::PaintShape ( TGeoShape shape,
Option_t option = "" 
)
virtual

Paint an overlap.

Implements TVirtualGeoPainter.

Definition at line 1499 of file TGeoPainter.cxx.

◆ PaintVolume()

void TGeoPainter::PaintVolume ( TGeoVolume vol,
Option_t option = "",
TGeoMatrix global = 0 
)
virtual

Paint recursively a node and its content according to visualization options.

Implements TVirtualGeoPainter.

Definition at line 1293 of file TGeoPainter.cxx.

◆ PrintOverlaps()

void TGeoPainter::PrintOverlaps ( ) const
virtual

Print overlaps (see TGeoChecker::PrintOverlaps())

Implements TVirtualGeoPainter.

Definition at line 1574 of file TGeoPainter.cxx.

◆ RandomPoints()

void TGeoPainter::RandomPoints ( const TGeoVolume vol,
Int_t  npoints,
Option_t option = "" 
)
virtual

Draw random points in the bounding box of a volume.

Implements TVirtualGeoPainter.

Definition at line 1590 of file TGeoPainter.cxx.

◆ RandomRays()

void TGeoPainter::RandomRays ( Int_t  nrays,
Double_t  startx,
Double_t  starty,
Double_t  startz,
const char *  target_vol = 0,
Bool_t  check_norm = kFALSE 
)
virtual

Shoot nrays in the current drawn geometry.

Implements TVirtualGeoPainter.

Definition at line 1598 of file TGeoPainter.cxx.

◆ Raytrace()

void TGeoPainter::Raytrace ( Option_t option = "")
virtual

Raytrace current drawn geometry.

Implements TVirtualGeoPainter.

Definition at line 1606 of file TGeoPainter.cxx.

◆ SamplePoints()

TGeoNode * TGeoPainter::SamplePoints ( Int_t  npoints,
Double_t dist,
Double_t  epsil,
const char *  g3path 
)
virtual

Shoot npoints randomly in a box of 1E-5 around current point.

Return minimum distance to points outside.

Implements TVirtualGeoPainter.

Definition at line 1820 of file TGeoPainter.cxx.

◆ SetBombFactors()

void TGeoPainter::SetBombFactors ( Double_t  bombx = 1.3,
Double_t  bomby = 1.3,
Double_t  bombz = 1.3,
Double_t  bombr = 1.3 
)
virtual

Set cartesian and radial bomb factors for translations.

Implements TVirtualGeoPainter.

Definition at line 1829 of file TGeoPainter.cxx.

◆ SetCheckedNode()

void TGeoPainter::SetCheckedNode ( TGeoNode node)
virtual

Select a node to be checked for overlaps.

All overlaps not involving it will be ignored.

Implements TVirtualGeoPainter.

Definition at line 1891 of file TGeoPainter.cxx.

◆ SetClippingShape()

virtual void TGeoPainter::SetClippingShape ( TGeoShape shape)
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 153 of file TGeoPainter.h.

◆ SetExplodedView()

void TGeoPainter::SetExplodedView ( Int_t  iopt = 0)
virtual

Set type of exploding view.

Implements TVirtualGeoPainter.

Definition at line 1841 of file TGeoPainter.cxx.

◆ SetGeoManager()

virtual void TGeoPainter::SetGeoManager ( TGeoManager geom)
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 157 of file TGeoPainter.h.

◆ SetIteratorPlugin()

virtual void TGeoPainter::SetIteratorPlugin ( TGeoIteratorPlugin plugin)
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 158 of file TGeoPainter.h.

◆ SetNmeshPoints()

void TGeoPainter::SetNmeshPoints ( Int_t  npoints)
virtual

Set number of points to be generated on the shape outline when checking for overlaps.

Implements TVirtualGeoPainter.

Definition at line 1883 of file TGeoPainter.cxx.

◆ SetNsegments()

void TGeoPainter::SetNsegments ( Int_t  nseg = 20)
virtual

Set number of segments to approximate circles.

Implements TVirtualGeoPainter.

Definition at line 1869 of file TGeoPainter.cxx.

◆ SetRaytracing()

virtual void TGeoPainter::SetRaytracing ( Bool_t  flag = kTRUE)
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 160 of file TGeoPainter.h.

◆ SetTopVisible()

void TGeoPainter::SetTopVisible ( Bool_t  vis = kTRUE)
virtual

Set top geometry volume as visible.

Implements TVirtualGeoPainter.

Definition at line 1920 of file TGeoPainter.cxx.

◆ SetTopVolume()

virtual void TGeoPainter::SetTopVolume ( TGeoVolume vol)
inlinevirtual

Implements TVirtualGeoPainter.

Definition at line 162 of file TGeoPainter.h.

◆ SetVisLevel()

void TGeoPainter::SetVisLevel ( Int_t  level = 3)
virtual

Set default level down to which visualization is performed.

Implements TVirtualGeoPainter.

Definition at line 1898 of file TGeoPainter.cxx.

◆ SetVisOption()

void TGeoPainter::SetVisOption ( Int_t  option = 0)
virtual

Set drawing mode :

  • option=0 (default) all nodes drawn down to vislevel
  • option=1 leaves and nodes at vislevel drawn
  • option=2 path is drawn

Implements TVirtualGeoPainter.

Definition at line 1933 of file TGeoPainter.cxx.

◆ ShapeDistancetoPrimitive()

Int_t TGeoPainter::ShapeDistancetoPrimitive ( const TGeoShape shape,
Int_t  numpoints,
Int_t  px,
Int_t  py 
) const
virtual

Returns distance between point px,py on the pad an a shape.

Implements TVirtualGeoPainter.

Definition at line 1977 of file TGeoPainter.cxx.

◆ Test()

void TGeoPainter::Test ( Int_t  npoints,
Option_t option 
)
virtual

Check time of finding "Where am I" for n points.

Implements TVirtualGeoPainter.

Definition at line 2030 of file TGeoPainter.cxx.

◆ TestOverlaps()

void TGeoPainter::TestOverlaps ( const char *  path)
virtual

Geometry overlap checker based on sampling.

Implements TVirtualGeoPainter.

Definition at line 2038 of file TGeoPainter.cxx.

◆ TestVoxels()

Bool_t TGeoPainter::TestVoxels ( TGeoVolume vol)
virtual

Check voxels efficiency per volume.

Implements TVirtualGeoPainter.

Definition at line 2046 of file TGeoPainter.cxx.

◆ UnbombTranslation()

void TGeoPainter::UnbombTranslation ( const Double_t tr,
Double_t bombtr 
)
virtual

Get the new 'unbombed' translation vector according current exploded view mode.

Implements TVirtualGeoPainter.

Definition at line 2054 of file TGeoPainter.cxx.

◆ Weight()

Double_t TGeoPainter::Weight ( Double_t  precision,
Option_t option = "v" 
)
virtual

Compute weight [kg] of the current volume.

Implements TVirtualGeoPainter.

Definition at line 2083 of file TGeoPainter.cxx.

Member Data Documentation

◆ fBombR

Double_t TGeoPainter::fBombR
private

Definition at line 45 of file TGeoPainter.h.

◆ fBombX

Double_t TGeoPainter::fBombX
private

Definition at line 42 of file TGeoPainter.h.

◆ fBombY

Double_t TGeoPainter::fBombY
private

Definition at line 43 of file TGeoPainter.h.

◆ fBombZ

Double_t TGeoPainter::fBombZ
private

Definition at line 44 of file TGeoPainter.h.

◆ fBuffer

TBuffer3D* TGeoPainter::fBuffer
private

Definition at line 63 of file TGeoPainter.h.

◆ fCheckedBox

Double_t TGeoPainter::fCheckedBox[6]
private

Definition at line 46 of file TGeoPainter.h.

◆ fCheckedNode

TGeoNode* TGeoPainter::fCheckedNode
private

Definition at line 60 of file TGeoPainter.h.

◆ fChecker

TGeoChecker* TGeoPainter::fChecker
private

Definition at line 65 of file TGeoPainter.h.

◆ fClippingShape

TGeoShape* TGeoPainter::fClippingShape
private

Definition at line 66 of file TGeoPainter.h.

◆ fExplodedView

Int_t TGeoPainter::fExplodedView
private

Definition at line 52 of file TGeoPainter.h.

◆ fGeoManager

TGeoManager* TGeoPainter::fGeoManager
private

Definition at line 64 of file TGeoPainter.h.

◆ fGlobal

TGeoHMatrix* TGeoPainter::fGlobal
private

Definition at line 62 of file TGeoPainter.h.

◆ fIsEditable

Bool_t TGeoPainter::fIsEditable
private

Definition at line 72 of file TGeoPainter.h.

◆ fIsPaintingShape

Bool_t TGeoPainter::fIsPaintingShape
private

Definition at line 57 of file TGeoPainter.h.

◆ fIsRaytracing

Bool_t TGeoPainter::fIsRaytracing
private

Definition at line 56 of file TGeoPainter.h.

◆ fLastVolume

TGeoVolume* TGeoPainter::fLastVolume
private

Definition at line 68 of file TGeoPainter.h.

◆ fMat

Double_t TGeoPainter::fMat[9]
private

Definition at line 47 of file TGeoPainter.h.

◆ fNsegments

Int_t TGeoPainter::fNsegments
private

Definition at line 48 of file TGeoPainter.h.

◆ fNVisNodes

Int_t TGeoPainter::fNVisNodes
private

Definition at line 49 of file TGeoPainter.h.

◆ fOverlap

TGeoOverlap* TGeoPainter::fOverlap
private

Definition at line 61 of file TGeoPainter.h.

◆ fPaintingOverlaps

Bool_t TGeoPainter::fPaintingOverlaps
private

Definition at line 55 of file TGeoPainter.h.

◆ fPlugin

TGeoIteratorPlugin* TGeoPainter::fPlugin
private

Definition at line 70 of file TGeoPainter.h.

◆ fTopVisible

Bool_t TGeoPainter::fTopVisible
private

Definition at line 54 of file TGeoPainter.h.

◆ fTopVolume

TGeoVolume* TGeoPainter::fTopVolume
private

Definition at line 67 of file TGeoPainter.h.

◆ fVisBranch

TString TGeoPainter::fVisBranch
private

Definition at line 58 of file TGeoPainter.h.

◆ fVisLevel

Int_t TGeoPainter::fVisLevel
private

Definition at line 50 of file TGeoPainter.h.

◆ fVisLock

Bool_t TGeoPainter::fVisLock
private

Definition at line 53 of file TGeoPainter.h.

◆ fVisOption

Int_t TGeoPainter::fVisOption
private

Definition at line 51 of file TGeoPainter.h.

◆ fVisVolumes

TObjArray* TGeoPainter::fVisVolumes
private

Definition at line 71 of file TGeoPainter.h.

◆ fVolInfo

TString TGeoPainter::fVolInfo
private

Definition at line 59 of file TGeoPainter.h.

Libraries for TGeoPainter:
[legend]

The documentation for this class was generated from the following files: