Reimplemented from edm::EDAnalyzer.
Definition at line 46 of file SolidsForOnline.cc.
References DDTrap::alpha1(), DDTrap::alpha2(), DDPseudoTrap::atMinusZ(), DDBase< DDName, DDI::Solid * >::begin(), gather_cfg::cout, DDTruncTubs::cutAtDelta(), DDTruncTubs::cutAtStart(), DDTruncTubs::cutInside(), dd_not_init, ddbox, ddcons, ddintersection, ddpolycone_rrz, ddpolycone_rz, ddpolyhedra_rrz, ddpolyhedra_rz, ddpseudotrap, ddreflected, ddshapeless, ddsubtraction, ddtorus, ddtrap, ddtrunctubs, ddtubs, ddunion, DDTruncTubs::deltaPhi(), DDPolycone::deltaPhi(), DDPolyhedra::deltaPhi(), DDTubs::deltaPhi(), DDCons::deltaPhi(), DDTorus::deltaPhi(), DDBase< DDName, DDI::Solid * >::end(), edm::hlt::Exception, edm::EventSetup::get(), DDCompactView::graph(), DDBox::halfX(), DDBox::halfY(), DDTrap::halfZ(), DDPseudoTrap::halfZ(), DDBox::halfZ(), DDSolidShapesName::name(), DDBase< N, C >::name(), DDTrap::phi(), DDCons::phiFrom(), DDPseudoTrap::radius(), DDTruncTubs::rIn(), DDTubs::rIn(), DDCons::rInMinusZ(), DDCons::rInPlusZ(), DDTorus::rMax(), DDTorus::rMin(), DDBooleanSolid::rotation(), DDTruncTubs::rOut(), DDTubs::rOut(), DDCons::rOutMinusZ(), DDCons::rOutPlusZ(), DDTorus::rTorus(), DDSolid::shape(), DDPolyhedra::sides(), DDBooleanSolid::solidA(), DDBooleanSolid::solidB(), DDTruncTubs::startPhi(), DDPolycone::startPhi(), DDPolyhedra::startPhi(), DDTubs::startPhi(), DDTorus::startPhi(), AlCaHLTBitMon_QueryRunRegistry::string, DDTrap::theta(), DDBooleanSolid::translation(), DDReflectionSolid::unreflected(), DDTrap::x1(), DDPseudoTrap::x1(), DDTrap::x2(), DDPseudoTrap::x2(), DDTrap::x3(), DDTrap::x4(), DDTrap::y1(), DDPseudoTrap::y1(), DDTrap::y2(), DDPseudoTrap::y2(), DDTruncTubs::zHalf(), DDTubs::zhalf(), and DDCons::zhalf().
57 std::string pseudoTrapFileName(
"PSEUDOTRAPEZOIDS.dat");
59 std::string boolSolidsFileName(
"BOOLEANSOLIDS.dat");
60 std::string reflectionSolidsFileName(
"REFLECTIONSOLIDS.dat");
63 std::ofstream solidsOS(solidsFileName.c_str());
64 std::ofstream boxOS(boxFileName.c_str());
65 std::ofstream tubeOS(tubesFileName.c_str());
66 std::ofstream polyHOS(polyHedraFileName.c_str());
67 std::ofstream polyCOS(polyConeFileName.c_str());
68 std::ofstream coneOS(conesFileName.c_str());
69 std::ofstream ptrapOS(pseudoTrapFileName.c_str());
70 std::ofstream trapOS(trapFileName.c_str());
71 std::ofstream boolOS(boolSolidsFileName.c_str());
72 std::ofstream reflectionOS(reflectionSolidsFileName.c_str());
73 std::ofstream torusOS(torusFileName.c_str());
75 std::cout <<
"SolidsForOnline Analyzer..." << std::endl;
85 for (; sit != sed; ++sit) {
86 if (! sit->isDefined().second)
continue;
93 switch (solid.
shape())
99 boolOS << boolSolid.name() <<
"," ;
101 boolOS <<
"," << boolSolid.translation().x()
102 <<
"," << boolSolid.translation().y()
103 <<
"," << boolSolid.translation().z()
104 <<
"," << boolSolid.solidA().name()
105 <<
"," << boolSolid.solidB().name()
106 <<
"," << boolSolid.rotation().name()
114 boolOS << boolSolid.name() <<
"," ;
116 boolOS <<
"," << boolSolid.translation().x()
117 <<
"," << boolSolid.translation().y()
118 <<
"," << boolSolid.translation().z()
119 <<
"," << boolSolid.solidA().name()
120 <<
"," << boolSolid.solidB().name()
121 <<
"," << boolSolid.rotation().name()
136 boolOS << boolSolid.name() <<
"," ;
138 boolOS <<
"," << boolSolid.translation().x()
139 <<
"," << boolSolid.translation().y()
140 <<
"," << boolSolid.translation().z()
141 <<
"," << boolSolid.solidA().name()
142 <<
"," << boolSolid.solidB().name()
143 <<
"," << boolSolid.rotation().name()
152 reflectionOS<<reflection.name()<<
","
153 <<reflection.unreflected().name()
161 boxOS<<box.name()<<
",";
162 boxOS<<2.0*box.halfX()<<
","<<2.0*box.halfY()<<
","<<2.0*box.halfZ()<<std::endl;
170 ptrapOS<<pseudoTrap.name() <<
",";
171 ptrapOS<<pseudoTrap.x1() <<
","<<pseudoTrap.x2() <<
","
172 <<pseudoTrap.halfZ()*2. <<
","<<pseudoTrap.y1() <<
","
173 <<pseudoTrap.y2() <<
","<<pseudoTrap.radius()<<
","
174 <<pseudoTrap.atMinusZ()
187 tubeOS<<tubs.name()<<
","<<tubs.rIn()<<
","
188 <<tubs.rOut()<<
","<<tubs.zhalf()*2.0<<
","
189 <<tubs.startPhi()<<
","<<tubs.deltaPhi()<<
","
199 trapOS<<trap.name()<<
",";
200 trapOS<<trap.alpha1()<<
","<<trap.alpha2()<<
","
201 <<trap.x1()<<
","<<trap.x2()<<
","
202 <<trap.halfZ()*2.0<<
","<<trap.y1()<<
","
204 <<trap.phi()<<
","<<trap.theta()<<
","
205 <<trap.x3()<<
","<<trap.x4()
212 coneOS<<cons.name()<<
","<<cons.zhalf()*2.0<<
","
213 <<cons.rInMinusZ()<<
","
214 <<cons.rOutMinusZ()<<
","<<cons.rInPlusZ()<<
","
215 <<cons.rOutPlusZ()<<
","<<cons.phiFrom()<<
","
226 polyCOS<<polyCone.name()<<
","<<polyCone.startPhi()
227 <<
","<<polyCone.deltaPhi()<<
","<<
"RZ"
234 polyHOS<<polyHedra.name()<<
",";
235 polyHOS<<polyHedra.sides()<<
","<<polyHedra.startPhi()
236 <<
","<<polyHedra.deltaPhi()<<
","<<
"RZ"
243 polyCOS<<polyCone.name()<<
","<<polyCone.startPhi()
244 <<
","<<polyCone.deltaPhi()<<
","<<
"ZS"
252 polyHOS<<polyHedra.name()<<
",";
253 polyHOS<<polyHedra.sides()<<
","<<polyHedra.startPhi()
254 <<
","<<polyHedra.deltaPhi()<<
","<<
"ZS"
262 tubeOS<<tubs.name()<<
","<<tubs.rIn()<<
","
263 <<tubs.rOut()<<
","<<tubs.zHalf()*2.0<<
","
264 <<tubs.startPhi()<<
","<<tubs.deltaPhi()<<
","
265 <<tubs.cutAtStart()<<
","<<tubs.cutAtDelta()<<
","
273 torusOS<<torus.name()<<
","<<torus.rMin()<<
","
274 <<torus.rMax()<<
","<<torus.rTorus()<<
","
275 <<torus.startPhi()<<
","<<torus.deltaPhi()
291 throw cms::Exception(
"DDException") <<
"DDDToPersFactory::solid(...) either not inited or no such solid.";
307 reflectionOS.close();
A truncated tube section.
const graph_type & graph() const
Provides read-only access to the data structure of the compact-view.
type of data representation of DDCompactView
A DDSolid represents the shape of a part.
static const char *const name(DDSolidShape s)
Interface to a Trapezoid.
DDSolidShape shape(void) const
The type of the solid.
static DDI::Store< DDName, DDI::Solid * >::iterator begin()
static DDI::Store< DDName, DDI::Solid * >::iterator end()