49 std::vector<DDXMLElement*> toDelete;
52 std::vector<DDXMLElement*>::const_iterator deleteIt =
std::find( toDelete.begin(), toDelete.end(), it->second );
53 if( deleteIt == toDelete.end())
55 toDelete.push_back( it->second );
67 RegistryMap::iterator it =
registry_.find(name);
78 else if (name ==
"Cone")
82 else if (name ==
"Polyhedra" || name ==
"Polycone")
86 else if (name ==
"Trapezoid" || name ==
"Trd1")
90 else if (name ==
"PseudoTrap")
94 else if (name ==
"Tubs" || name ==
"CutTubs" || name ==
"Tube" || name ==
"TruncTubs")
98 else if (name ==
"Torus")
102 else if (name ==
"ReflectionSolid")
106 else if (name ==
"UnionSolid" || name ==
"SubtractionSolid" 107 || name ==
"IntersectionSolid")
111 else if (name ==
"ShapelessSolid")
115 else if (name ==
"Sphere")
119 else if (name ==
"Orb")
123 else if (name ==
"EllipticalTube")
127 else if (name ==
"Ellipsoid")
131 else if (name ==
"Sphere")
138 else if (name ==
"PosPart")
142 else if (name ==
"CompositeMaterial")
146 else if (name ==
"ElementaryMaterial")
150 else if (name ==
"LogicalPart")
154 else if (name ==
"ReflectionRotation" || name ==
"Rotation" )
158 else if (name ==
"SpecPar")
162 else if (name ==
"RotationSequence")
166 else if (name ==
"RotationByAxis")
171 else if (name ==
"SpecParSection") {
174 else if (name ==
"Vector") {
177 else if (name ==
"Map") {
180 else if (name ==
"String") {
183 else if (name ==
"Numeric") {
186 else if (name ==
"Algorithm") {
189 else if (name ==
"Division") {
196 else if (name ==
"MaterialFraction" 197 || name ==
"RZPoint" || name ==
"PartSelector" 198 || name ==
"Parameter" || name ==
"ZSection" 199 || name ==
"Translation" 200 || name ==
"rSolid" || name ==
"rMaterial" 201 || name ==
"rParent" || name ==
"rChild" 202 || name ==
"rRotation" || name ==
"rReflectionRotation" 203 || name ==
"DDDefinition" )
229 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.
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.