25 #include <TGeoMatrix.h>
26 #include <TGeoManager.h>
36 TGeoMatrix* mat = n->GetMatrix();
37 TGeoVolume* vol = n->GetVolume();
38 TGeoMedium* med = vol->GetMedium();
39 TGeoShape* shape = vol->GetShape();
40 TObjArray* nodes = vol->GetNodes();
41 for (
int i = 0; i < level; ++i)
43 std::cout <<
" ++Node:|" << n->GetName() <<
"| ";
44 std::cout <<
" Volume: " << vol->GetName() <<
" material:" << med->GetName()
45 <<
" shape:" << shape->GetName() << std::endl;
46 for (
int i = 0; i < level; ++i)
48 const Double_t* tr = mat->GetTranslation();
49 std::cout <<
" matrix:|" << mat->GetName()
50 <<
"|" << mat->IsTranslation() << mat->IsRotation() << mat->IsScale()
51 <<
" tr:x=" << tr[0] <<
" y=" << tr[1] <<
" z=" << tr[2];
52 if (mat->IsRotation()) {
53 Double_t theta, phi, psi;
54 TGeoRotation rot(*mat);
55 rot.GetAngles(phi, theta, psi);
56 std::cout <<
" rot: theta:" << theta <<
" phi:" << phi <<
" psi:" << psi;
58 std::cout << std::endl;
60 for (
int i = 0; i < level; ++i)
62 std::cout <<
" volume:" << plv.
toString();
63 std::cout << std::endl;
66 while ((geoNode = (TGeoNode *) next())) {
72 TObjArray* nodes = vol->GetNodes();
73 TGeoMedium* med = vol->GetMedium();
74 TGeoShape* shape = vol->GetShape();
76 for (
int i = 0; i < level; ++i)
78 std::cout <<
"++Volume: " << vol->GetName() <<
" material:" << med->GetName() <<
" shape:" << shape->GetName() << std::endl;
81 while ((geoNode = (TGeoNode *) next())) {