1 namespace std { }
using namespace std;
11 typedef set<string>::iterator s_iter;
16 if (getenv(
"DDNOTRANS")) dotrans=
false;
19 if ((count % 5000)==0)
cout << count <<
' ' << flush;
20 if (sto > 0)
if ((count % sto)==0)
break;
22 if((count % skip) ==0){
24 s.setf(ios_base::fixed,ios_base::floatfield);
29 << ex.
geoHistory().back().posdata()->rot_.name() <<
"\n";
32 double v[9]; rm.GetComponents(v,v+9);
34 s << v[0] <<
' ' << v[1] <<
' ' << v[2] << endl;
35 s << v[3] <<
' ' << v[4] <<
' ' << v[5] << endl;
36 s << v[6] <<
' ' << v[7] <<
' ' << v[7] << endl;
38 rm = ex.
geoHistory().back().posdata()->rotation();
40 double v[9]; rm.GetComponents(v,v+9);
42 s << v[0] <<
' ' << v[1] <<
' ' << v[2] << endl;
43 s << v[3] <<
' ' << v[4] <<
' ' << v[5] << endl;
44 s << v[6] <<
' ' << v[7] <<
' ' << v[7] << endl;
53 pair<s_iter,bool>
ins = result.insert(s.str());
55 cout <<
"DDExpandedViewDump:ERROR: duplicated=" << s.str() << endl;
60 s_iter it(result.begin()), ed(result.end());
bool next()
set current node to the next node in the expanded tree
const DDRotationMatrix & rotation() const
The absolute rotation of the current node.
void DDExpandedViewDump(std::ostream &, DDExpandedView &, size_t skip=0, size_t mx=0)
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.