![]() |
|
|||
File indexing completed on 2025-06-30 07:54:18
0001 //========================================================================== 0002 // AIDA Detector description implementation 0003 //-------------------------------------------------------------------------- 0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN) 0005 // All rights reserved. 0006 // 0007 // For the licensing terms see $DD4hepINSTALL/LICENSE. 0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS. 0009 // 0010 // Author : M.Frank 0011 // 0012 //========================================================================== 0013 0014 #ifndef DDCORE_SRC_GEOMETRYTREEDUMP_H 0015 #define DDCORE_SRC_GEOMETRYTREEDUMP_H 0016 0017 // Framework include files 0018 #include <DD4hep/Detector.h> 0019 #include <DD4hep/GeoHandler.h> 0020 0021 // C/C++ include files 0022 #include <set> 0023 #include <vector> 0024 0025 class TGeoVolume; 0026 class TGeoNode; 0027 0028 /// Namespace for the AIDA detector description toolkit 0029 namespace dd4hep { 0030 0031 /// Namespace for implementation details of the AIDA detector description toolkit 0032 namespace detail { 0033 0034 /// Geometry to screen dump action 0035 /** 0036 * \author M.Frank 0037 * \version 1.0 0038 * \ingroup DD4HEP_CORE 0039 */ 0040 class GeometryTreeDump: public GeoHandler { 0041 public: 0042 GeometryTreeDump() = default; 0043 /// Standard destructor 0044 virtual ~GeometryTreeDump() = default; 0045 /// Main entry point: create required object(s) 0046 void create(DetElement top); 0047 0048 /// Dump logical volume in GDML format to output stream 0049 virtual void* handleVolume(const std::string& name, Volume volume) const; 0050 /// Dump single volume transformation in GDML format to output stream 0051 virtual void* handleTransformation(const std::string& name, const TGeoMatrix* matrix) const; 0052 /// Dump solid in GDML format to output stream 0053 virtual void* handleSolid(const std::string& name, const TGeoShape* volume) const; 0054 0055 /// Dump all constants in GDML format to output stream 0056 virtual void handleDefines(const Detector::HandleMap& defs) const; 0057 /// Dump all visualisation specs in Detector format to output stream 0058 void handleVisualisation(const Detector::HandleMap& vis) const; 0059 /// Dump all solids in GDML format to output stream 0060 virtual void handleSolids(const std::set<TGeoShape*>& solids) const; 0061 /// Dump Transformations in GDML format to output stream 0062 virtual void handleTransformations(const std::vector<std::pair<std::string, TGeoMatrix*> >& trafos) const; 0063 /// Dump structure information in GDML format to output stream 0064 virtual void handleStructure(const std::set<Volume>& volset) const; 0065 }; 0066 } // End namespace detail 0067 } // End namespace dd4hep 0068 #endif // DDCORE_SRC_GEOMETRYTREEDUMP_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |