21 typedef set<string>::iterator s_iter;
26 if (getenv(
"DDNOTRANS")) dotrans=
false;
29 if ((count % 5000)==0)
cout << count <<
' ' << flush;
30 if (sto > 0)
if ((count % sto)==0)
break;
32 if((count % skip) ==0){
39 << ex.
geoHistory().back().posdata()->ddrot().name() <<
"\n";
42 double v[9]; rm.GetComponents(v,v+9);
44 s << v[0] <<
' ' << v[1] <<
' ' << v[2] << endl;
45 s << v[3] <<
' ' << v[4] <<
' ' << v[5] << endl;
46 s << v[6] <<
' ' << v[7] <<
' ' << v[7] << endl;
48 rm = ex.
geoHistory().back().posdata()->rotation();
50 double v[9]; rm.GetComponents(v,v+9);
52 s << v[0] <<
' ' << v[1] <<
' ' << v[2] << endl;
53 s << v[3] <<
' ' << v[4] <<
' ' << v[5] << endl;
54 s << v[6] <<
' ' << v[7] <<
' ' << v[7] << endl;
63 pair<s_iter,bool>
ins = result.insert(s.str());
65 cout <<
"DDExpandedViewDump:ERROR: duplicated=" << s.str() << endl;
70 s_iter it(result.begin()), ed(result.end());
void DDExpandedViewDump(ostream &os, DDExpandedView &ex, size_t skip, size_t sto)
bool next()
set current node to the next node in the expanded tree
const DDRotationMatrix & rotation() const
The absolute rotation of the current node.
const DDGeoHistory & geoHistory() const
The list of ancestors up to the root-node of the current node.
const DDTranslation & translation() const
The absolute translation of the current node.
int copyno() const
Copy number associated with the current node.
const DDLogicalPart & logicalPart() const
The logical-part of the current node in the expanded-view.
Provides an exploded view of the detector (tree-view)
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.