TGeoChecker Class Reference

#include <TGeoChecker.h>

Inheritance diagram for TGeoChecker:

TObject TObject List of all members.

Public Member Functions

 TGeoChecker ()
 TGeoChecker (TGeoManager *geom)
virtual ~TGeoChecker ()
virtual void CheckBoundaryErrors (Int_t ntracks=1000000, Double_t radius=-1.)
virtual void CheckBoundaryReference (Int_t icheck=-1)
void CheckGeometryFull (Bool_t checkoverlaps=kTRUE, Bool_t checkcrossings=kTRUE, Int_t nrays=10000, const Double_t *vertex=NULL)
void CheckGeometry (Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const
void CheckOverlaps (const TGeoVolume *vol, Double_t ovlp=0.1, Option_t *option="")
void CheckOverlapsBySampling (TGeoVolume *vol, Double_t ovlp=0.1, Int_t npoints=1000000) const
void CheckPoint (Double_t x=0, Double_t y=0, Double_t z=0, Option_t *option="")
Double_t CheckVoxels (TGeoVolume *vol, TGeoVoxelFinder *voxels, Double_t *xyz, Int_t npoints)
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="")
void PrintOverlaps () const
void RandomPoints (TGeoVolume *vol, Int_t npoints, Option_t *option)
void RandomRays (Int_t nrays, Double_t startx, Double_t starty, Double_t startz)
TGeoOverlapMakeCheckOverlap (const char *name, TGeoVolume *vol1, TGeoVolume *vol2, TGeoMatrix *mat1, TGeoMatrix *mat2, Bool_t isovlp, Double_t ovlp)
void OpProgress (const char *opname, Long64_t current, Long64_t size, TStopwatch *watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE)
TGeoNodeSamplePoints (Int_t npoints, Double_t &dist, Double_t epsil, const char *g3path)
Double_tShootRay (Double_t *start, Double_t dirx, Double_t diry, Double_t dirz, Double_t *array, Int_t &nelem, Int_t &dim, Double_t *enpoint=0) const
void SetSelectedNode (TGeoNode *node)
void SetNmeshPoints (Int_t npoints=1000)
void Test (Int_t npoints, Option_t *option)
void TestOverlaps (const char *path)
Bool_t TestVoxels (TGeoVolume *vol, Int_t npoints=1000000)
Double_t Weight (Double_t precision=0.01, Option_t *option="v")
 TGeoChecker ()
 TGeoChecker (TGeoManager *geom)
virtual ~TGeoChecker ()
virtual void CheckBoundaryErrors (Int_t ntracks=1000000, Double_t radius=-1.)
virtual void CheckBoundaryReference (Int_t icheck=-1)
void CheckGeometryFull (Bool_t checkoverlaps=kTRUE, Bool_t checkcrossings=kTRUE, Int_t nrays=10000, const Double_t *vertex=NULL)
void CheckGeometry (Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const
void CheckOverlaps (const TGeoVolume *vol, Double_t ovlp=0.1, Option_t *option="")
void CheckOverlapsBySampling (TGeoVolume *vol, Double_t ovlp=0.1, Int_t npoints=1000000) const
void CheckPoint (Double_t x=0, Double_t y=0, Double_t z=0, Option_t *option="")
Double_t CheckVoxels (TGeoVolume *vol, TGeoVoxelFinder *voxels, Double_t *xyz, Int_t npoints)
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="")
void PrintOverlaps () const
void RandomPoints (TGeoVolume *vol, Int_t npoints, Option_t *option)
void RandomRays (Int_t nrays, Double_t startx, Double_t starty, Double_t startz)
TGeoOverlapMakeCheckOverlap (const char *name, TGeoVolume *vol1, TGeoVolume *vol2, TGeoMatrix *mat1, TGeoMatrix *mat2, Bool_t isovlp, Double_t ovlp)
void OpProgress (const char *opname, Long64_t current, Long64_t size, TStopwatch *watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE)
TGeoNodeSamplePoints (Int_t npoints, Double_t &dist, Double_t epsil, const char *g3path)
Double_tShootRay (Double_t *start, Double_t dirx, Double_t diry, Double_t dirz, Double_t *array, Int_t &nelem, Int_t &dim, Double_t *enpoint=0) const
void SetSelectedNode (TGeoNode *node)
void SetNmeshPoints (Int_t npoints=1000)
void Test (Int_t npoints, Option_t *option)
void TestOverlaps (const char *path)
Bool_t TestVoxels (TGeoVolume *vol, Int_t npoints=1000000)
Double_t Weight (Double_t precision=0.01, Option_t *option="v")

