|
|
|||
File indexing completed on 2026-08-16 09:22:24
0001 // @(#)root/geom:$Id$ 0002 // Author: Andrei Gheata 05/01/26 0003 0004 /************************************************************************* 0005 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * 0006 * All rights reserved. * 0007 * * 0008 * For the licensing terms see $ROOTSYS/LICENSE. * 0009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 0010 *************************************************************************/ 0011 0012 #ifndef ROOT_TGeoOverlapCandidate 0013 #define ROOT_TGeoOverlapCandidate 0014 0015 #include "TBuffer3D.h" 0016 #include "TString.h" 0017 #include "TGeoMatrix.h" 0018 class TGeoShape; 0019 class TGeoVolume; 0020 0021 // Lightweight description of a single overlap/extrusion check to perform 0022 struct TGeoOverlapCandidate { 0023 TString fName; ///< display name 0024 TGeoVolume *fVol1 = nullptr; ///< first volume 0025 TGeoVolume *fVol2 = nullptr; ///< second volume 0026 TGeoHMatrix fMat1; ///< matrix for first volume 0027 TGeoHMatrix fMat2; ///< matrix for second volume 0028 Bool_t fIsOverlap = kTRUE; ///< kTRUE=overlap, kFALSE=extrusion 0029 Double_t fOvlp = 0.0; ///< threshold for "illegal" 0030 }; 0031 0032 // Output of the numerical check (no ROOT object allocation inside) 0033 struct TGeoOverlapResult { 0034 TString fName; ///< display name 0035 TGeoVolume *fVol1 = nullptr; ///< first volume 0036 TGeoVolume *fVol2 = nullptr; ///< second volume 0037 TGeoHMatrix fMat1; /// matrix for first volume 0038 TGeoHMatrix fMat2; /// matrix for second volume 0039 Bool_t fIsOverlap = kTRUE; ///< kTRUE=overlap, kFALSE=extrusion 0040 Double_t fMaxOverlap = 0.0; ///< overlap distance found 0041 std::vector<std::array<Double_t, 3>> fPoints; ///< up to N points (e.g. 100) 0042 }; 0043 0044 #endif // ROOT_TGeoOverlapWorkState
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|