ROOT
master
Reference Guide
Loading...
Searching...
No Matches
TGeoOverlapCandidate.h
Go to the documentation of this file.
1
// @(#)root/geom:$Id$
2
// Author: Andrei Gheata 05/01/26
3
4
/*************************************************************************
5
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6
* All rights reserved. *
7
* *
8
* For the licensing terms see $ROOTSYS/LICENSE. *
9
* For the list of contributors see $ROOTSYS/README/CREDITS. *
10
*************************************************************************/
11
12
#ifndef ROOT_TGeoOverlapCandidate
13
#define ROOT_TGeoOverlapCandidate
14
15
#include "
TBuffer3D.h
"
16
#include "
TString.h
"
17
#include "
TGeoMatrix.h
"
18
class
TGeoShape
;
19
class
TGeoVolume
;
20
21
// Lightweight description of a single overlap/extrusion check to perform
22
struct
TGeoOverlapCandidate
{
23
TString
fName
;
///< display name
24
TGeoVolume
*
fVol1
=
nullptr
;
///< first volume
25
TGeoVolume
*
fVol2
=
nullptr
;
///< second volume
26
TGeoHMatrix
fMat1
;
///< matrix for first volume
27
TGeoHMatrix
fMat2
;
///< matrix for second volume
28
Bool_t
fIsOverlap
=
kTRUE
;
///< kTRUE=overlap, kFALSE=extrusion
29
Double_t
fOvlp
= 0.0;
///< threshold for "illegal"
30
};
31
32
// Output of the numerical check (no ROOT object allocation inside)
33
struct
TGeoOverlapResult
{
34
TString
fName
;
///< display name
35
TGeoVolume
*
fVol1
=
nullptr
;
///< first volume
36
TGeoVolume
*
fVol2
=
nullptr
;
///< second volume
37
TGeoHMatrix
fMat1
;
/// matrix for first volume
38
TGeoHMatrix
fMat2
;
/// matrix for second volume
39
Bool_t
fIsOverlap
=
kTRUE
;
///< kTRUE=overlap, kFALSE=extrusion
40
Double_t
fMaxOverlap
= 0.0;
///< overlap distance found
41
std::vector<std::array<Double_t, 3>>
fPoints
;
///< up to N points (e.g. 100)
42
};
43
44
#endif
// ROOT_TGeoOverlapWorkState
kTRUE
constexpr Bool_t kTRUE
Definition
RtypesCore.h:107
TBuffer3D.h
TGeoMatrix.h
TString.h
TGeoHMatrix
Matrix class used for computing global transformations Should NOT be used for node definition.
Definition
TGeoMatrix.h:459
TGeoShape
Base abstract class for all shapes.
Definition
TGeoShape.h:25
TGeoVolume
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
Definition
TGeoVolume.h:43
TString
Basic string class.
Definition
TString.h:138
bool
double
TGeoOverlapCandidate
Definition
TGeoOverlapCandidate.h:22
TGeoOverlapCandidate::fMat2
TGeoHMatrix fMat2
matrix for second volume
Definition
TGeoOverlapCandidate.h:27
TGeoOverlapCandidate::fVol2
TGeoVolume * fVol2
second volume
Definition
TGeoOverlapCandidate.h:25
TGeoOverlapCandidate::fVol1
TGeoVolume * fVol1
first volume
Definition
TGeoOverlapCandidate.h:24
TGeoOverlapCandidate::fName
TString fName
display name
Definition
TGeoOverlapCandidate.h:23
TGeoOverlapCandidate::fOvlp
Double_t fOvlp
threshold for "illegal"
Definition
TGeoOverlapCandidate.h:29
TGeoOverlapCandidate::fIsOverlap
Bool_t fIsOverlap
kTRUE=overlap, kFALSE=extrusion
Definition
TGeoOverlapCandidate.h:28
TGeoOverlapCandidate::fMat1
TGeoHMatrix fMat1
matrix for first volume
Definition
TGeoOverlapCandidate.h:26
TGeoOverlapResult
Definition
TGeoOverlapCandidate.h:33
TGeoOverlapResult::fVol1
TGeoVolume * fVol1
first volume
Definition
TGeoOverlapCandidate.h:35
TGeoOverlapResult::fPoints
std::vector< std::array< Double_t, 3 > > fPoints
up to N points (e.g. 100)
Definition
TGeoOverlapCandidate.h:41
TGeoOverlapResult::fMat2
TGeoHMatrix fMat2
matrix for first volume
Definition
TGeoOverlapCandidate.h:38
TGeoOverlapResult::fName
TString fName
display name
Definition
TGeoOverlapCandidate.h:34
TGeoOverlapResult::fVol2
TGeoVolume * fVol2
second volume
Definition
TGeoOverlapCandidate.h:36
TGeoOverlapResult::fIsOverlap
Bool_t fIsOverlap
matrix for second volume
Definition
TGeoOverlapCandidate.h:39
TGeoOverlapResult::fMaxOverlap
Double_t fMaxOverlap
overlap distance found
Definition
TGeoOverlapCandidate.h:40
TGeoOverlapResult::fMat1
TGeoHMatrix fMat1
Definition
TGeoOverlapCandidate.h:37
geom
geom
inc
TGeoOverlapCandidate.h
ROOTmaster - Reference Guide Generated on Fri Jan 30 2026 03:44:40 (GVA Time) using Doxygen 1.10.0