Private Member Functions

void CleanPoints (Double_t *points, Int_t &numPoints) const
 Number of points on mesh to be checked.
Int_t NChecksPerVolume (TGeoVolume *vol)
Int_t PropagateInGeom (Double_t *, Double_t *)
void Score (TGeoVolume *, Int_t, Double_t)
Double_t TimingPerVolume (TGeoVolume *)
void CleanPoints (Double_t *points, Int_t &numPoints) const
 Number of points on mesh to be checked.
Int_t NChecksPerVolume (TGeoVolume *vol)
Int_t PropagateInGeom (Double_t *, Double_t *)
void Score (TGeoVolume *, Int_t, Double_t)
Double_t TimingPerVolume (TGeoVolume *)

Private Attributes

TGeoManagerfGeoManager
TGeoVolumefVsafe
TBuffer3DfBuff1
TBuffer3DfBuff2
Bool_t fFullCheck
Double_tfVal1
Double_tfVal2
 Array of number of crossings per volume.
Bool_tfFlags
 Array of timing per volume.
TStopwatchfTimer
 Array of flags per volume.
TGeoNodefSelectedNode
 Timer.
Int_t fNchecks
 Selected node for overlap checking.
Int_t fNmeshPoints
 Number of checks for current volume.
TGeoManagerfGeoManager
TGeoVolumefVsafe
TBuffer3DfBuff1
TBuffer3DfBuff2
Double_tfVal1
Double_tfVal2
 Array of number of crossings per volume.
Bool_tfFlags
 Array of timing per volume.
TStopwatchfTimer
 Array of flags per volume.
TGeoNodefSelectedNode
 Timer.

Detailed Description

Definition at line 38 of file TGeoChecker.h.


Constructor & Destructor Documentation

TGeoChecker::TGeoChecker (  ) 

TGeoChecker::TGeoChecker ( TGeoManager geom  ) 

Definition at line 119 of file TGeoChecker.cxx.

References fBuff1, fBuff2, and TBuffer3DTypes::kGeneric.

TGeoChecker::~TGeoChecker (  )  [virtual]

Definition at line 140 of file TGeoChecker.cxx.

References fBuff1, fBuff2, and fTimer.

TGeoChecker::TGeoChecker (  ) 

TGeoChecker::TGeoChecker ( TGeoManager geom  ) 

virtual TGeoChecker::~TGeoChecker (  )  [virtual]


Member Function Documentation

void TGeoChecker::CleanPoints ( Double_t points,
Int_t numPoints 
) const [private]

Number of points on mesh to be checked.

Definition at line 935 of file TGeoChecker.cxx.

References i, j, and k.

Int_t TGeoChecker::NChecksPerVolume ( TGeoVolume vol  )  [private]

Definition at line 1243 of file TGeoChecker.cxx.

References TGeoVoxelFinder::FindOverlaps(), TGeoVolume::GetFinder(), TGeoVolume::GetNdaughters(), TGeoVolume::GetNode(), TGeoNode::GetOverlaps(), TGeoNode::GetVolume(), TGeoVolume::GetVoxels(), id, TGeoVolume::IsAssembly(), TGeoNode::IsOverlapping(), TGeoIterator::Reset(), TGeoNode::SetOverlaps(), and TGeoIterator::Skip().

Referenced by CheckOverlaps().

Int_t TGeoChecker::PropagateInGeom ( Double_t ,
Double_t  
) [private]

Definition at line 632 of file TGeoChecker.cxx.

References TGeoShape::Big(), fGeoManager, TGeoManager::FindNextBoundaryAndStep(), TGeoManager::GetMother(), TNamed::GetName(), TGeoManager::GetStep(), TGeoNode::GetVolume(), TGeoManager::InitTrack(), TGeoVolume::IsAssembly(), TGeoManager::IsOutside(), kFALSE, Score(), and TGeoShape::Tolerance().

Referenced by CheckGeometryFull().

void TGeoChecker::Score ( TGeoVolume ,
Int_t  ,
Double_t   
) [private]

Definition at line 669 of file TGeoChecker.cxx.

References fVal1, fVal2, and TGeoVolume::GetNumber().

Referenced by CheckGeometryFull(), and PropagateInGeom().

Double_t TGeoChecker::TimingPerVolume ( TGeoVolume  )  [private]

