#include <XMLHandler.h>
Inherited by AGDDHandler, BoltHandler, IbeamHandler, UbeamHandler, addmaterialHandler, aliasHandler, arrayHandler, boxHandler, chamberPositionerHandler, colorHandler, compositeHandler, compositionHandler, consHandler, defaultsHandler, elcylHandler, elementHandler, foreachHandler, fractionmassHandler, gvxyHandler, gvxy_pointHandler, gvxysxHandler, gvxysxyHandler, importHandler, intersectionHandler, materialHandler, materialsHandler, micromegasHandler, mmSpacerHandler, mmSpacer_TechHandler, mm_TechHandler, mm_readoutHandler, mposPhiHandler, mposWedgeHandler, msgHandler, muonStationHandler, natomsHandler, pconHandler, pgonHandler, polyplaneHandler, posRPhiZHandler, posXYZHandler, ringHandler, sTGCHandler, sTGC_TechHandler, sTGC_readoutHandler, sectionHandler, sectorHandler, snakeHandler, snake_pointHandler, subtractionHandler, trdHandler, tubsHandler, unionHandler, varHandler, and versionHandler.
|
| bool | isAttribute (const xercesc::DOMNode *t, const std::string &) const |
| std::string | getAttribute (const xercesc::DOMNode *t, const std::string &, bool &) const |
| std::string | getAttributeAsString (AGDDController &c, const xercesc::DOMNode *t, const std::string &) const |
| double | getAttributeAsDouble (AGDDController &c, const xercesc::DOMNode *t, const std::string &) const |
| int | getAttributeAsInt (AGDDController &c, const xercesc::DOMNode *t, const std::string &) const |
| std::vector< double > | getAttributeAsVector (AGDDController &c, const xercesc::DOMNode *t, const std::string &) const |
| std::vector< int > | getAttributeAsIntVector (AGDDController &c, const xercesc::DOMNode *t, const std::string &) const |
| std::string | getAttributeAsString (AGDDController &c, const xercesc::DOMNode *t, const std::string &, bool &) const |
| double | getAttributeAsDouble (AGDDController &c, const xercesc::DOMNode *t, const std::string &, bool &) const |
| int | getAttributeAsInt (AGDDController &c, const xercesc::DOMNode *t, const std::string &, bool &) const |
| std::vector< double > | getAttributeAsVector (AGDDController &c, const xercesc::DOMNode *t, const std::string &, bool &) const |
| std::vector< int > | getAttributeAsIntVector (AGDDController &c, const xercesc::DOMNode *t, const std::string &, bool &) const |
| std::string | getAttributeAsString (AGDDController &c, const xercesc::DOMNode *t, const std::string &, const std::string &) const |
| double | getAttributeAsDouble (AGDDController &c, const xercesc::DOMNode *t, const std::string &, const double) const |
| int | getAttributeAsInt (AGDDController &c, const xercesc::DOMNode *t, const std::string &, const int) const |
| std::vector< double > | getAttributeAsVector (AGDDController &c, const xercesc::DOMNode *t, const std::string &, const std::vector< double > &) const |
| std::vector< int > | getAttributeAsIntVector (AGDDController &c, const xercesc::DOMNode *t, const std::string &, const std::vector< int > &) const |
Definition at line 15 of file XMLHandler.h.
◆ XMLHandler()
Definition at line 15 of file XMLHandler.cxx.
17{
18
21}
void RegisterToStore(AGDDController &c)
◆ ~XMLHandler()
| virtual XMLHandler::~XMLHandler |
( |
| ) |
|
|
inlinevirtual |
◆ ElementHandle()
| virtual void XMLHandler::ElementHandle |
( |
AGDDController & | c, |
|
|
xercesc::DOMNode * | t ) |
|
pure virtual |
Implemented in addmaterialHandler, AGDDHandler, aliasHandler, arrayHandler, BoltHandler, boxHandler, chamberPositionerHandler, colorHandler, compositeHandler, compositionHandler, consHandler, defaultsHandler, elcylHandler, elementHandler, foreachHandler, fractionmassHandler, gvxy_pointHandler, gvxyHandler, gvxysxHandler, gvxysxyHandler, IbeamHandler, importHandler, intersectionHandler, materialHandler, materialsHandler, micromegasHandler, mm_readoutHandler, mm_TechHandler, mmSpacer_TechHandler, mmSpacerHandler, mposPhiHandler, mposWedgeHandler, msgHandler, muonStationHandler, natomsHandler, pconHandler, pgonHandler, polyplaneHandler, posRPhiZHandler, posXYZHandler, ringHandler, sectionHandler, sectorHandler, snake_pointHandler, snakeHandler, sTGC_readoutHandler, sTGC_TechHandler, sTGCHandler, subtractionHandler, trdHandler, tubsHandler, UbeamHandler, unionHandler, varHandler, and versionHandler.
◆ getAttribute()
| std::string XMLHandler::getAttribute |
( |
const xercesc::DOMNode * | t, |
|
|
const std::string & | name, |
|
|
bool & | isPresent ) const |
|
protected |
Definition at line 43 of file XMLHandler.cxx.
45{
46 std::string retValue="";
47 isPresent=false;
48 if (
t->hasAttributes()) {
50 auto deleter = [&](XMLCh
buf[]) { XMLString::release(&buf); };
51 std::unique_ptr<XMLCh[],
decltype(deleter)>
ptr(XMLString::transcode(
name.c_str()), deleter);
52 DOMAttr *pAttributeNode = (DOMAttr*) pAttributes->getNamedItem(
ptr.get());
53 if (pAttributeNode) {
54
55 char*
val=XMLString::transcode(pAttributeNode->getValue());
56 if (val) {
57
58 isPresent=true;
60 XMLString::release(&val);
61 return retValue;
62 }
63 }
64 else return retValue;
65
66 }
67 return retValue;
68}
std::map< std::string, std::string > DOMNamedNodeMap
◆ getAttributeAsDouble() [1/3]
| double XMLHandler::getAttributeAsDouble |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name ) const |
|
protected |
Definition at line 78 of file XMLHandler.cxx.
81{
83 bool isPresent;
85 if (!isPresent) std::abort();
86 res=
c.Evaluator().Eval(temp.c_str());
88}
std::pair< std::vector< unsigned int >, bool > res
std::string getAttribute(const xercesc::DOMNode *t, const std::string &, bool &) const
◆ getAttributeAsDouble() [2/3]
| double XMLHandler::getAttributeAsDouble |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name, |
|
|
bool & | isPresent ) const |
|
protected |
Definition at line 139 of file XMLHandler.cxx.
142{
145 if (isPresent)
146 {
147 res=
c.Evaluator().Eval(temp.c_str());
148 }
150}
◆ getAttributeAsDouble() [3/3]
| double XMLHandler::getAttributeAsDouble |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name, |
|
|
const double | def ) const |
|
protected |
Definition at line 206 of file XMLHandler.cxx.
209{
210 bool isPresent;
213 if (isPresent)
214 {
215 res=
c.Evaluator().Eval(temp.c_str());
217 }
218 return def;
219}
◆ getAttributeAsInt() [1/3]
| int XMLHandler::getAttributeAsInt |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name ) const |
|
protected |
Definition at line 89 of file XMLHandler.cxx.
92{
94 bool isPresent;
96 if (!isPresent) std::abort();
97 res=
c.Evaluator().Eval(temp.c_str());
99}
◆ getAttributeAsInt() [2/3]
| int XMLHandler::getAttributeAsInt |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name, |
|
|
bool & | isPresent ) const |
|
protected |
Definition at line 151 of file XMLHandler.cxx.
154{
157 if (isPresent)
158 {
159 res=
c.Evaluator().Eval(temp.c_str());
160 }
162}
◆ getAttributeAsInt() [3/3]
| int XMLHandler::getAttributeAsInt |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name, |
|
|
const int | def ) const |
|
protected |
Definition at line 220 of file XMLHandler.cxx.
223{
224 bool isPresent;
227 if (isPresent)
228 {
229 res=
c.Evaluator().Eval(temp.c_str());
231 }
232 return def;
233}
◆ getAttributeAsIntVector() [1/3]
| std::vector< int > XMLHandler::getAttributeAsIntVector |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name ) const |
|
protected |
Definition at line 116 of file XMLHandler.cxx.
119{
120 bool isPresent;
121 std::vector<int> vect;
123 if (!isPresent) std::abort();
124 std::vector<std::string>
v=
c.Evaluator().tokenize(
";",temp);
125 for (
unsigned int i=0;
i<
v.size();
i++)
126 {
127 vect.push_back(
c.Evaluator().Eval(v[i].c_str()));
128 }
129 return vect;
130}
◆ getAttributeAsIntVector() [2/3]
| std::vector< int > XMLHandler::getAttributeAsIntVector |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name, |
|
|
bool & | isPresent ) const |
|
protected |
Definition at line 180 of file XMLHandler.cxx.
183{
184 std::vector<int> vect;
186 if (isPresent)
187 {
188 std::vector<std::string>
v=
c.Evaluator().tokenize(
";",temp);
189 for (
unsigned int i=0;
i<
v.size();
i++)
190 {
191 vect.push_back(
c.Evaluator().Eval(v[i].c_str()));
192 }
193 }
194 return vect;
195}
◆ getAttributeAsIntVector() [3/3]
| std::vector< int > XMLHandler::getAttributeAsIntVector |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name, |
|
|
const std::vector< int > & | def ) const |
|
protected |
Definition at line 253 of file XMLHandler.cxx.
256{
257 bool isPresent;
258 std::vector<int> vect;
260 if (isPresent)
261 {
262 std::vector<std::string>
v=
c.Evaluator().tokenize(
";",temp);
263 for (
unsigned int i=0;
i<
v.size();
i++)
264 {
265 vect.push_back(
c.Evaluator().Eval(v[i].c_str()));
266 }
267 return vect;
268 }
269 return def;
270}
◆ getAttributeAsString() [1/3]
| std::string XMLHandler::getAttributeAsString |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name ) const |
|
protected |
Definition at line 69 of file XMLHandler.cxx.
72{
73 bool isPresent;
75 if (!isPresent) std::abort();
76 return temp;
77}
◆ getAttributeAsString() [2/3]
| std::string XMLHandler::getAttributeAsString |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name, |
|
|
bool & | isPresent ) const |
|
protected |
◆ getAttributeAsString() [3/3]
| std::string XMLHandler::getAttributeAsString |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name, |
|
|
const std::string & | def ) const |
|
protected |
Definition at line 197 of file XMLHandler.cxx.
200{
201 bool isPresent;
203 if (isPresent) return temp;
204 else return def;
205}
◆ getAttributeAsVector() [1/3]
| std::vector< double > XMLHandler::getAttributeAsVector |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name ) const |
|
protected |
Definition at line 100 of file XMLHandler.cxx.
103{
104 bool isPresent;
105 std::vector<double> vect;
107 if (!isPresent) std::abort();
108 std::vector<std::string>
v=
c.Evaluator().tokenize(
";",temp);
109 for (
unsigned int i=0;
i<
v.size();
i++)
110 {
111 vect.push_back(
c.Evaluator().Eval(v[i].c_str()));
112 }
113 return vect;
114}
◆ getAttributeAsVector() [2/3]
| std::vector< double > XMLHandler::getAttributeAsVector |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name, |
|
|
bool & | isPresent ) const |
|
protected |
Definition at line 163 of file XMLHandler.cxx.
166{
167 std::vector<double> vect;
169 if (isPresent)
170 {
171 std::vector<std::string>
v=
c.Evaluator().tokenize(
";",temp);
172 for (
unsigned int i=0;
i<
v.size();
i++)
173 {
174 vect.push_back(
c.Evaluator().Eval(v[i].c_str()));
175 }
176 }
177 return vect;
178}
◆ getAttributeAsVector() [3/3]
| std::vector< double > XMLHandler::getAttributeAsVector |
( |
AGDDController & | c, |
|
|
const xercesc::DOMNode * | t, |
|
|
const std::string & | name, |
|
|
const std::vector< double > & | def ) const |
|
protected |
Definition at line 234 of file XMLHandler.cxx.
237{
238 bool isPresent;
239 std::vector<double> vect;
241 if (isPresent)
242 {
243 std::vector<std::string>
v=
c.Evaluator().tokenize(
";",temp);
244 for (
unsigned int i=0;
i<
v.size();
i++)
245 {
246 vect.push_back(
c.Evaluator().Eval(v[i].c_str()));
247 }
248 return vect;
249 }
250 return def;
251}
◆ GetName()
| const std::string & XMLHandler::GetName |
( |
| ) |
const |
|
inline |
◆ Handle()
| virtual void XMLHandler::Handle |
( |
AGDDController & | c, |
|
|
xercesc::DOMNode * | t ) |
|
inlinevirtual |
Definition at line 22 of file XMLHandler.h.
24 {
26 }
virtual void ElementHandle(AGDDController &c, xercesc::DOMNode *t)=0
◆ isAttribute()
| bool XMLHandler::isAttribute |
( |
const xercesc::DOMNode * | t, |
|
|
const std::string & | name ) const |
|
protected |
◆ IsLoopToBeStopped()
| bool XMLHandler::IsLoopToBeStopped |
( |
| ) |
const |
◆ RegisterToStore()
Definition at line 23 of file XMLHandler.cxx.
24{
25 c.GetHandlerStore().RegisterHandler(
this);
26}
◆ StopLoop()
| void XMLHandler::StopLoop |
( |
bool | v | ) |
|
◆ m_name
| std::string XMLHandler::m_name |
|
protected |
◆ m_stopLoop
| bool XMLHandler::m_stopLoop |
|
protected |
The documentation for this class was generated from the following files: