25 : fromDDD_(p.getParameter<
bool>(
"fromDDD"))
32 std::unique_ptr<std::vector<GeometricTimingDetExtra> >
34 auto gde = std::make_unique<std::vector<GeometricTimingDetExtra> >();
46 putOne((*gde), tracker, ev, 0);
47 std::vector<const GeometricTimingDet*> tc = tracker->
components();
52 for(
const auto* git : tc ) {
53 ev.
goTo(git->navType());
54 putOne((*gde), git, ev, lev);
55 std::vector<const GeometricTimingDet*> inone = git->components();
56 if ( inone.empty() ) ++count;
58 for(
const auto* git2 : inone ) {
59 ev.
goTo(git2->navType());
60 putOne((*gde), git2, ev, lev);
61 std::vector<const GeometricTimingDet*> intwo= git2->components();
62 if ( intwo.empty() ) ++count;
64 for(
const auto* git3 : intwo ) {
65 ev.
goTo(git3->navType());
66 putOne((*gde), git3, ev, lev);
67 std::vector<const GeometricTimingDet*> inthree= git3->components();
68 if ( inthree.empty() ) ++count;
70 for(
const auto* git4 : inthree ) {
71 ev.
goTo(git4->navType());
72 putOne((*gde), git4, ev, lev);
73 std::vector<const GeometricTimingDet*> infour= git4->components();
74 if ( infour.empty() ) ++count;
76 for(
const auto* git5 : infour ) {
77 ev.
goTo(git5->navType());
78 putOne((*gde), git5, ev, lev);
79 std::vector<const GeometricTimingDet*> infive= git5->components();
80 if ( infive.empty() ) ++count;
82 for(
const auto* git6 : infive ) {
83 ev.
goTo(git6->navType());
84 putOne((*gde), git6, ev, lev);
85 std::vector<const GeometricTimingDet*> insix= git6->components();
89 edm::LogError(
"GeometricTimingDetExtra") <<
"Hierarchy has exceeded hard-coded level 6 for Tracker " ;
106 std::map<uint32_t, const GeometricTimingDet*> helperMap;
108 helperMap[gd->geographicalID()] =
tracker;
109 std::vector<const GeometricTimingDet*> tc = tracker->
components();
110 for(
const auto* git : tc ) {
111 helperMap[git->geographicalID()] = git;
112 std::vector<const GeometricTimingDet*> inone = git->components();
113 for(
const auto* git2 : inone ) {
114 helperMap[git2->geographicalID()] = git2;
115 std::vector<const GeometricTimingDet*> intwo= git2->components();
116 for(
const auto* git3 : intwo ) {
117 helperMap[git3->geographicalID()] = git3;
118 std::vector<const GeometricTimingDet*> inthree= git3->components();
119 for(
const auto* git4 : inthree ) {
120 helperMap[git4->geographicalID()] = git4;
121 std::vector<const GeometricTimingDet*> infour= git4->components();
122 for(
const auto* git5 : infour ) {
123 helperMap[git5->geographicalID()] = git5;
124 std::vector<const GeometricTimingDet*> infive= git5->components();
125 for(
const auto* git6 : infive ) {
126 helperMap[git6->geographicalID()] = git6;
127 if ( !git6->components().empty() ){
128 edm::LogError(
"GeometricTimingDetExtra") <<
"Hierarchy has exceeded hard-coded level of 6 for Tracker " ;
137 const std::vector<PGeometricTimingDetExtra::Item>& pgdes = pgde->
pgdes_;
138 gde->reserve(pgdes.size());
139 std::vector<DDExpandedNode> evs;
141 for (
const auto & pgde : pgdes) {
143 , pgde.volume_, pgde.density_, pgde.weight_, pgde.copy_
144 , pgde.material_, nm));
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
DetId geographicalId() const
const DDGeoHistory & geoHistory() const
The list of ancestors up to the root-node of the current node.
ConstGeometricTimingDetContainer & components()
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
const DepRecordT getRecord() const
ConstGeometricTimingDetContainer deepComponents() const
nav_type const & navType() const
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
int copyno() const
Copy number associated with the current node.
bool goTo(const nav_type &)
transversed the DDExpandedView according to the given stack of sibling numbers
const DDLogicalPart & logicalPart() const
The logical-part of the current node in the expanded-view.
Provides an exploded view of the detector (tree-view)