Definition at line 693 of file TGeoChecker.cxx.

References TMath::ACos(), TGeoShape::Big(), box(), TGeoVolume::Contains(), TMath::Cos(), TStopwatch::CpuTime(), dir(), ROOT::Math::gv_detail::dist(), TGeoShape::DistFromInside(), TGeoShape::DistFromOutside(), fGeoManager, TGeoManager::FindNextDaughterBoundary(), fTimer, fVal1, TGeoManager::GetCurrentMatrix(), TGeoShape::GetName(), TNamed::GetName(), TGeoVolume::GetNdaughters(), TGeoVolume::GetNumber(), TGeoVolume::GetShape(), gRandom, i, TGeoVolume::IsAssembly(), kFALSE, kTRUE, TGeoMatrix::LocalToMaster(), TGeoMatrix::LocalToMasterVect(), TMath::Max(), phi, TMath::Pi(), TStopwatch::Reset(), TGeoManager::ResetState(), TRandom::Rndm(), TGeoManager::Safety(), TGeoShape::Safety(), TGeoManager::SetCurrentDirection(), TGeoManager::SetCurrentPoint(), TGeoManager::SetStep(), TMath::Sin(), TStopwatch::Start(), TStopwatch::Stop(), and theta.

Referenced by CheckGeometryFull().

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

Definition at line 235 of file TGeoChecker.cxx.

References TMath::Abs(), TH1::AddDirectory(), box(), TTree::Branch(), c1, TCanvas::cd(), CheckBoundaryReference(), TMath::Cos(), TStopwatch::CpuTime(), dir(), TPad::Divide(), TH1::Draw(), fGeoManager, TTree::Fill(), TH2::Fill(), TH1::Fill(), TGeoManager::FindNextBoundary(), TGeoManager::FindNode(), TGeoManager::FindNormal(), fTimer, TNamed::GetName(), TGeoManager::GetPath(), TGeoVolume::GetShape(), TGeoManager::GetStep(), TGeoManager::GetTopNode(), TGeoManager::GetTopVolume(), gPad, gRandom, gStyle, i, TObject::Info(), TGeoManager::IsSameLocation(), j, kFALSE, norm(), OpProgress(), phi, TStopwatch::RealTime(), TStopwatch::Reset(), TRandom::Rndm(), TGeoManager::SetCurrentDirection(), TGeoManager::SetCurrentPoint(), TStyle::SetOptStat(), TMath::Sin(), TMath::Sqrt(), TStopwatch::Start(), TStopwatch::Stop(), TMath::TwoPi(), and TTree::Write().

Referenced by TGeoPainter::CheckBoundaryErrors().

void TGeoChecker::CheckBoundaryReference ( Int_t  icheck = -1  )  [virtual]

Definition at line 378 of file TGeoChecker.cxx.

References TGeoManager::CdDown(), dir(), TPolyMarker3D::Draw(), TGeoVolume::DrawOnly(), fGeoManager, TGeoManager::FindNextBoundary(), TGeoManager::FindNode(), TGeoManager::GetCurrentNode(), TGeoManager::GetCurrentVolume(), TTree::GetEntries(), TTree::GetEntry(), TGeoVolume::GetIndex(), TNamed::GetName(), TGeoManager::GetPath(), TGeoManager::GetStep(), TGeoManager::GetVerboseLevel(), TGeoNode::GetVolume(), i, TGeoVolume::InspectShape(), TGeoManager::IsSameLocation(), j, kRed, kYellow, TGeoManager::MasterToLocal(), nentries, TTree::SetBranchAddress(), TGeoManager::SetCurrentDirection(), TGeoManager::SetCurrentPoint(), TAttMarker::SetMarkerColor(), TAttMarker::SetMarkerSize(), TAttMarker::SetMarkerStyle(), TPolyMarker3D::SetNextPoint(), and TGeoManager::SetVerboseLevel().

Referenced by CheckBoundaryErrors(), and TGeoPainter::CheckBoundaryReference().

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

Definition at line 451 of file TGeoChecker.cxx.

