|
||||
Warning, file /include/XML/XMLParsers.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
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 Markus Frank 0011 // \date 2017-03-15 0012 // \version 1.0 0013 // 0014 //========================================================================== 0015 #ifndef XML_XMLPARSERS_H 0016 #define XML_XMLPARSERS_H 0017 0018 // Framework include files 0019 #include <DD4hep/AlignmentData.h> 0020 #include <XML/XMLElements.h> 0021 0022 // C/C++ include files 0023 0024 0025 /// Namespace for the AIDA detector description toolkit 0026 namespace dd4hep { 0027 0028 // Forward declarations 0029 class OpaqueDataBlock; 0030 0031 /// Namespace for the AIDA detector description toolkit supporting XML utilities 0032 namespace xml { 0033 0034 /// Set debug print level for this module. Default is OFF 0035 bool setXMLParserDebug(bool new_value); 0036 0037 /// Convert rotation XML objects to dd4hep::RotationZYX 0038 /** <rotation x="0.5" y="0" z="0"/> => dd4hep::RotationZYX 0039 * 0040 * \author M.Frank 0041 * \version 1.0 0042 * \date 01/04/2014 0043 */ 0044 void parse(Handle_t e, RotationZYX& rot); 0045 0046 /// Convert XML position objects to dd4hep::Position 0047 /** 0048 * <position x="0.5" y="0" z="0"/> => dd4hep::Position 0049 * 0050 * \author M.Frank 0051 * \version 1.0 0052 * \date 01/04/2014 0053 */ 0054 void parse(Handle_t e, Position& pos); 0055 0056 /// Convert XML pivot objects to dd4hep::Translation3D objects 0057 /** 0058 * <pivot x="0.5" y="0" z="0"/> 0059 * 0060 * \author M.Frank 0061 * \version 1.0 0062 * \date 01/04/2014 0063 */ 0064 void parse(Handle_t e, Translation3D& tr); 0065 0066 /// Convert alignment delta objects to Delta 0067 /** 0068 * A generic alignment transformation is defined by 0069 * - a translation in 3D space identified in XML as a 0070 * <position/> element 0071 * - a rotation in 3D space around a pivot point specified in XML by 0072 * 2 elements: the <rotation/> and the <pivot/> element. 0073 * The specification of any of the elements is optional: 0074 * - The absence of a translation implies the origine (0,0,0) 0075 * - The absence of a pivot point implies the origine (0,0,0) 0076 * - The absence of a rotation implies the identity rotation. 0077 * Any supplied pivot point in this case is ignored. 0078 * 0079 * <xx> 0080 * <position x="0" y="0" z="0.0001*mm"/> 0081 * <rotation x="0" y="0" z="0"/> 0082 * <pivot x="0" y="0" z="100"/> 0083 * </xx> 0084 * 0085 * \author M.Frank 0086 * \version 1.0 0087 * \date 01/04/2014 0088 */ 0089 void parse(Handle_t e, Delta& delta); 0090 0091 /// Parse delta into an opaque data block 0092 /** 0093 * See void parse(Handle_t e, Delta& delta) for details. 0094 * 0095 * \author M.Frank 0096 * \version 1.0 0097 * \date 01/04/2014 0098 */ 0099 void parse_delta(Handle_t e, OpaqueDataBlock& block); 0100 0101 /// Converts opaque maps to OpaqueDataBlock objects 0102 /** 0103 * Opaque data mappings are formalized std::map objects (or std::hash_map etc.) 0104 * where the data source is parsed into the map using boost::spirit as a data 0105 * interpretation mechanism. 0106 * 0107 * \author M.Frank 0108 * \version 1.0 0109 * \date 01/04/2014 0110 */ 0111 void parse_mapping(Handle_t e, OpaqueDataBlock& block); 0112 0113 /// Converts linear STL containers from their string representation. 0114 /** 0115 * Opaque data sequences are formalized linear STL container objects 0116 * (std::vector, std::list, std::set, std::deque etc.) 0117 * where the data source is parsed into the map using boost::spirit as a data 0118 * interpretation mechanism. 0119 * 0120 * \author M.Frank 0121 * \version 1.0 0122 * \date 01/04/2014 0123 */ 0124 void parse_sequence(Handle_t e, OpaqueDataBlock& block); 0125 0126 0127 } /* End namespace xml */ 0128 } /* End namespace dd4hep */ 0129 #endif // XML_XMLPARSERS_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |