00001 #ifndef XDDDUMPALG_H 00002 #define XDDDUMPALG_H 00003 00004 00005 #include "GaudiAlg/GaudiAlgorithm.h" 00006 00007 class DataObject; 00008 class LVolume; 00009 class LAssembly; 00010 class DetectorElement; 00011 class Material; 00012 00013 #include <string> 00014 #include <vector> 00015 00016 class XddDumpAlg : public GaudiAlgorithm 00017 { 00018 00019 public: 00020 00021 XddDumpAlg(const std::string& name, ISvcLocator* pSvcLocator); 00022 virtual ~XddDumpAlg(); 00023 00024 virtual StatusCode initialize(); 00025 virtual StatusCode execute(); 00026 virtual StatusCode finalize(); 00027 00028 private: 00029 void dump(DataObject* d); 00030 void dump(LVolume* lv); 00031 void dump(LAssembly* la); 00032 void dump(DetectorElement* de); 00033 void dump(Material* me); 00034 void dump_children(DataObject* d); 00035 int m_depth; 00036 00037 std::vector<std::string> m_paths; 00038 }; 00039 00040 #endif // XDDDUMPALG_H