References TMath::ACos(), c, c1, TGeoManager::cd(), TGeoManager::CheckOverlaps(), TMath::Cos(), TStopwatch::CpuTime(), TString::Data(), dir(), TH1::Draw(), fFlags, fGeoManager, TH2::Fill(), fTimer, fVal1, fVal2, TObjArray::GetEntries(), TGeoManager::GetListOfUVolumes(), TNamed::GetName(), TGeoVolume::GetNdaughters(), TGeoVolume::GetNumber(), TGeoManager::GetTopVolume(), TGeoManager::GetVolume(), gRandom, h, h1, h2, i, TH1::kCanRebin, kTRUE, TH1::LabelsDeflate(), TH1::LabelsOption(), OpProgress(), phi, TMath::Pi(), PropagateInGeom(), TStopwatch::Reset(), TRandom::Rndm(), Score(), TObject::SetBit(), TAttFill::SetFillColor(), TPad::SetGrid(), TAttMarker::SetMarkerStyle(), TH1::SetStats(), TAttPad::SetTopMargin(), TMath::Sin(), TStopwatch::Start(), TStopwatch::Stop(), theta, timer, TimingPerVolume(), and value.

Referenced by TGeoPainter::CheckGeometryFull().

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

Definition at line 759 of file TGeoChecker.cxx.

References TMath::Abs(), TMath::ACos(), TObjArray::AddAt(), TObjArray::At(), TMath::Cos(), dir(), TPolyMarker3D::Draw(), dummy, E, fGeoManager, TGeoManager::FindNode(), TGeoManager::GetPath(), gPad, gRandom, i, j, k, phi, TMath::Pi(), TRandom::Rndm(), TGeoManager::SetCurrentPoint(), TAttMarker::SetMarkerColor(), TAttMarker::SetMarkerSize(), TAttMarker::SetMarkerStyle(), TPolyMarker3D::SetNextPoint(), ShootRay(), TMath::Sin(), start, and theta.

Referenced by TGeoPainter::CheckGeometry().

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

Definition at line 1331 of file TGeoChecker.cxx.

References CheckOverlapsBySampling(), TString::Contains(), TString::Data(), fFullCheck, TGeoVoxelFinder::FindOverlaps(), TGeoVolume::FindOverlaps(), fNchecks, TString::Format(), fSelectedNode, TGeoIterator::GetCurrentMatrix(), TGeoVolume::GetFinder(), TGeoIterator::GetLevel(), TGeoNode::GetMatrix(), TNamed::GetName(), TGeoVolume::GetNdaughters(), TGeoVolume::GetNode(), TGeoIterator::GetNode(), TGeoNode::GetOverlaps(), TGeoIterator::GetPath(), TGeoNode::GetVolume(), TGeoVolume::GetVoxels(), gGeoIdentity, id, TGeoVolume::IsAssembly(), TGeoNode::IsOverlapping(), kFALSE, TString::kLeading, kTRUE, level, MakeCheckOverlap(), NChecksPerVolume(), TGeoVoxelFinder::NeedRebuild(), TGeoIterator::Reset(), TGeoNode::SetOverlaps(), TGeoIterator::SetTopName(), TGeoShape::SetTransform(), TGeoIterator::Skip(), TString::Strip(), TString::ToLower(), TGeoVoxelFinder::Voxelize(), and TObject::Warning().

Referenced by TGeoPainter::CheckOverlaps().

void TGeoChecker::CheckOverlapsBySampling ( TGeoVolume vol,
Double_t  ovlp = 0.1,
Int_t  npoints = 1000000 
) const

Definition at line 1121 of file TGeoChecker.cxx.

References TGeoManager::AddOverlap(), box(), TGeoShape::Capacity(), TGeoShape::Contains(), TGeoVolume::Contains(), TString::Data(), TObject::Error(), fGeoManager, TGeoVolume::FindOverlaps(), flags, TString::Format(), TGeoVoxelFinder::GetCheckList(), TGeoVolume::GetCurrentNodeIndex(), TGeoNode::GetMatrix(), TPolyMarker3D::GetN(), TNamed::GetName(), TGeoVolume::GetNdaughters(), TGeoVolume::GetNode(), TGeoOverlap::GetOverlap(), TGeoOverlap::GetPolyMarker(), TGeoVolume::GetShape(), TGeoNode::GetVolume(), TGeoVolume::GetVoxels(), gRandom, TObject::Info(), TGeoNode::IsOverlapping(), kFALSE, kTRUE, local, TGeoMatrix::MasterToLocal(), TGeoHMatrix::Multiply(), TGeoVoxelFinder::NeedRebuild(), TRandom::Rndm(), safe, TGeoShape::Safety(), TGeoOverlap::SetNextPoint(), TGeoOverlap::SetOverlap(), TMath::Sqrt(), and TGeoVoxelFinder::Voxelize().

Referenced by CheckOverlaps().

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

