43 std::cout <<
"analyze does nothing" << std::endl;
50 std::string solidsFileName(
"SOLIDS.dat");
51 std::string boxFileName(
"BOXES.dat");
53 std::string tubesFileName(
"TUBES.dat");
54 std::string polyHedraFileName(
"POLYHEDRAS.dat");
55 std::string polyConeFileName(
"POLYCONES.dat");
56 std::string conesFileName(
"CONES.dat");
57 std::string pseudoTrapFileName(
"PSEUDOTRAPEZOIDS.dat");
58 std::string trapFileName(
"TRAPEZOIDS.dat");
59 std::string boolSolidsFileName(
"BOOLEANSOLIDS.dat");
60 std::string reflectionSolidsFileName(
"REFLECTIONSOLIDS.dat");
61 std::string torusFileName(
"TORUS.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() <<
"," ;
114 boolOS << boolSolid.
name() <<
"," ;
136 boolOS << boolSolid.
name() <<
"," ;
152 reflectionOS<<reflection.
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()<<
","
187 tubeOS<<tubs.
name()<<
","<<tubs.
rIn()<<
","
188 <<tubs.
rOut()<<
","<<tubs.
zhalf()*2.0<<
","
199 trapOS<<trap.
name()<<
",";
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<<
","
227 <<
","<<polyCone.
deltaPhi()<<
","<<
"RZ"
234 polyHOS<<polyHedra.
name()<<
",";
236 <<
","<<polyHedra.
deltaPhi()<<
","<<
"RZ"
244 <<
","<<polyCone.
deltaPhi()<<
","<<
"ZS"
252 polyHOS<<polyHedra.
name()<<
",";
254 <<
","<<polyHedra.
deltaPhi()<<
","<<
"ZS"
262 tubeOS<<tubs.
name()<<
","<<tubs.
rIn()<<
","
263 <<tubs.
rOut()<<
","<<tubs.
zHalf()*2.0<<
","
273 torusOS<<torus.
name()<<
","<<torus.
rMin()<<
","
291 throw DDException(
"DDDToPersFactory::solid(...) either not inited or no such solid.");
307 reflectionOS.close();
double halfZ() const
half of the z-Axis
double y2() const
Half-length along y of the face at +pDz.
A truncated tube section.
double x2() const
half length along x on +z
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
double deltaPhi() const
angular span of the tube-section
double alpha1() const
Angle with respect to the y axis from the centre of the side at y=-pDy1 to the centre at y=+pDy1 of t...
double rIn() const
inner radius
double x2() const
Half-length along x of the side at y=+pDy1 of the face at -pDz.
DDSolidShape shape() const
The type of the solid.
double startPhi() const
angular start of the tube-section
#define DEFINE_FWK_MODULE(type)
An exception for DDD errors.
const graph_type & graph() const
Provides read-only access to the data structure of the compact-view.
double zHalf() const
half of the z-Axis
double alpha2() const
Angle with respect to the y axis from the centre of the side at y=-pDy2 to the centre at y=+pDy2 of t...
type of data representation of DDCompactView
A DDSolid represents the shape of a part.
double rOutMinusZ() const
double cutAtStart() const
truncation at begin of the tube-section
SolidsForOnline(const edm::ParameterSet &)
double y1() const
half length along y on -z
double phi() const
Azimuthal angle of the line joining the centres of the faces at -/+pDz.
double radius() const
radius of the cut-out (neg.) or rounding (pos.)
DDSolid unreflected() const
static const char * name(DDSolidShape s)
double halfZ() const
half of the z-Axis
double cutAtDelta() const
truncation at end of the tube-section
double theta() const
Polar angle of the line joining the centres of the faces at -/+pDz.
Interface to a Trapezoid.
double y1() const
Half-length along y of the face at -pDz.
double x1() const
half length along x on -z
double x4() const
Half-length along x of the side at y=+pDy2 of the face at +pDz.
bool cutInside() const
true, if truncation is on the inner side of the tube-section
double x3() const
Half-length along x of the side at y=-pDy2 of the face at +pDz.
double rOut() const
outer radius
static DDI::Store< DDName, DDI::Solid * >::iterator begin()
double y2() const
half length along y on +z
DDRotation rotation() const
virtual void analyze(const edm::Event &, const edm::EventSetup &)
static DDI::Store< DDName, DDI::Solid * >::iterator end()
DDTranslation translation() const
double x1() const
Half-length along x of the side at y=-pDy1 of the face at -pDz.
bool atMinusZ() const
true, if cut-out or rounding is on the -z side