![]() |
Project
|
An overlap census that asks the shapes: every sampled point is verified to lie on its solid's boundary, and the depth, not containment, separates touching from interpenetrating pairs. More...
#include "CADSupport/O2OverlapCheck.h"#include "CADSupport/O2FlatCSG.h"#include "TGeoShape.h"#include "TGeoBBox.h"#include "TGeoMatrix.h"#include "TGeoVolume.h"#include "TGeoNode.h"#include <algorithm>#include <chrono>#include <cmath>#include <cstring>#include <limits>Go to the source code of this file.
Namespaces | |
| namespace | o2 |
| a couple of static helper functions to create timestamp values for CCDB queries or override obsolete objects | |
| namespace | o2::cad |
Functions | |
| const char * | o2::cad::OverlapVerdictName (OverlapVerdict verdict) |
| int | o2::cad::SampleBoundaryPoints (const TGeoShape *shape, int npoints, double residualTolerance, std::vector< double > &points, int &rejected, double &worstResidual, bool *usedPointsOnSegments=nullptr) |
| OverlapPair | o2::cad::CheckPairOverlap (const TGeoShape *shapeA, const TGeoMatrix *matA, const std::string &nameA, const TGeoShape *shapeB, const TGeoMatrix *matB, const std::string &nameB, const OverlapOptions &options=OverlapOptions()) |
| Test one placed pair. matA / matB take each shape's local frame to the common frame. | |
| OverlapCensus | o2::cad::CheckWorldOverlaps (const TGeoVolume *volume, const OverlapOptions &options=OverlapOptions()) |
| Census every pair of volume's immediate daughters, and optionally each daughter against volume. | |
An overlap census that asks the shapes: every sampled point is verified to lie on its solid's boundary, and the depth, not containment, separates touching from interpenetrating pairs.
Definition in file O2OverlapCheck.cxx.
| int contained = 0 |
Definition at line 216 of file O2OverlapCheck.cxx.
| int deep = 0 |
Definition at line 217 of file O2OverlapCheck.cxx.
| double deepestMaster[3] = {0., 0., 0.} |
Definition at line 219 of file O2OverlapCheck.cxx.
| double lower[3] = {0., 0., 0.} |
Definition at line 59 of file O2OverlapCheck.cxx.
| double maxDepth = 0. |
Definition at line 218 of file O2OverlapCheck.cxx.
| double minSeparation = std::numeric_limits<double>::max() |
Definition at line 220 of file O2OverlapCheck.cxx.
| double upper[3] = {0., 0., 0.} |
Definition at line 60 of file O2OverlapCheck.cxx.
| bool valid = false |
Definition at line 61 of file O2OverlapCheck.cxx.