diff --git a/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/Evaluator.h b/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/Evaluator.h index 6578a1dbca68051d49578b2c2ae79c55cc722564..a1b75a8f109c9e34532541e79c91b40a0a2e16d1 100755 --- a/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/Evaluator.h +++ b/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/Evaluator.h @@ -6,24 +6,11 @@ #define HEP_EVALUATOR_H #include <string> + #include "ExpressionEvaluator/IEvaluator.h" -// namespace HepTool { +namespace GeoModelTools { -/** - * Evaluator of arithmetic expressions with an extendable dictionary. - * Example: - * @code - * #include "CLHEP/Evaluator/Evaluator.h" - * HepTool::Evaluator eval; - * eval.setStdMath(); - * double res = eval.evaluate("sin(30*degree)"); - * if (eval.status() != HepTool::Evaluator::OK) eval.print_error(); - * @endcode - * - * @author Evgeni Chernyaev <Evgueni.Tcherniaev@cern.ch> - * @ingroup evaluator - */ class Evaluator: public IEvaluator { public: @@ -260,6 +247,6 @@ private: // Evaluator & operator=(const Evaluator &); // assignment is not allowed }; -// } // namespace HepTool +} #endif /* HEP_EVALUATOR_H */ diff --git a/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/ExpressionEvaluator.h b/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/ExpressionEvaluator.h index 00cef79deebcda85bb3a6bccdde086644e4fb550..f57dea50b702c9e08cf9d00959011eba47404e21 100644 --- a/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/ExpressionEvaluator.h +++ b/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/ExpressionEvaluator.h @@ -7,12 +7,14 @@ #ifndef EXPRESSION_EVALUATOR_H #define EXPRESSION_EVALUATOR_H 1 -#include "ExpressionEvaluator/ExprtkEvaluator.h" - #include <string> #include <vector> #include <map> +#include "ExpressionEvaluator/ExprtkEvaluator.h" + +namespace GeoModelTools { + class ExpressionEvaluator { public: @@ -39,4 +41,6 @@ private: void replace_substring(std::string& , const std::string , const std::string ); }; +} + #endif // GDML_EXPRESSION_EVALUATOR_H diff --git a/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/ExprtkEvaluator.h b/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/ExprtkEvaluator.h index cfb5980835301c3751f905a3ea319af74eecab73..709ab972dbae594d64770d1049c6c91e3de53b66 100755 --- a/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/ExprtkEvaluator.h +++ b/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/ExprtkEvaluator.h @@ -21,6 +21,9 @@ typedef exprtk::parser<T> parser_t; typedef std::map<std::string,std::vector<double> > vectorMap; typedef std::map<std::string,double> variableMap; + +namespace GeoModelTools { + /* Evaluator based on exprtk (see https://www.partow.net/programming/exprtk/index.html) */ @@ -41,7 +44,7 @@ public: double evaluate(const char * expression); - int status() const; +int status() const; int error_position() const; @@ -100,5 +103,6 @@ private: }; +} #endif diff --git a/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/IEvaluator.h b/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/IEvaluator.h index 82ed3b78a2a66682dc9b9c715f92638add19c718..4c2a867694561c4089ac0496e2572609d0aaa10d 100755 --- a/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/IEvaluator.h +++ b/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/IEvaluator.h @@ -7,6 +7,7 @@ #include <string> +namespace GeoModelTools { /** * IEvaluator: base class for Evaluator @@ -14,6 +15,11 @@ class IEvaluator { public: + enum { + OK, /**< Everything OK */ + ERROR + }; + IEvaluator() {;} /** @@ -75,4 +81,6 @@ private: // IEvaluator & operator=(const IEvaluator &); // assignment is not allowed }; +} + #endif /* HEP_EVALUATOR_H */ diff --git a/GeoModelTools/ExpressionEvaluator/src/Evaluator.cxx b/GeoModelTools/ExpressionEvaluator/src/Evaluator.cxx index 9e3145d161b343578d495e102a3559c1e058a163..e27a0418e31bab263feb22ae0e44e112c4661e39 100755 --- a/GeoModelTools/ExpressionEvaluator/src/Evaluator.cxx +++ b/GeoModelTools/ExpressionEvaluator/src/Evaluator.cxx @@ -16,6 +16,8 @@ #include <errno.h> #include <stdlib.h> // for strtod() +using namespace GeoModelTools; + //--------------------------------------------------------------------------- // Fix non ISO C++ compliant cast from pointer to function // to void*, which is a pointer to an object diff --git a/GeoModelTools/ExpressionEvaluator/src/ExpressionEvaluator.cxx b/GeoModelTools/ExpressionEvaluator/src/ExpressionEvaluator.cxx index 2ad4a65167858827880f39cf56565e6c1e721e85..63c4489f1115568c0cffe14bc518155b5e2db4f3 100644 --- a/GeoModelTools/ExpressionEvaluator/src/ExpressionEvaluator.cxx +++ b/GeoModelTools/ExpressionEvaluator/src/ExpressionEvaluator.cxx @@ -10,6 +10,8 @@ #include <vector> #include <iostream> +using namespace GeoModelTools; + ExpressionEvaluator::ExpressionEvaluator() { m_calc.clear(); diff --git a/GeoModelTools/ExpressionEvaluator/src/ExprtkEvaluator.cxx b/GeoModelTools/ExpressionEvaluator/src/ExprtkEvaluator.cxx index c28044b6224cba3007bbf6e38ffba70409c99adb..324dd3373aca156b0fea5839fa81b3fb02854577 100755 --- a/GeoModelTools/ExpressionEvaluator/src/ExprtkEvaluator.cxx +++ b/GeoModelTools/ExpressionEvaluator/src/ExprtkEvaluator.cxx @@ -4,6 +4,8 @@ #include <iostream> +using namespace GeoModelTools; + ExprtkEvaluator::ExprtkEvaluator() { // std::cout<<" ########### new ExprtkEvaluator being created "<<std::endl; diff --git a/GeoModelTools/ExpressionEvaluator/src/setStdMath.cxx b/GeoModelTools/ExpressionEvaluator/src/setStdMath.cxx index 79d1a6655d272492e25bd6f3b42c2928d8b9a6b4..7726eb408ff43f1067696ea57efef38aa92395e1 100755 --- a/GeoModelTools/ExpressionEvaluator/src/setStdMath.cxx +++ b/GeoModelTools/ExpressionEvaluator/src/setStdMath.cxx @@ -28,7 +28,7 @@ static double eval_log10(double a) { return std::log10(a); } //namespace HepTool { -void Evaluator::setStdMath() { +void GeoModelTools::Evaluator::setStdMath() { // S E T S T A N D A R D C O N S T A N T S diff --git a/GeoModelTools/ExpressionEvaluator/src/setSystemOfUnits.cxx b/GeoModelTools/ExpressionEvaluator/src/setSystemOfUnits.cxx index adc7e33e40e05b4ede00ca9301168230305d37c3..8b25e8b75395b7210d7b47f93df1b11a3653f235 100644 --- a/GeoModelTools/ExpressionEvaluator/src/setSystemOfUnits.cxx +++ b/GeoModelTools/ExpressionEvaluator/src/setSystemOfUnits.cxx @@ -7,7 +7,7 @@ // namespace HepTool { -void IEvaluator::setSystemOfUnits(double meter, +void GeoModelTools::IEvaluator::setSystemOfUnits(double meter, double kilogram, double second, double ampere, diff --git a/GeoModelTools/GDMLtoGM/GDMLInterface/GDMLController.h b/GeoModelTools/GDMLtoGM/GDMLInterface/GDMLController.h index e9140900215ec45dcbc3742111f0d8782a76e1d3..e2a707e59f67d688fadb495963d925932455ab75 100644 --- a/GeoModelTools/GDMLtoGM/GDMLInterface/GDMLController.h +++ b/GeoModelTools/GDMLtoGM/GDMLInterface/GDMLController.h @@ -34,8 +34,8 @@ typedef std::map<std::string, GeoElement*, std::less<std::string> > elementStore class GDMLController { public: GDMLController(std::string); - ExpressionEvaluator* Evaluator(); - XMLHandlerStore* XMLStore(); + GeoModelTools::ExpressionEvaluator* Evaluator(); + GeoModelTools::XMLHandlerStore* XMLStore(); void saveIsotope(std::string, isotope); isotope& retrieveIsotope(std::string); @@ -71,8 +71,8 @@ protected: void setConstant(const char*, double); std::string controllerName; - ExpressionEvaluator* theEvaluator; - XMLHandlerStore* theXMLStore; + GeoModelTools::ExpressionEvaluator* theEvaluator; + GeoModelTools::XMLHandlerStore* theXMLStore; isotopeStore theIsotopes; positionStore thePositions; diff --git a/GeoModelTools/GDMLtoGM/GDMLInterface/GDMLHandler.h b/GeoModelTools/GDMLtoGM/GDMLInterface/GDMLHandler.h index b12aa1e237621af20b90fa1bdf31bdb71df963b2..07f1d56fba5a2931a93d4c4a7fc2b3712edb2e42 100644 --- a/GeoModelTools/GDMLtoGM/GDMLInterface/GDMLHandler.h +++ b/GeoModelTools/GDMLtoGM/GDMLInterface/GDMLHandler.h @@ -7,9 +7,9 @@ #include <string> #include <iostream> -class GDMLHandler:public XMLHandler { +class GDMLHandler:public GeoModelTools::XMLHandler { public: - GDMLHandler(std::string n, GDMLController* c):XMLHandler(n),theController(c) + GDMLHandler(std::string n, GDMLController* c):GeoModelTools::XMLHandler(n),theController(c) {;} virtual void postLoopHandling() {;} protected: diff --git a/GeoModelTools/GDMLtoGM/gdml2gm/gdml2gm.cxx b/GeoModelTools/GDMLtoGM/gdml2gm/gdml2gm.cxx index 75ffd54f407a2960f984626912058a0c44e2ea47..f5168d3bb78071d6ddda88b12991f4897788e499 100644 --- a/GeoModelTools/GDMLtoGM/gdml2gm/gdml2gm.cxx +++ b/GeoModelTools/GDMLtoGM/gdml2gm/gdml2gm.cxx @@ -83,7 +83,7 @@ int main(int argc, char ** argv) { std::cout<< "GDMLtoGeo: GDML to GeoModel Interface. Parsing gdml file "<<inputFile<<" and setting world volume"<<std::endl; GDMLController controller("GDMLController"); - XercesParser xercesParser; + GeoModelTools::XercesParser xercesParser; xercesParser.ParseFileAndNavigate(inputFile); //std::cout << "done parsing "<<std::endl; GeoPhysVol* w=controller.getWorld(); diff --git a/GeoModelTools/GDMLtoGM/src/GDMLController.cxx b/GeoModelTools/GDMLtoGM/src/GDMLController.cxx index ea1d7dce35cb18577c3511c284dcc89209b7a358..914cb4ab8257c86981259ccd1a739c899f7c7cac 100644 --- a/GeoModelTools/GDMLtoGM/src/GDMLController.cxx +++ b/GeoModelTools/GDMLtoGM/src/GDMLController.cxx @@ -23,18 +23,18 @@ std::string stripPointer(const std::string str) GDMLController::GDMLController(std::string name): controllerName(name) { - theXMLStore=XMLHandlerStore::GetHandlerStore(); - theEvaluator=ExpressionEvaluator::GetEvaluator(); + theXMLStore=GeoModelTools::XMLHandlerStore::GetHandlerStore(); + theEvaluator=GeoModelTools::ExpressionEvaluator::GetEvaluator(); registerHandlers(); } -ExpressionEvaluator* GDMLController::Evaluator() +GeoModelTools::ExpressionEvaluator* GDMLController::Evaluator() { return theEvaluator; } -XMLHandlerStore* GDMLController::XMLStore() +GeoModelTools::XMLHandlerStore* GDMLController::XMLStore() { return theXMLStore; } diff --git a/GeoModelTools/GDMLtoGM/src/GDMLtoGM.cxx b/GeoModelTools/GDMLtoGM/src/GDMLtoGM.cxx index 0c42e8f2cd44563e265a8216c204fc1a4bd7c34b..4530b696d4113a92841a03f1b5e0fc90762737fb 100644 --- a/GeoModelTools/GDMLtoGM/src/GDMLtoGM.cxx +++ b/GeoModelTools/GDMLtoGM/src/GDMLtoGM.cxx @@ -62,7 +62,7 @@ void GDMLtoGM::create(GeoPhysVol *world, bool /* 'publish' is not used here */) std::cout<< "GDMLtoGeo: GDML to GeoModel Interface. Parsing gdml file "<<fileName<<" and setting world volume"<<std::endl; GDMLController controller("GDMLController"); std::cout<<"controller created, now parsing "<<std::endl; - XercesParser xercesParser; + GeoModelTools::XercesParser xercesParser; xercesParser.ParseFileAndNavigate(fileName); std::cout << "done parsing "<<std::endl; GeoPhysVol* w=controller.getWorld(); diff --git a/GeoModelTools/GDMLtoGM/src/constantHandler.cxx b/GeoModelTools/GDMLtoGM/src/constantHandler.cxx index 24eca07545a8ee736a2bd7b4c8d2729685540f17..1a69afd6bddfcfbb423baa3eaf39d7f9e2102041 100644 --- a/GeoModelTools/GDMLtoGM/src/constantHandler.cxx +++ b/GeoModelTools/GDMLtoGM/src/constantHandler.cxx @@ -22,5 +22,5 @@ void constantHandler::ElementHandle() std::cout<<" Warning, <quantity /> tag requires an unit attribute to be defined!!!!"<<std::endl; std::string type=getAttributeAsString("type","density"); } - ExpressionEvaluator::GetEvaluator()->RegisterConstant(name,value*lunit); + GeoModelTools::ExpressionEvaluator::GetEvaluator()->RegisterConstant(name,value*lunit); } diff --git a/GeoModelTools/GDMLtoGM/src/elementHandler.cxx b/GeoModelTools/GDMLtoGM/src/elementHandler.cxx index 2c222d2d8066f9673b63db41424f544dd49fd435..89321d4128abe659e59383eaf217ba550d019603 100644 --- a/GeoModelTools/GDMLtoGM/src/elementHandler.cxx +++ b/GeoModelTools/GDMLtoGM/src/elementHandler.cxx @@ -25,11 +25,11 @@ void elementHandler::ElementHandle() { StopLoop(true); xercesc::DOMNode *child; - for (child=XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) + for (child=GeoModelTools::XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) { if (child->getNodeType()==xercesc::DOMNode::ELEMENT_NODE) { - XercesParser::elementLoop(child); - XMLHandler *h=theController->XMLStore()->GetHandler(child); + GeoModelTools::XercesParser::elementLoop(child); + GeoModelTools::XMLHandler *h=theController->XMLStore()->GetHandler(child); if(h){ std::string nH=h->GetName(); //std::cout<<" handler name "<<nH<<std::endl; diff --git a/GeoModelTools/GDMLtoGM/src/intersectionHandler.cxx b/GeoModelTools/GDMLtoGM/src/intersectionHandler.cxx index 1eaf51b845272f5be21935430070489bf851d1e9..9df38d2c68fb0e291258bf98dbfedbc39d24ae2a 100644 --- a/GeoModelTools/GDMLtoGM/src/intersectionHandler.cxx +++ b/GeoModelTools/GDMLtoGM/src/intersectionHandler.cxx @@ -34,10 +34,10 @@ void intersectionHandler::ElementHandle() GeoShape* firstSolid; GeoShape* secondSolid; - for (child=XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) + for (child=GeoModelTools::XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) { if (child->getNodeType()==xercesc::DOMNode::ELEMENT_NODE) { - XercesParser::elementLoop(child); + GeoModelTools::XercesParser::elementLoop(child); XMLHandler *h=theController->XMLStore()->GetHandler(child); if(h){ std::string nH=h->GetName(); diff --git a/GeoModelTools/GDMLtoGM/src/materialHandler.cxx b/GeoModelTools/GDMLtoGM/src/materialHandler.cxx index acd7a1751692f8c44dcf79d9bfc93d0e34b46de6..7a20179ece0cd453c6f79e56b36b4e4149a23911 100644 --- a/GeoModelTools/GDMLtoGM/src/materialHandler.cxx +++ b/GeoModelTools/GDMLtoGM/src/materialHandler.cxx @@ -26,11 +26,11 @@ void materialHandler::ElementHandle() xercesc::DOMNode *child; - for (child=XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) + for (child=GeoModelTools::XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) { if (child->getNodeType()==xercesc::DOMNode::ELEMENT_NODE) { - XercesParser::elementLoop(child); + GeoModelTools::XercesParser::elementLoop(child); XMLHandler *h=theController->XMLStore()->GetHandler(child); if(h) { diff --git a/GeoModelTools/GDMLtoGM/src/physvolHandler.cxx b/GeoModelTools/GDMLtoGM/src/physvolHandler.cxx index a07f51077437971c4dae632d0d9f499e6abd46d6..83020c1bacc81e5d2b97a48758fbae936c316fd8 100644 --- a/GeoModelTools/GDMLtoGM/src/physvolHandler.cxx +++ b/GeoModelTools/GDMLtoGM/src/physvolHandler.cxx @@ -36,11 +36,11 @@ void physvolHandler::ElementHandle() { GeoLogVol* theLogicalVolume; - for (child=XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) + for (child=GeoModelTools::XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) { if (child->getNodeType()==xercesc::DOMNode::ELEMENT_NODE) { - XercesParser::elementLoop(child); + GeoModelTools::XercesParser::elementLoop(child); XMLHandler *h=theController->XMLStore()->GetHandler(child); if(h) { diff --git a/GeoModelTools/GDMLtoGM/src/polyconeHandler.cxx b/GeoModelTools/GDMLtoGM/src/polyconeHandler.cxx index 3b7228111fb4e945cbce4c76d4619cc4e4c409ae..a357ada2c06d8ecc9c9bd62d4fe0055e9929fdf6 100644 --- a/GeoModelTools/GDMLtoGM/src/polyconeHandler.cxx +++ b/GeoModelTools/GDMLtoGM/src/polyconeHandler.cxx @@ -29,11 +29,11 @@ void polyconeHandler::ElementHandle() StopLoop(true); xercesc::DOMNode *child; - for (child=XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) + for (child=GeoModelTools::XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) { if (child->getNodeType()==xercesc::DOMNode::ELEMENT_NODE) { - XercesParser::elementLoop(child); + GeoModelTools::XercesParser::elementLoop(child); XMLHandler *h=theController->XMLStore()->GetHandler(child); if(h){ zplaneHandler* zplH=dynamic_cast<zplaneHandler*>(h); diff --git a/GeoModelTools/GDMLtoGM/src/polyhedraHandler.cxx b/GeoModelTools/GDMLtoGM/src/polyhedraHandler.cxx index 27687ff64d138eaae435d22d013fd847109ce196..79fc02cb335e387f9eabc970e3dec9c9c7962df3 100644 --- a/GeoModelTools/GDMLtoGM/src/polyhedraHandler.cxx +++ b/GeoModelTools/GDMLtoGM/src/polyhedraHandler.cxx @@ -30,11 +30,11 @@ void polyhedraHandler::ElementHandle() StopLoop(true); xercesc::DOMNode *child; - for (child=XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) + for (child=GeoModelTools::XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) { if (child->getNodeType()==xercesc::DOMNode::ELEMENT_NODE) { - XercesParser::elementLoop(child); + GeoModelTools::XercesParser::elementLoop(child); XMLHandler *h=theController->XMLStore()->GetHandler(child); if(h){ zplaneHandler* zplH=dynamic_cast<zplaneHandler*>(h); diff --git a/GeoModelTools/GDMLtoGM/src/replicaHandler.cxx b/GeoModelTools/GDMLtoGM/src/replicaHandler.cxx index 95a2736c78ffc633a40eb96761950d2fe6c0962d..52274902d2b16d9a28ee8e7dcdd19007ad1da156 100644 --- a/GeoModelTools/GDMLtoGM/src/replicaHandler.cxx +++ b/GeoModelTools/GDMLtoGM/src/replicaHandler.cxx @@ -42,12 +42,12 @@ void replicaHandler::ElementHandle() GeoLogVol* theLogicalVolume; - for (child=XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) + for (child=GeoModelTools::XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) { if (child->getNodeType()==xercesc::DOMNode::ELEMENT_NODE) { - XercesParser::elementLoop(child); + GeoModelTools::XercesParser::elementLoop(child); XMLHandler *h=theController->XMLStore()->GetHandler(child); //std::cout<<" namenamename "<<h->GetName()<<std::endl; if(h){ diff --git a/GeoModelTools/GDMLtoGM/src/replicate_axis.cxx b/GeoModelTools/GDMLtoGM/src/replicate_axis.cxx index 18f3d3fc3e51f5a0adf42089a766b6565ad8780c..ce36dacf7c65d771653341b15138c05928b43c35 100644 --- a/GeoModelTools/GDMLtoGM/src/replicate_axis.cxx +++ b/GeoModelTools/GDMLtoGM/src/replicate_axis.cxx @@ -20,12 +20,12 @@ void replicate_axisHandler::ElementHandle() { StopLoop(true); xercesc::DOMNode *child; - for (child=XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) + for (child=GeoModelTools::XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) { if (child->getNodeType()==xercesc::DOMNode::ELEMENT_NODE) { - XercesParser::elementLoop(child); - XMLHandler *h=theController->XMLStore()->GetHandler(child); + GeoModelTools::XercesParser::elementLoop(child); + GeoModelTools::XMLHandler *h=theController->XMLStore()->GetHandler(child); if(h){ std::string nH=h->GetName(); //std::cout<<" handler name "<<nH<<std::endl; diff --git a/GeoModelTools/GDMLtoGM/src/subtractionHandler.cxx b/GeoModelTools/GDMLtoGM/src/subtractionHandler.cxx index 6e0e8da081614c7ccbc464f8a22fbd297982fd0d..ab7f2aa43ba6735d85729eb200be631c363815f7 100644 --- a/GeoModelTools/GDMLtoGM/src/subtractionHandler.cxx +++ b/GeoModelTools/GDMLtoGM/src/subtractionHandler.cxx @@ -36,11 +36,11 @@ void subtractionHandler::ElementHandle() GeoShape* firstSolid; GeoShape* secondSolid; - for (child=XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) + for (child=GeoModelTools::XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) { if (child->getNodeType()==xercesc::DOMNode::ELEMENT_NODE) { - XercesParser::elementLoop(child); - XMLHandler *h=theController->XMLStore()->GetHandler(child); + GeoModelTools::XercesParser::elementLoop(child); + GeoModelTools::XMLHandler *h=theController->XMLStore()->GetHandler(child); if(h) { std::string nH=h->GetName(); diff --git a/GeoModelTools/GDMLtoGM/src/unionHandler.cxx b/GeoModelTools/GDMLtoGM/src/unionHandler.cxx index ddd3385d4cf1958f9b9fd964494932185ff39d1c..38a1c347e393ea6ef4a97abd8371b442c7564ca5 100644 --- a/GeoModelTools/GDMLtoGM/src/unionHandler.cxx +++ b/GeoModelTools/GDMLtoGM/src/unionHandler.cxx @@ -33,12 +33,12 @@ void unionHandler::ElementHandle() GeoShape* firstSolid; GeoShape* secondSolid; - for (child=XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) + for (child=GeoModelTools::XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) { if (child->getNodeType()==xercesc::DOMNode::ELEMENT_NODE) { - XercesParser::elementLoop(child); - XMLHandler *h=theController->XMLStore()->GetHandler(child); + GeoModelTools::XercesParser::elementLoop(child); + GeoModelTools::XMLHandler *h=theController->XMLStore()->GetHandler(child); if(h){ std::string nH=h->GetName(); //std::cout<<" handler name "<<nH<<std::endl; diff --git a/GeoModelTools/GDMLtoGM/src/volumeHandler.cxx b/GeoModelTools/GDMLtoGM/src/volumeHandler.cxx index 6d53ac513ced1bbcdc322fb32ace0766b50b9c42..063a20c0f1a220a639002afefc72c36720bded8b 100644 --- a/GeoModelTools/GDMLtoGM/src/volumeHandler.cxx +++ b/GeoModelTools/GDMLtoGM/src/volumeHandler.cxx @@ -28,23 +28,23 @@ void volumeHandler::ElementHandle() GeoLogVol* tempLV=0; - for (child=XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) + for (child=GeoModelTools::XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) { if (child->getNodeType()==xercesc::DOMNode::ELEMENT_NODE) { // XercesParser::elementLoop(child); - XMLHandler *h=theController->XMLStore()->GetHandler(child); + GeoModelTools::XMLHandler *h=theController->XMLStore()->GetHandler(child); if (h){ std::string nH=h->GetName(); //std::cout<<" handler name "<<nH<<std::endl; if (nH=="materialref") { - XercesParser::elementLoop(child); + GeoModelTools::XercesParser::elementLoop(child); materialrefHandler* mH=dynamic_cast<materialrefHandler*>(h); if (!mH) std::cout<<" something is wrong! can not retrieve materialrefHandler!!!"<<std::endl; else material=mH->getMaterial(); } else if (nH=="solidref") { - XercesParser::elementLoop(child); + GeoModelTools::XercesParser::elementLoop(child); solidrefHandler* sH=dynamic_cast<solidrefHandler*>(h); if (!sH) std::cout<<" something is wrong! can not retrieve solidrefHandler!!!"<<std::endl; else shape=sH->getSolid(); @@ -67,7 +67,7 @@ void volumeHandler::ElementHandle() } pH->setMotherVolume(tempPV); } - XercesParser::elementLoop(child); + GeoModelTools::XercesParser::elementLoop(child); } else if (nH=="replicavol") { replicaHandler* rH=dynamic_cast<replicaHandler*>(h); @@ -84,7 +84,7 @@ void volumeHandler::ElementHandle() } rH->setMotherVolume(tempPV); } - XercesParser::elementLoop(child); + GeoModelTools::XercesParser::elementLoop(child); } } diff --git a/GeoModelTools/GDMLtoGM/src/xtruHandler.cxx b/GeoModelTools/GDMLtoGM/src/xtruHandler.cxx index 87fd607b4aa2dd93351453c82d6be0b1e2fbba2d..205367a7d6f246fa8455de36f36401d210b77ef6 100644 --- a/GeoModelTools/GDMLtoGM/src/xtruHandler.cxx +++ b/GeoModelTools/GDMLtoGM/src/xtruHandler.cxx @@ -35,11 +35,11 @@ void xtruHandler::ElementHandle() StopLoop(true); xercesc::DOMNode *child; - for (child=XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) + for (child=GeoModelTools::XercesParser::GetCurrentElement()->getFirstChild();child!=0;child=child->getNextSibling()) { if (child->getNodeType()==xercesc::DOMNode::ELEMENT_NODE) { - XercesParser::elementLoop(child); + GeoModelTools::XercesParser::elementLoop(child); XMLHandler *h=theController->XMLStore()->GetHandler(child); sectionHandler* sH=dynamic_cast<sectionHandler*>(h); if (sH) diff --git a/GeoModelTools/GeoModelJSONParser/GeoModelJSONParser/JSONHandler.h b/GeoModelTools/GeoModelJSONParser/GeoModelJSONParser/JSONHandler.h index fdbc05cf2d20f4c795be20cac4bea8555957e0f1..77241eacec9d1983cd7091435a95cdbe5fcceba2 100644 --- a/GeoModelTools/GeoModelJSONParser/GeoModelJSONParser/JSONHandler.h +++ b/GeoModelTools/GeoModelJSONParser/GeoModelJSONParser/JSONHandler.h @@ -8,6 +8,8 @@ using nlohmann::json; +namespace GeoModelTools { + #include "handlerStore.h" class JSONHandler { @@ -18,11 +20,13 @@ public: virtual void ElementHandle(const json& j) = 0; std::string name() {return _name;} protected: - JSONHandler(std::string n):_name(n) {handlerStore::getHandlerStore()->registerHandler(this);} + JSONHandler(std::string n):_name(n) {GeoModelTools::handlerStore::getHandlerStore()->registerHandler(this);} virtual ~JSONHandler() {;} private: std::string _name; std::map<std::string, JSONHandler*,std::less<std::string> > registeredHandlers; }; +} // end namespace + #endif diff --git a/GeoModelTools/GeoModelJSONParser/GeoModelJSONParser/JSONParser.h b/GeoModelTools/GeoModelJSONParser/GeoModelJSONParser/JSONParser.h index 72e0cf8b75bdba580348ad958963697fd995a488..68075a468ceab8a10b2166736eed5dd251969ac2 100644 --- a/GeoModelTools/GeoModelJSONParser/GeoModelJSONParser/JSONParser.h +++ b/GeoModelTools/GeoModelJSONParser/GeoModelJSONParser/JSONParser.h @@ -11,6 +11,7 @@ #include "GeoModelJSONParser/JSONHandler.h" using json = nlohmann::json; +namespace GeoModelTools { class JSONParser { public: @@ -50,4 +51,5 @@ void JSONParser::IterateModel(json& jj) } } +} // end namespace #endif diff --git a/GeoModelTools/GeoModelJSONParser/GeoModelJSONParser/handlerStore.h b/GeoModelTools/GeoModelJSONParser/GeoModelJSONParser/handlerStore.h index 5f6e396b961054551b3dfba236ab647ca1a227c2..60ed3bdc59a9134df528cb52e5a86b86fea1745f 100644 --- a/GeoModelTools/GeoModelJSONParser/GeoModelJSONParser/handlerStore.h +++ b/GeoModelTools/GeoModelJSONParser/GeoModelJSONParser/handlerStore.h @@ -5,6 +5,8 @@ #include <string> #include <map> +namespace GeoModelTools { + class JSONHandler; class handlerStore { @@ -26,4 +28,5 @@ private: std::map< std::string, JSONHandler*, std::less<std::string> > store; }; +} // end namespace #endif diff --git a/GeoModelTools/GeoModelJSONParser/src/handlerStore.cxx b/GeoModelTools/GeoModelJSONParser/src/handlerStore.cxx index d3e3693387a7ed9139e2626392939622f3afd70d..49ce825cb69a31794c432ebfbf16fe85049fbcd7 100644 --- a/GeoModelTools/GeoModelJSONParser/src/handlerStore.cxx +++ b/GeoModelTools/GeoModelJSONParser/src/handlerStore.cxx @@ -1,5 +1,7 @@ #include "GeoModelJSONParser/handlerStore.h" #include "GeoModelJSONParser/JSONHandler.h" + +using namespace GeoModelTools; handlerStore* handlerStore::getHandlerStore() { diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/Gmx2Geo.h b/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/Gmx2Geo.h index 2ea56c3318b0356a2dff1e9fd9de20a3b31ed83d..02a66de20dfa5cabf34980102dc8c77484775bf8 100644 --- a/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/Gmx2Geo.h +++ b/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/Gmx2Geo.h @@ -52,7 +52,7 @@ XERCES_CPP_NAMESPACE_BEGIN class DOMNode; XERCES_CPP_NAMESPACE_END -class Evaluator; +class IEvaluator; #define processorList std::map<std::string,ElementProcessor*> @@ -64,7 +64,7 @@ private: Gmx2Geo(const Gmx2Geo &right); Gmx2Geo & operator=(const Gmx2Geo &right); - int doDefines(xercesc::DOMDocument *doc, Evaluator &eval); + int doDefines(xercesc::DOMDocument *doc, GeoModelTools::IEvaluator &eval); int doPositionIndex(xercesc::DOMDocument *doc, GmxUtil &gmxUtil); int doReadoutGeometry(xercesc::DOMDocument *doc, GmxUtil &gmxUtil); void addParam(xercesc::DOMNode *node, std::map<std::string, std::string> ¶ms); diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/GmxUtil.h b/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/GmxUtil.h index a82983d4c7726f5dd2c368212cfa51c8bbb55b6f..b27cc1619d7e54c576dbba6e6e73b935e9d3b9c0 100644 --- a/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/GmxUtil.h +++ b/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/GmxUtil.h @@ -66,7 +66,7 @@ public: GmxInterface *gmxInterface(); double evaluate(char const *expression); std::string debracket(std::string expression); - Evaluator eval; + GeoModelTools::Evaluator eval; PositionIndex positionIndex; MaterialManager* matManager=0; ProcessorRegistry processorRegistry; diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/PositionIndex.h b/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/PositionIndex.h index 31a722b30cc44dfbe4ff55bd13ff113f6687851c..e6fcf4e028ff8ec000ee458abbff7eb123678fad 100644 --- a/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/PositionIndex.h +++ b/GeoModelTools/GeoModelXML/GeoModelXml/GeoModelXml/PositionIndex.h @@ -20,7 +20,7 @@ #include <map> #include <string> -class Evaluator; +class IEvaluator; class PositionIndex { public: @@ -39,7 +39,7 @@ public: std::string formula(const std::string& name); void setFormula(const std::string& name, const std::string& formula); - void indices(std::map<std::string, int> &index, Evaluator &eval); + void indices(std::map<std::string, int> &index, GeoModelTools::IEvaluator &eval); private: int m_level; diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/Gmx2Geo.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/Gmx2Geo.cxx index b7e5c7fcbb8101badf1e44ae12a313decbc6bb70..a674ffc52c78fcded174ba1c4f2e7fde9c2da4de 100644 --- a/GeoModelTools/GeoModelXML/GeoModelXml/src/Gmx2Geo.cxx +++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/Gmx2Geo.cxx @@ -17,7 +17,7 @@ #include "GeoModelKernel/GeoPhysVol.h" -#include "ExpressionEvaluator/Evaluator.h" +#include "ExpressionEvaluator/IEvaluator.h" #include "xercesc/util/XMLString.hpp" #include "GeoModelXml/GeoNodeList.h" @@ -111,7 +111,7 @@ Gmx2Geo::Gmx2Geo(const string& xmlFile, GeoPhysVol *addHere, GmxInterface &gmxIn XMLPlatformUtils::Terminate(); } -int Gmx2Geo::doDefines(DOMDocument *doc, Evaluator &eval) { +int Gmx2Geo::doDefines(DOMDocument *doc, GeoModelTools::IEvaluator &eval) { // // Add all defines to the CLHEP::Evaluator // @@ -214,7 +214,7 @@ const DOMElement *element; char *name = XMLString::transcode(var->getAttribute(name_tmp)); char *val = XMLString::transcode(var->getAttribute(value_tmp)); double evaluated = eval.evaluate(val); - if (eval.status() != Evaluator::OK) { + if (eval.status() != GeoModelTools::IEvaluator::OK) { msglog << MSG::FATAL << "GeoModelXml Error processing CLHEP Evaluator expression. Error name " << eval.error_name() << endl << "Message: "; eval.print_error(); diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx index 6b9b86a757af5df3e91c88cf08220d1cf414d448..6ca7f8a6bb39028608701d1eba33525746c8c95c 100644 --- a/GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx +++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/GmxUtil.cxx @@ -105,7 +105,7 @@ double GmxUtil::evaluate(char const *expression) { // And evaluate the result // double result = eval.evaluate(noBrackets.c_str()); - if (eval.status() != Evaluator::OK) { + if (eval.status() != GeoModelTools::Evaluator::OK) { throw runtime_error(string("evaluate: invalid expression. Last good expression was <" + lastGoodExpression + ">")); } lastGoodExpression = strExpression; diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/PositionIndex.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/PositionIndex.cxx index c1833bb35b9e79483b7afb85d230540c829ed1f2..486a8322d56d92fe109111e9c4306ec5a2ec5aa0 100644 --- a/GeoModelTools/GeoModelXML/GeoModelXml/src/PositionIndex.cxx +++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/PositionIndex.cxx @@ -6,7 +6,7 @@ #include "OutputDirector.h" #include <vector> #include <string> -#include "ExpressionEvaluator/Evaluator.h" +#include "ExpressionEvaluator/IEvaluator.h" #include "GeoModelXml/PositionIndex.h" using namespace std; @@ -68,7 +68,7 @@ void PositionIndex::setFormula(const std::string& name, const std::string& formu m_formula[name] = formula; } -void PositionIndex::indices(map<string, int> &index, Evaluator &eval) { +void PositionIndex::indices(map<string, int> &index, GeoModelTools::IEvaluator &eval) { index.clear(); // In case caller uses it many times // // Set Copy Number of each Level (CNL_i) up to current level @@ -97,7 +97,7 @@ void PositionIndex::indices(map<string, int> &index, Evaluator &eval) { for (vector <string>::iterator n = m_name.begin(); n < m_name.end(); ++n) { string name = *n; index[name] = (int) eval.evaluate(m_formula[name].c_str()); - if (eval.status() != Evaluator::OK) { + if (eval.status() != GeoModelTools::IEvaluator::OK) { msglog << MSG::FATAL << "GeoModelXml Error processing Evaluator expression for PositionIndex. Error name " << eval.error_name() << endl << "Message: "; diff --git a/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/IAGDDParser.h b/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/IAGDDParser.h index 8e3d257624b9b2d2402414e3954e233b99be7daf..be11e64f130ae2cef9addf496018dc6b428e588e 100644 --- a/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/IAGDDParser.h +++ b/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/IAGDDParser.h @@ -8,6 +8,8 @@ #include <string> +namespace GeoModelTools { + class IAGDDParser { public: IAGDDParser():m_fileName("") {} @@ -23,4 +25,6 @@ protected: std::string m_fileName; }; +} // end namespace + #endif diff --git a/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/XMLHandler.h b/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/XMLHandler.h index 0ff399d98bca995e8ca1e6a217e713b6123bc41e..716e1719d4a0c7cbd7e45bb6aa4bedcb37b1f22a 100644 --- a/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/XMLHandler.h +++ b/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/XMLHandler.h @@ -11,6 +11,8 @@ #include "ExpressionEvaluator/ExpressionEvaluator.h" +namespace GeoModelTools { + class XMLHandlerStore; class XMLHandler { @@ -71,4 +73,6 @@ private: void RegisterToStore(); }; +} // end namespace + #endif diff --git a/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/XMLHandlerStore.h b/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/XMLHandlerStore.h index 429ab294860c87e6e3d52f0f483e137ffe7fe9a4..7a94eec3d4c41c330a5186fede680d40a210ccec 100644 --- a/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/XMLHandlerStore.h +++ b/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/XMLHandlerStore.h @@ -5,8 +5,6 @@ #ifndef XMLHandlerStore_H #define XMLHandlerStore_H -class XMLHandler; - #include <map> #include <string> @@ -14,12 +12,15 @@ class XMLHandler; //using namespace xercesc; +namespace GeoModelTools { + +class XMLHandler; typedef std::map<std::string,XMLHandler*,std::less<std::string> > handlerStore; class XMLHandlerStore:public handlerStore { public: static XMLHandlerStore* GetHandlerStore(); - void RegisterHandler(XMLHandler*); + void RegisterHandler(GeoModelTools::XMLHandler*); XMLHandler* GetHandler(xercesc::DOMNode *); void Handle(xercesc::DOMNode *); private: @@ -27,4 +28,6 @@ private: static XMLHandlerStore *s_theStore; }; +} // end namespace + #endif diff --git a/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/XercesParser.h b/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/XercesParser.h index 7039375f28a4641ebcd7a437e0d9d768ac5c9d1c..35c65d5acef4561daf09996ac674aa8b5e8301b4 100644 --- a/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/XercesParser.h +++ b/GeoModelTools/GeoModelXMLParser/GeoModelXMLParser/XercesParser.h @@ -13,6 +13,8 @@ //using namespace xercesc; +namespace GeoModelTools { + class XercesParser: public IAGDDParser { public: XercesParser(); @@ -39,4 +41,6 @@ protected: static xercesc::DOMNode *s_currentElement; }; +} // end namespace + #endif diff --git a/GeoModelTools/GeoModelXMLParser/src/XMLHandler.cxx b/GeoModelTools/GeoModelXMLParser/src/XMLHandler.cxx index 18e12500de2e60a17b234cbbfb78b9e887360063..ee63ff1835b354011c76db36cd2ef2bfe8e59f4b 100644 --- a/GeoModelTools/GeoModelXMLParser/src/XMLHandler.cxx +++ b/GeoModelTools/GeoModelXMLParser/src/XMLHandler.cxx @@ -10,6 +10,7 @@ #include <vector> using namespace xercesc; +using namespace GeoModelTools; DOMNode* XMLHandler::s_currentElement=0; bool XMLHandler::s_printFlag=false; diff --git a/GeoModelTools/GeoModelXMLParser/src/XMLHandlerStore.cxx b/GeoModelTools/GeoModelXMLParser/src/XMLHandlerStore.cxx index ce93bb1c7a897141754e44968c3e07f69dccd2c2..867985ece3d9b3dfce67d880b3b98562bd41ef44 100644 --- a/GeoModelTools/GeoModelXMLParser/src/XMLHandlerStore.cxx +++ b/GeoModelTools/GeoModelXMLParser/src/XMLHandlerStore.cxx @@ -8,6 +8,7 @@ #include <iostream> using namespace xercesc; +using namespace GeoModelTools; XMLHandlerStore* XMLHandlerStore::s_theStore=0; diff --git a/GeoModelTools/GeoModelXMLParser/src/XercesParser.cxx b/GeoModelTools/GeoModelXMLParser/src/XercesParser.cxx index 468266673f97340758d405eba79c1bcd9e1da203..e07ac4974ecd85711b2e46b4a31d8e3e289f05ce 100644 --- a/GeoModelTools/GeoModelXMLParser/src/XercesParser.cxx +++ b/GeoModelTools/GeoModelXMLParser/src/XercesParser.cxx @@ -22,6 +22,7 @@ #include <xercesc/util/OutOfMemoryException.hpp> using namespace xercesc; +using namespace GeoModelTools; DOMNode* XercesParser::s_currentElement=0;