CMS 3D CMS Logo

DDLString.cc
Go to the documentation of this file.
5 
6 #include <map>
7 #include <utility>
8 
9 class DDCompactView;
10 class DDLElementRegistry;
11 
13  : DDXMLElement( myreg )
14 {}
15 
16 void
18 {}
19 
20 void
22 {
23  if (parent() == "ConstantsSection" || parent() == "DDDefinition")
24  {
25  // I do not like "newing" things without my control. But this is
26  // the only way I was able to get this to work.
27 
28  std::string * ts = new std::string((getAttributeSet().find("value"))->second);
29  DDName ddn = getDDName(nmspace);
30  DDString( ddn, ts );
31  clear();
32  }
33 }
34 
virtual const DDXMLAttribute & getAttributeSet(size_t aIndex=0) const
Get a "row" of attributes, i.e. one attribute set.
Definition: DDXMLElement.cc:72
DDName is used to identify DDD entities uniquely.
Definition: DDName.h:15
const std::string & parent(void) const
access to parent element name
void processElement(const std::string &name, const std::string &nmspace, DDCompactView &cpv) override
Processing the element.
Definition: DDLString.cc:21
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:83
a named constant corresponding to the DDL-XML tag <Constant> and <ConstantsVector> ...
Definition: DDString.h:16
U second(std::pair< T, U > const &p)
void preProcessElement(const std::string &name, const std::string &nmspace, DDCompactView &cpv) override
Called by loadAttributes AFTER attributes are loaded.
Definition: DDLString.cc:17
DDLString(DDLElementRegistry *myreg)
Definition: DDLString.cc:12
This is a base class for processing XML elements in the DDD.
Definition: DDXMLElement.h:48
The main class for processing parsed elements.
virtual void clear(void)
clear this element&#39;s contents.
Definition: DDXMLElement.cc:54
virtual const DDName getDDName(const std::string &defaultNS, const std::string &attname=std::string("name"), size_t aIndex=0)
Definition: DDXMLElement.cc:79