Definition at line 1558 of file TGeoChecker.cxx.

References TGeoVolume::AddNode(), close, TPolyMarker3D::Draw(), TGeoVolume::Draw(), E, fGeoManager, TGeoManager::FindNode(), fVsafe, TGeoVolume::GetMedium(), TGeoVolume::GetNdaughters(), TGeoVolume::GetNode(), TGeoVolume::GetNodes(), TGeoManager::GetPath(), TGeoManager::GetTopVolume(), TGeoNode::GetVolume(), gPad, TGeoVolume::IsVisible(), kFALSE, kTRUE, local, TGeoManager::MakeSphere(), TGeoManager::MasterToLocal(), TObjArray::RemoveAt(), TGeoManager::Safety(), TGeoVolume::SetLineColor(), TGeoVolume::SetLineStyle(), TAttMarker::SetMarkerColor(), TAttMarker::SetMarkerSize(), TAttMarker::SetMarkerStyle(), TPolyMarker3D::SetNextPoint(), TGeoManager::SetTopVisible(), TGeoVolume::SetVisibility(), and TGeoManager::SetVisLevel().

Referenced by TGeoPainter::CheckPoint().

Double_t TGeoChecker::CheckVoxels ( TGeoVolume vol,
TGeoVoxelFinder voxels,
Double_t xyz,
Int_t  npoints 
)

Definition at line 2321 of file TGeoChecker.cxx.

References TGeoShape::Contains(), TStopwatch::CpuTime(), TGeoVoxelFinder::GetCheckList(), TGeoNode::GetMatrix(), TGeoVolume::GetNode(), TGeoVolume::GetShape(), TGeoNode::GetVolume(), i, local, TStopwatch::Start(), and timer.

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

Definition at line 1608 of file TGeoChecker.cxx.

References TMath::Cos(), dir(), E, fGeoManager, TGeoManager::FindNextBoundary(), TGeoManager::GetCurrentNode(), TGeoVolume::GetMaterial(), TGeoMaterial::GetRadLen(), TGeoManager::GetStep(), TGeoNode::GetVolume(), hist, i, TGeoManager::InitTrack(), TGeoManager::IsEntering(), TGeoManager::IsOutside(), j, phi, TMath::Pi(), TGeoManager::SetStep(), TMath::Sin(), start, TGeoManager::Step(), theta, and x.

Referenced by TGeoPainter::LegoPlot().

void TGeoChecker::PrintOverlaps (  )  const

Definition at line 1548 of file TGeoChecker.cxx.

References fGeoManager, TGeoManager::GetListOfOverlaps(), and TNamed::GetName().

Referenced by TGeoPainter::PrintOverlaps().

void TGeoChecker::RandomPoints ( TGeoVolume vol,
Int_t  npoints,
Option_t option 
)

Definition at line 1685 of file TGeoChecker.cxx.

References TObjArray::AddAt(), TObjArray::At(), box(), TString::Contains(), TGeoVolume::Draw(), fGeoManager, TGeoManager::FindNode(), TGeoNode::GetColour(), TNamed::GetName(), TGeoVolume::GetShape(), TGeoManager::GetTopVolume(), gRandom, i, TGeoNode::IsOnScreen(), TGeoNode::IsOverlapping(), kFALSE, kTRUE, m, marker, ratio, TRandom::Rndm(), TGeoManager::SetCurrentPoint(), TString::ToLower(), and TGeoVolume::VisibleDaughters().

Referenced by TGeoPainter::RandomPoints().

void TGeoChecker::RandomRays ( Int_t  nrays,
Double_t  startx,
Double_t  starty,
Double_t  startz 
)

Definition at line 1756 of file TGeoChecker.cxx.

References TMath::ACos(), TObjArray::Add(), TObjArray::At(), TMath::Cos(), dir(), TGeoVolume::Draw(), fGeoManager, TGeoManager::FindNextBoundary(), TGeoManager::FindNextBoundaryAndStep(), TGeoManager::FindNormalFast(), TGeoManager::GetCurrentNode(), TGeoManager::GetCurrentPoint(), TObjArray::GetEntriesFast(), TAttLine::GetLineColor(), TGeoVolume::GetShape(), TGeoManager::GetStep(), TGeoManager::GetTopVolume(), TGeoNode::GetVolume(), gRandom, i, TGeoManager::InitTrack(), TGeoNode::IsOnScreen(), TGeoManager::IsOutside(), kBlue, kFALSE, line, m, TMath::Max(), phi, TMath::Pi(), TRandom::Rndm(), TAttLine::SetLineColor(), TAttLine::SetLineWidth(), TPolyLine3D::SetPoint(), TMath::Sin(), start, TGeoManager::Step(), and theta.

