File indexing completed on 2026-04-10 07:50:31
0001 #pragma once
0002
0003 #include <string>
0004 #include <iomanip>
0005 #include <sstream>
0006
0007 #include "G4MultiUnion.hh"
0008
0009 struct U4MultiUnion
0010 {
0011 static std::string Desc(const G4MultiUnion* solid);
0012 };
0013
0014 inline std::string U4MultiUnion::Desc(const G4MultiUnion* solid)
0015 {
0016 G4String name = solid->GetName() ;
0017 unsigned sub_num = solid->GetNumberOfSolids() ;
0018
0019 std::stringstream ss ;
0020 ss
0021 << "[U4MultiUnion::Desc\n"
0022 << " name " << name << "\n"
0023 << " sub_num " << sub_num << "\n"
0024 ;
0025
0026 for( unsigned i=0 ; i < sub_num ; i++)
0027 {
0028 const G4VSolid* sub = solid->GetSolid(i);
0029 G4String sub_name = sub->GetName() ;
0030 ss << std::setw(4) << i << " : " << sub_name << "\n" ;
0031 }
0032 ss << "]U4MultiUnion::Desc\n" ;
0033 std::string str = ss.str() ;
0034 return str ;
0035 }
0036
0037
0038