CMS 3D CMS Logo

DDLString.cc

Go to the documentation of this file.
00001 /***************************************************************************
00002                           DDLString.cc  -  description
00003                              -------------------
00004     begin                : Friday Nov. 21, 2003
00005     email                : case@ucdhep.ucdavis.edu
00006  ***************************************************************************/
00007 
00008 
00009 
00010 
00011 // Parser parts
00012 #include "DDLString.h"
00013 #include "DDLElementRegistry.h"
00014 
00015 // other DD parts
00016 #include "DetectorDescription/Core/interface/DDString.h"
00017 #include "DetectorDescription/Base/interface/DDdebug.h"
00018 #include "DetectorDescription/Base/interface/DDException.h"
00019 #include "CLHEP/Units/SystemOfUnits.h"
00020 #include "DetectorDescription/ExprAlgo/interface/ExprEvalSingleton.h"
00021 
00022 #include <map>
00023 #include <string>
00024 
00025 DDLString::DDLString()
00026 {
00027 }
00028 
00029 DDLString::~DDLString()
00030 {
00031 }
00032  
00033 void DDLString::preProcessElement (const std::string& name, const std::string& nmspace)
00034 {
00035 }
00036 
00037 void DDLString::processElement (const std::string& name, const std::string& nmspace)
00038 {
00039   DCOUT_V('P', "DDLString::processElement started");
00040   if (parent() == "ConstantsSection" || parent() == "DDDefinition")
00041     {
00042       // I do not like "newing" things without my control.  But this is
00043       // the only way I was able to get this to work.
00044 
00045       std::string * ts = new std::string((getAttributeSet().find("value"))->second);
00046       DDName ddn = getDDName(nmspace);
00047       DDString (ddn 
00048                 , ts
00049                 );
00050 
00051       clear();
00052     }
00053 
00054   DCOUT_V('P', "DDLString::processElement completed");
00055 }
00056 

Generated on Tue Jun 9 17:32:24 2009 for CMSSW by  doxygen 1.5.4