58 std::vector<DDXMLElement*> toDelete;
61 std::vector<DDXMLElement*>::const_iterator deleteIt =
std::find( toDelete.begin(), toDelete.end(), it->second );
62 if( deleteIt == toDelete.end())
64 toDelete.push_back( it->second );
76 DCOUT_V(
'P',
"myRegistry_->getElementRegistry(" << name <<
")");
79 RegistryMap::iterator it =
registry_.find(name);
95 else if (name ==
"Cone")
99 else if (name ==
"Polyhedra" || name ==
"Polycone")
103 else if (name ==
"Trapezoid" || name ==
"Trd1")
107 else if (name ==
"PseudoTrap")
111 else if (name ==
"Tubs" || name ==
"Tube" || name ==
"TruncTubs")
115 else if (name ==
"Torus")
119 else if (name ==
"ReflectionSolid")
123 else if (name ==
"UnionSolid" || name ==
"SubtractionSolid"
124 || name ==
"IntersectionSolid")
128 else if (name ==
"ShapelessSolid")
132 else if (name ==
"Sphere")
136 else if (name ==
"Orb")
140 else if (name ==
"EllipticalTube")
144 else if (name ==
"Ellipsoid")
148 else if (name ==
"Sphere")
155 else if (name ==
"PosPart")
159 else if (name ==
"CompositeMaterial")
163 else if (name ==
"ElementaryMaterial")
167 else if (name ==
"LogicalPart")
171 else if (name ==
"ReflectionRotation" || name ==
"Rotation" )
175 else if (name ==
"SpecPar")
179 else if (name ==
"RotationSequence")
183 else if (name ==
"RotationByAxis")
188 else if (name ==
"SpecParSection") {
191 else if (name ==
"Vector") {
194 else if (name ==
"Map") {
197 else if (name ==
"String") {
200 else if (name ==
"Numeric") {
203 else if (name ==
"Algorithm") {
206 else if (name ==
"Division") {
213 else if (name ==
"MaterialFraction"
214 || name ==
"RZPoint" || name ==
"PartSelector"
215 || name ==
"Parameter" || name ==
"ZSection"
216 || name ==
"Translation"
217 || name ==
"rSolid" || name ==
"rMaterial"
218 || name ==
"rParent" || name ==
"rChild"
219 || name ==
"rRotation" || name ==
"rReflectionRotation"
220 || name ==
"DDDefinition" )
255 if( it->second == theElement )
DDLPosPart handles PosPart elements.
This class takes care of processing all BooleanSolid type elements.
DDLSphere processes all Sphere elements.
DDLDivision processes Division elements.
DDLOrb processes all Orb elements.
DDLString handles String Elements.
DDLVector handles Rotation and ReflectionRotation elements.
DDLReflectionSolid processes ReflectionSolid elements.
DDLSpecPar processes SpecPar elements.
DDLRotationAndReflection handles RotationCMSIM and ReflectionRotation elements.
DDLEllipticalTube processes all EllipticalTube elements.
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
DDLAlgorithm processes Algorithm elements.
DDLParallelepiped processes all Parallelepiped elements.
DDXMLElement * getElement(const std::string &name)
THE most important part. Getting the pointer to a given element type.
DDLBox processes Box elements.
DDLElementaryMaterial processes ElementaryMaterial elements.
DDLCone processes all Cone elements.
DDLEllipsoid processes all Ellipsoid elements.
DDLTubs processes Tubs elements.
DDLPolyGenerator processes DDL XML Polycone and DDL XML Polyhedra elements.
#define DCOUT_V(M_v_Y, M_v_S)
DDLMap handles Map container.
DDLLogicalPart processes LogicalPart elements.
This is a base class for processing XML elements in the DDD.
DDLRotationByAxis handles RotationByAxis elements.
const std::string & getElementName(DDXMLElement *theElement) const
Get the name given a pointer. This may not be needed...
DDLCompositeMaterial processes all CompositeMaterial elements.
DDLNumeric handles Numeric Elements.
DDLRotationSequence handles a set of Rotations.
DDLShapelessSolid processes ShapelessSolid elements.