Referenced by TGeoPainter::RandomRays().

TGeoOverlap * TGeoChecker::MakeCheckOverlap ( const char *  name,
TGeoVolume vol1,
TGeoVolume vol2,
TGeoMatrix mat1,
TGeoMatrix mat2,
Bool_t  isovlp,
Double_t  ovlp 
)

Definition at line 955 of file TGeoChecker.cxx.

References TMath::Abs(), TGeoManager::AddOverlap(), TGeoShape::Big(), E, fBuff1, fBuff2, fGeoManager, TBuffer3D::fID, fNmeshPoints, TBuffer3D::fPnts, TGeoShape::GetMeshNumbers(), TGeoOverlap::GetOverlap(), TGeoVolume::GetShape(), TGeoVolume::IsAssembly(), kFALSE, kTRUE, local, TGeoMatrix::LocalToMaster(), TGeoMatrix::MasterToLocal(), TMath::Max(), TBuffer3D::NbPnts(), TBuffer3D::NbPols(), TBuffer3D::NbSegs(), NULL, OpProgress(), TGeoOverlap::SetNextPoint(), TGeoOverlap::SetOverlap(), TBuffer3D::SetRawSizes(), and TGeoShape::Tolerance().

Referenced by CheckOverlaps().

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

Definition at line 149 of file TGeoChecker.cxx.

References TMath::Abs(), TStopwatch::Continue(), TString::Data(), fNchecks, TString::Format(), fprintf(), i, kFALSE, Long64_t, TStopwatch::RealTime(), TString::Remove(), and TStopwatch::Stop().

Referenced by CheckBoundaryErrors(), CheckGeometryFull(), MakeCheckOverlap(), TGeoPainter::OpProgress(), and TGeoPainter::Raytrace().

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

Definition at line 1873 of file TGeoChecker.cxx.

References TMath::Abs(), TGeoManager::cd(), TGeoManager::CdUp(), TGeoVolume::Contains(), TString::Data(), fGeoManager, TGeoManager::FindNode(), TGeoManager::GetCurrentNode(), TGeoManager::GetCurrentPoint(), TGeoManager::GetLevel(), TGeoManager::GetPath(), TGeoNode::GetVolume(), gRandom, i, TString::Index(), kFALSE, kTRUE, local, TGeoNode::MasterToLocal(), TGeoManager::MasterToLocal(), name, TRandom::Rndm(), TGeoManager::SetCurrentPoint(), and TMath::Sqrt().

Referenced by TGeoPainter::SamplePoints().

Double_t * TGeoChecker::ShootRay ( Double_t start,
Double_t  dirx,
Double_t  diry,
Double_t  dirz,
Double_t array,
Int_t nelem,
Int_t dim,
Double_t enpoint = 0 
) const

Definition at line 1986 of file TGeoChecker.cxx.

References dir(), E, fGeoManager, TGeoManager::FindNextBoundary(), TGeoManager::GetCurrentNode(), TGeoManager::GetCurrentPoint(), TGeoManager::GetStep(), TGeoManager::InitTrack(), TGeoManager::IsEntering(), kTRUE, TGeoManager::SetStep(), and TGeoManager::Step().

Referenced by CheckGeometry().

void TGeoChecker::SetSelectedNode ( TGeoNode node  )  [inline]

Definition at line 85 of file TGeoChecker.h.

References fSelectedNode.

Referenced by TGeoPainter::SetCheckedNode().

void TGeoChecker::SetNmeshPoints ( Int_t  npoints = 1000  ) 

Definition at line 683 of file TGeoChecker.cxx.

References TObject::Error(), and fNmeshPoints.

Referenced by TGeoPainter::SetNmeshPoints().

void TGeoChecker::Test ( Int_t  npoints,
Option_t option 
)

Definition at line 2078 of file TGeoChecker.cxx.

References TGeoManager::CdTop(), fGeoManager, TGeoManager::FindNode(), TNamed::GetName(), TGeoManager::GetPath(), TGeoVolume::GetShape(), TGeoManager::GetTopVolume(), gRandom, i, kFALSE, TStopwatch::Print(), TStopwatch::Reset(), TRandom::Rndm(), TGeoManager::SetCurrentPoint(), TStopwatch::Start(), TStopwatch::Stop(), and timer.

