diff --git a/geom/gdml/inc/TGDMLParse.h b/geom/gdml/inc/TGDMLParse.h index 6bead522eef65..7d6192680bfc1 100644 --- a/geom/gdml/inc/TGDMLParse.h +++ b/geom/gdml/inc/TGDMLParse.h @@ -43,9 +43,9 @@ class TGDMLRefl : public TObject { TGeoMatrix *GetMatrix(); private: - const char *fNameS; //! reflected solid name - const char *fSolid; //! solid name being reflected - TGeoMatrix *fMatrix; //! matrix of reflected solid + const char *fNameS; /// FracMap; typedef std::map ConstMap; - PosMap fposmap; //! Map containing position names and the TGeoTranslation for it - RotMap frotmap; //! Map containing rotation names and the TGeoRotation for it - SclMap fsclmap; //! Map containing scale names and the TGeoScale for it - IsoMap fisomap; //! Map containing isotope names and the TGeoIsotope for it - EleMap felemap; //! Map containing element names and the TGeoElement for it - MatMap fmatmap; //! Map containing material names and the TGeoMaterial for it - MedMap fmedmap; //! Map containing medium names and the TGeoMedium for it - MixMap fmixmap; //! Map containing mixture names and the TGeoMixture for it - SolMap fsolmap; //! Map containing solid names and the TGeoShape for it - VolMap fvolmap; //! Map containing volume names and the TGeoVolume for it - PvolMap fpvolmap; //! Map containing placed volume names and the TGeoNode for it - ReflectionsMap freflectmap; //! Map containing reflection names and the Solid name ir references to - ReflSolidMap freflsolidmap; //! Map containing reflection names and the TGDMLRefl for it - containing refl matrix - ReflVolMap freflvolmap; //! Map containing reflected volume names and the solid ref for it - FileMap ffilemap; //! Map containing files parsed during entire parsing, with their world volume name - ConstMap fconsts; //! Map containing values of constants declared in the file - MatrixMap fmatrices; //! Map containing matrices defined in the GDML file + PosMap fposmap; /// fThreadData; //! Navigation data per thread - mutable Int_t fThreadSize{0}; //! Size for the navigation data array - mutable std::mutex fMutex; //! Mutex for thread data access - mutable Bool_t fMeshValid{kFALSE}; //! Flag for mesh cache validity + mutable std::vector fThreadData; /// ElementRNMap_t; typedef ElementRNMap_t::iterator ElementRNMapIt_t; - ElementRNMap_t fElementsRN; //! map of RN elements with ENDF key + ElementRNMap_t fElementsRN; /// list of local transformations TObjArray *fShapes; //-> list of shapes TObjArray *fVolumes; //-> list of volumes TObjArray *fPhysicalNodes; //-> list of physical nodes - TObjArray *fGShapes; //! list of runtime shapes - TObjArray *fGVolumes; //! list of runtime volumes + TObjArray *fGShapes; /// list of tracks attached to geometry TObjArray *fPdgNames; //-> list of pdg names for tracks TObjArray *fGDMLMatrices; //-> list of matrices read from GDML @@ -113,7 +113,7 @@ class TGeoManager : public TNamed { TObjArray *fNodes; //-> current branch of nodes TObjArray *fOverlaps; //-> list of geometrical overlaps TObjArray *fRegions; //-> list of regions - UChar_t *fBits; //! bits used for voxelization + UChar_t *fBits; /// NavigatorsMap_t; typedef NavigatorsMap_t::iterator NavigatorsMapIt_t; @@ -122,34 +122,34 @@ class TGeoManager : public TNamed { // Map of constant properties typedef std::map ConstPropMap_t; - NavigatorsMap_t fNavigators; //! Map between thread id's and navigator arrays - static ThreadsMap_t *fgThreadId; //! Thread id's map - static Int_t fgNumThreads; //! Number of registered threads - static Bool_t fgLockNavigators; //! Lock existing navigators - TGeoNavigator *fCurrentNavigator; //! current navigator - TGeoVolume *fCurrentVolume; //! current volume - TGeoVolume *fTopVolume; //! top level volume in geometry - TGeoNode *fTopNode; //! top physical node + NavigatorsMap_t fNavigators; /// list of unique volumes - TGeoShape *fClippingShape; //! clipping shape for raytracing - TGeoElementTable *fElementTable; //! table of elements + TGeoShape *fClippingShape; /// hash list of physical node entries - mutable TObjArray *fArrayPNE; //! array of physical node entries + mutable TObjArray *fArrayPNE; /// *fSafetyVoxelCache = - nullptr; //! A regular 3D cache layer for fast point-based safety lookups - std::vector fSafetyCandidateStore{}; //! stores bounding boxes serving a quick safety candidates (to be - //! used with the VoxelGrid and SafetyVoxelInfo) - void *fBoundingBoxes = nullptr; //! to keep the vector of primitive axis aligned bounding boxes - AccelerationMode fAccMode = AccelerationMode::kVoxelFinder; //! switch between different algorithm implementations + nullptr; /// fSafetyCandidateStore{}; /// fThreadData; //! Vector of thread private transient data - mutable Int_t fThreadSize; //! Size of the thread vector - mutable std::mutex fMutex; //! Mutex for thread data + mutable std::vector fThreadData; /// fThreadData; //! Navigation data per thread - mutable Int_t fThreadSize; //! Size for the navigation data array - mutable std::mutex fMutex; //! Mutex for thread data + mutable std::vector fThreadData; /// fVertices; // List of vertices std::vector fFacets; // List of facets - std::multimap fVerticesMap; //! Temporary map used to deduplicate vertices + std::multimap fVerticesMap; /// fThreadData; //! Thread specific data vector - mutable Int_t fThreadSize; //! Thread vector size - mutable std::mutex fMutex; //! Mutex for concurrent operations + mutable std::vector fThreadData; /// fThreadData; //! Navigation data per thread - mutable Int_t fThreadSize; //! size of thread-specific array - mutable std::mutex fMutex; //! mutex for thread data + mutable std::vector fThreadData; /// fMeshPointsCache; //! Internal map shape->mesh points - MeshPolicyStamp fMeshPolicyStamp; //! policy stamp for points cache invalidation + std::unordered_map fMeshPointsCache; ///mesh points + MeshPolicyStamp fMeshPolicyStamp; ///