20 typedef set<string>::iterator s_iter;
25 if (std::getenv(
"DDNOTRANS"))
29 if ((count % 5000) == 0)
30 cout << count <<
' ' << flush;
32 if ((count % sto) == 0)
35 if ((count % skip) == 0) {
37 s.setf(ios_base::fixed, ios_base::floatfield);
40 <<
" r=" << ex.
geoHistory().back().posdata()->ddrot().name() <<
"\n";
44 rm.GetComponents(v, v + 9);
46 s << v[0] <<
' ' << v[1] <<
' ' << v[2] << endl;
47 s << v[3] <<
' ' << v[4] <<
' ' << v[5] << endl;
48 s << v[6] <<
' ' << v[7] <<
' ' << v[7] << endl;
50 rm = ex.
geoHistory().back().posdata()->rotation();
53 rm.GetComponents(v, v + 9);
55 s << v[0] <<
' ' << v[1] <<
' ' << v[2] << endl;
56 s << v[3] <<
' ' << v[4] <<
' ' << v[5] << endl;
57 s << v[6] <<
' ' << v[7] <<
' ' << v[7] << endl;
62 pair<s_iter, bool>
ins = result.insert(s.str());
64 cout <<
"DDExpandedViewDump:ERROR: duplicated=" << s.str() << endl;
69 s_iter it(result.begin()), ed(result.end());
70 for (; it != ed; ++it) {
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.
ROOT::Math::Rotation3D DDRotationMatrix
A DDRotationMatrix is currently implemented with a ROOT Rotation3D.
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)