Referenced by TGeoPainter::Test().

void TGeoChecker::TestOverlaps ( const char *  path  ) 

Definition at line 2128 of file TGeoChecker.cxx.

References TObjArray::Add(), TObjArray::AddAt(), TObjArray::At(), TGeoManager::cd(), TGeoManager::CdTop(), TGeoShape::Contains(), TString::Contains(), TPolyMarker3D::Draw(), TTree::Draw(), fGeoManager, TNtuple::Fill(), TGeoManager::FindNode(), TGeoManager::GetCurrentNode(), TObjArray::GetEntriesFast(), TAttLine::GetLineColor(), TGeoManager::GetMasterVolume(), TNamed::GetName(), TGeoManager::GetPath(), TGeoVolume::GetShape(), TGeoManager::GetTopVolume(), TGeoNode::GetVolume(), gPad, gRandom, i, TObjArray::IndexOf(), TGeoNode::InspectNode(), TGeoNode::IsOverlapping(), j, TGeoManager::LocalToMaster(), marker, TMath::Max(), TMath::Min(), TGeoManager::RestoreMasterVolume(), TRandom::Rndm(), TGeoManager::SetCurrentPoint(), TAttMarker::SetMarkerColor(), TPolyMarker3D::SetNextPoint(), xmax, xmin, ymax, and ymin.

Referenced by TGeoPainter::TestOverlaps().

Bool_t TGeoChecker::TestVoxels ( TGeoVolume vol,
Int_t  npoints = 1000000 
)

Definition at line 2353 of file TGeoChecker.cxx.

References kFALSE.

Referenced by TGeoPainter::TestVoxels().

Double_t TGeoChecker::Weight ( Double_t  precision = 0.01,
Option_t option = "v" 
)

Definition at line 2245 of file TGeoChecker.cxx.

References TList::At(), box(), TString::Contains(), E, fGeoManager, TGeoManager::FindNode(), TGeoMaterial::GetDensity(), TGeoMaterial::GetIndex(), TGeoManager::GetListOfMaterials(), TGeoMedium::GetMaterial(), TGeoVolume::GetMedium(), TNamed::GetName(), TGeoVolume::GetShape(), TCollection::GetSize(), TGeoManager::GetTopVolume(), TGeoNode::GetVolume(), gRandom, kFALSE, kTRUE, TRandom::Rndm(), sigma, TMath::Sqrt(), TString::ToLower(), x, and y.

Referenced by TGeoPainter::Weight().

void TGeoChecker::CleanPoints ( Double_t points,
Int_t numPoints 
) const [private]

Number of points on mesh to be checked.

Int_t TGeoChecker::NChecksPerVolume ( TGeoVolume vol  )  [private]

Int_t TGeoChecker::PropagateInGeom ( Double_t ,
Double_t  
) [private]

void TGeoChecker::Score ( TGeoVolume ,
Int_t  ,
Double_t   
) [private]

Double_t TGeoChecker::TimingPerVolume ( TGeoVolume  )  [private]

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

virtual void TGeoChecker::CheckBoundaryReference ( Int_t  icheck = -1  )  [virtual]

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

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

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

void TGeoChecker::CheckOverlapsBySampling ( TGeoVolume vol,
Double_t  ovlp = 0.1,
Int_t  npoints = 1000000 
) const

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

Double_t TGeoChecker::CheckVoxels ( TGeoVolume vol,
TGeoVoxelFinder voxels,
Double_t xyz,
Int_t  npoints 
)

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

void TGeoChecker::PrintOverlaps (  )  const

void TGeoChecker::RandomPoints ( TGeoVolume vol,
Int_t  npoints,
Option_t option 
)

void TGeoChecker::RandomRays ( Int_t  nrays,
Double_t  startx,
Double_t  starty,
Double_t  startz 
)

TGeoOverlap* TGeoChecker::MakeCheckOverlap ( const char *  name,
TGeoVolume vol1,
TGeoVolume vol2,
TGeoMatrix mat1,
TGeoMatrix mat2,
Bool_t  isovlp,
Double_t  ovlp 
)

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

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

Double_t* TGeoChecker::ShootRay ( Double_t start,
Double_t  dirx,
Double_t  diry,
Double_t  dirz,
Double_t array,
Int_t nelem,
Int_t dim,
Double_t enpoint = 0 
) const

void TGeoChecker::SetSelectedNode ( TGeoNode node  )  [inline]

