Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:13:37

0001 //==========================================================================
0002 //  AIDA Detector description implementation 
0003 //--------------------------------------------------------------------------
0004 // Copyright (C) Organisation europeenne pour la Recherche nucleaire (CERN)
0005 // All rights reserved.
0006 //
0007 // For the licensing terms see $DD4hepINSTALL/LICENSE.
0008 // For the list of contributors see $DD4hepINSTALL/doc/CREDITS.
0009 //
0010 // Author     : M.Frank
0011 //
0012 //==========================================================================
0013 #ifndef JSON_HELPER_H
0014 #define JSON_HELPER_H
0015 
0016 // Framework include files
0017 #include <JSON/Detector.h>
0018 #include <JSON/ChildValue.h>
0019 #include <DD4hep/Detector.h>
0020 #include <DD4hep/Factories.h>
0021 #include <DD4hep/DD4hepUnits.h>
0022 
0023 // Shortcuts to elements of the JSON namespace
0024 typedef dd4hep::json::Attribute       json_attr_t;
0025 typedef dd4hep::json::Collection_t    json_coll_t;
0026 typedef dd4hep::json::Handle_t        json_h;
0027 typedef dd4hep::json::Element         json_elt_t;
0028 typedef dd4hep::json::Element         json_ref_t;
0029 typedef dd4hep::json::DetElement      json_det_t;
0030 typedef dd4hep::json::Component       json_comp_t;
0031 typedef dd4hep::json::Dimension       json_dim_t;
0032 typedef dd4hep::json::ChildValue      json_val_t;
0033 typedef dd4hep::json::Document        json_doc_t;
0034 typedef dd4hep::json::DocumentHolder  json_doc_holder_t;
0035 typedef dd4hep::json::DocumentHandler json_handler_t;
0036 
0037 /// Namespace for the AIDA detector description toolkit
0038 namespace dd4hep {
0039 
0040   /// Namespace for implementation details of the AIDA detector description toolkit
0041   namespace detail {
0042 
0043     /// std::string conversion of JSON strings (e.g. Unicode for Xerces-C)
0044     static inline std::string _toString(const char* value) {
0045       return json::_toString(value);
0046     }
0047 
0048     /// std::string conversion of arbitrary entities including user defined formatting.
0049     template <typename T> inline std::string _toString(T value, const char* fmt) {
0050       return json::_toString(value, fmt);
0051     }
0052   }
0053 }
0054 
0055 #endif // JSON_HELPER_H