Definition at line 85 of file TGeoChecker.h.

References fSelectedNode.

void TGeoChecker::SetNmeshPoints ( Int_t  npoints = 1000  ) 

void TGeoChecker::Test ( Int_t  npoints,
Option_t option 
)

void TGeoChecker::TestOverlaps ( const char *  path  ) 

Bool_t TGeoChecker::TestVoxels ( TGeoVolume vol,
Int_t  npoints = 1000000 
)

Double_t TGeoChecker::Weight ( Double_t  precision = 0.01,
Option_t option = "v" 
)


Member Data Documentation

TGeoManager* TGeoChecker::fGeoManager [private]

Definition at line 42 of file TGeoChecker.h.

Referenced by CheckBoundaryErrors(), CheckBoundaryReference(), CheckGeometry(), CheckGeometryFull(), CheckOverlapsBySampling(), CheckPoint(), LegoPlot(), MakeCheckOverlap(), PrintOverlaps(), PropagateInGeom(), RandomPoints(), RandomRays(), SamplePoints(), ShootRay(), Test(), TestOverlaps(), TimingPerVolume(), and Weight().

TGeoVolume* TGeoChecker::fVsafe [private]

Definition at line 43 of file TGeoChecker.h.

Referenced by CheckPoint().

TBuffer3D* TGeoChecker::fBuff1 [private]

Definition at line 44 of file TGeoChecker.h.

Referenced by MakeCheckOverlap(), TGeoChecker(), and ~TGeoChecker().

TBuffer3D* TGeoChecker::fBuff2 [private]

Definition at line 45 of file TGeoChecker.h.

Referenced by MakeCheckOverlap(), TGeoChecker(), and ~TGeoChecker().

Bool_t TGeoChecker::fFullCheck [private]

Definition at line 46 of file TGeoChecker.h.

Referenced by CheckOverlaps().

Double_t* TGeoChecker::fVal1 [private]

Definition at line 47 of file TGeoChecker.h.

Referenced by CheckGeometryFull(), Score(), and TimingPerVolume().

Double_t* TGeoChecker::fVal2 [private]

Array of number of crossings per volume.

Definition at line 48 of file TGeoChecker.h.

Referenced by CheckGeometryFull(), and Score().

Bool_t* TGeoChecker::fFlags [private]

Array of timing per volume.

Definition at line 49 of file TGeoChecker.h.

Referenced by CheckGeometryFull().

TStopwatch* TGeoChecker::fTimer [private]

Array of flags per volume.

Definition at line 50 of file TGeoChecker.h.

Referenced by CheckBoundaryErrors(), CheckGeometryFull(), TimingPerVolume(), and ~TGeoChecker().

TGeoNode* TGeoChecker::fSelectedNode [private]

Timer.

Definition at line 51 of file TGeoChecker.h.

Referenced by CheckOverlaps(), and SetSelectedNode().

Int_t TGeoChecker::fNchecks [private]

Selected node for overlap checking.

Definition at line 52 of file TGeoChecker.h.

Referenced by CheckOverlaps(), and OpProgress().

Int_t TGeoChecker::fNmeshPoints [private]

Number of checks for current volume.

Definition at line 53 of file TGeoChecker.h.

Referenced by MakeCheckOverlap(), and SetNmeshPoints().

TGeoManager* TGeoChecker::fGeoManager [private]

Definition at line 42 of file TGeoChecker.h.

TGeoVolume* TGeoChecker::fVsafe [private]

Definition at line 43 of file TGeoChecker.h.

TBuffer3D* TGeoChecker::fBuff1 [private]

Definition at line 44 of file TGeoChecker.h.

TBuffer3D* TGeoChecker::fBuff2 [private]

Definition at line 45 of file TGeoChecker.h.

Double_t* TGeoChecker::fVal1 [private]

Definition at line 47 of file TGeoChecker.h.

Double_t* TGeoChecker::fVal2 [private]

Array of number of crossings per volume.

Definition at line 48 of file TGeoChecker.h.

Bool_t* TGeoChecker::fFlags [private]

Array of timing per volume.

Definition at line 49 of file TGeoChecker.h.

TStopwatch* TGeoChecker::fTimer [private]

Array of flags per volume.

Definition at line 50 of file TGeoChecker.h.

TGeoNode* TGeoChecker::fSelectedNode [private]

Timer.

Definition at line 51 of file TGeoChecker.h.


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:38:41 2011 for ROOT_528-00b_version by  doxygen 1.5.1