Geant4 Cross Reference |
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE xs:schema []> 2 <!DOCTYPE xs:schema []> 3 <xs:schema attributeFormDefault="unqualified" << 3 <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" version="1.0" xmlns:gdml="http://service-spi.web.cern.ch/service-spi/app/releases/GDML/schema" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 4 <xs:include schemaLocation="gdml_core.xsd">< 4 <xs:include schemaLocation="gdml_core.xsd"></xs:include> 5 <xs:include schemaLocation="gdml_define.xsd" 5 <xs:include schemaLocation="gdml_define.xsd"></xs:include> 6 <xs:include schemaLocation="gdml_extensions. 6 <xs:include schemaLocation="gdml_extensions.xsd"/> 7 <!-- +++++++++++++++++++++++++++++++++++++++ 7 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 8 8 9 <xs:complexType name="SolidType"> 9 <xs:complexType name="SolidType"> 10 <xs:annotation> 10 <xs:annotation> 11 <xs:documentation>Base solid type</xs:do 11 <xs:documentation>Base solid type</xs:documentation> 12 </xs:annotation> 12 </xs:annotation> 13 <xs:attribute default="mm" name="lunit" ty 13 <xs:attribute default="mm" name="lunit" type="xs:string"> 14 <xs:annotation> 14 <xs:annotation> 15 <xs:documentation>Length unit of all dimensi 15 <xs:documentation>Length unit of all dimensions used for this instance of solid</xs:documentation> 16 </xs:annotation> 16 </xs:annotation> 17 </xs:attribute> 17 </xs:attribute> 18 <xs:attribute default="radian" name="aunit 18 <xs:attribute default="radian" name="aunit" type="xs:string"> 19 <xs:annotation> 19 <xs:annotation> 20 <xs:documentation>Angle unit of angles used 20 <xs:documentation>Angle unit of angles used in definition of this solid</xs:documentation> 21 </xs:annotation> 21 </xs:annotation> 22 </xs:attribute> 22 </xs:attribute> 23 <xs:attribute name="name" type="xs:ID" use 23 <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute> 24 </xs:complexType> 24 </xs:complexType> 25 <!-- +++++++++++++++++++++++++++++++++++++++ 25 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 26 26 27 <xs:complexType name="BooleanSolidType"> 27 <xs:complexType name="BooleanSolidType"> 28 <xs:annotation> 28 <xs:annotation> 29 <xs:documentation>Base type for boolean 29 <xs:documentation>Base type for boolean solids</xs:documentation> 30 </xs:annotation> 30 </xs:annotation> 31 <xs:complexContent> 31 <xs:complexContent> 32 <xs:extension base="SolidType"> 32 <xs:extension base="SolidType"> 33 <xs:sequence> 33 <xs:sequence> 34 <xs:element name="first" type="ReferenceTy 34 <xs:element name="first" type="ReferenceType"></xs:element> 35 <xs:element name="second" type="ReferenceT 35 <xs:element name="second" type="ReferenceType"></xs:element> 36 <xs:choice minOccurs="0"> 36 <xs:choice minOccurs="0"> 37 <xs:element name="position" type="positi 37 <xs:element name="position" type="positionType"></xs:element> 38 <xs:element name="positionref" type="Ref 38 <xs:element name="positionref" type="ReferenceType"></xs:element> 39 </xs:choice> 39 </xs:choice> 40 <xs:choice minOccurs="0"> 40 <xs:choice minOccurs="0"> 41 <xs:element name="rotation" type="rotati 41 <xs:element name="rotation" type="rotationType"></xs:element> 42 <xs:element name="rotationref" type="Ref 42 <xs:element name="rotationref" type="ReferenceType"></xs:element> 43 </xs:choice> 43 </xs:choice> 44 <xs:choice minOccurs="0"> 44 <xs:choice minOccurs="0"> 45 <xs:element name="firstposition" type="p 45 <xs:element name="firstposition" type="positionType"></xs:element> 46 <xs:element name="firstpositionref" type 46 <xs:element name="firstpositionref" type="ReferenceType"></xs:element> 47 </xs:choice> 47 </xs:choice> 48 <xs:choice minOccurs="0"> 48 <xs:choice minOccurs="0"> 49 <xs:element name="firstrotation" type="r 49 <xs:element name="firstrotation" type="rotationType"></xs:element> 50 <xs:element name="firstrotationref" type 50 <xs:element name="firstrotationref" type="ReferenceType"></xs:element> 51 </xs:choice> 51 </xs:choice> 52 </xs:sequence> 52 </xs:sequence> 53 </xs:extension> 53 </xs:extension> 54 </xs:complexContent> 54 </xs:complexContent> 55 </xs:complexType> 55 </xs:complexType> >> 56 56 <!-- +++++++++++++++++++++++++++++++++++++++ 57 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 57 58 58 <xs:complexType name="multiUnionNode"> 59 <xs:complexType name="multiUnionNode"> 59 <xs:annotation> 60 <xs:annotation> 60 <xs:documentation>Base node for Multi-Un 61 <xs:documentation>Base node for Multi-Union structure</xs:documentation> 61 </xs:annotation> 62 </xs:annotation> 62 <xs:complexContent> 63 <xs:complexContent> 63 <xs:extension base="SolidType"> 64 <xs:extension base="SolidType"> 64 <xs:sequence> 65 <xs:sequence> 65 <xs:element name="solid" type="ReferenceTy 66 <xs:element name="solid" type="ReferenceType"></xs:element> 66 <xs:choice minOccurs="0"> 67 <xs:choice minOccurs="0"> 67 <xs:element name="position" type=" 68 <xs:element name="position" type="positionType"></xs:element> 68 <xs:element name="positionref" typ 69 <xs:element name="positionref" type="ReferenceType"></xs:element> 69 </xs:choice> 70 </xs:choice> 70 <xs:choice minOccurs="0"> 71 <xs:choice minOccurs="0"> 71 <xs:element name="rotation" type=" 72 <xs:element name="rotation" type="rotationType"></xs:element> 72 <xs:element name="rotationref" typ 73 <xs:element name="rotationref" type="ReferenceType"></xs:element> 73 </xs:choice> 74 </xs:choice> 74 </xs:sequence> 75 </xs:sequence> 75 </xs:extension> 76 </xs:extension> 76 </xs:complexContent> 77 </xs:complexContent> 77 </xs:complexType> 78 </xs:complexType> >> 79 78 <!-- +++++++++++++++++++++++++++++++++++++++ 80 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 79 81 80 <xs:element name="multiUnion" substitutionGr 82 <xs:element name="multiUnion" substitutionGroup="Solid"> 81 <xs:annotation> 83 <xs:annotation> 82 <xs:documentation>MultiUnion is a Solid 84 <xs:documentation>MultiUnion is a Solid created by Union of many Solids. 83 This Solid is constructed by multiUnion 85 This Solid is constructed by multiUnionNodes; 84 each Node is described by solid with it 86 each Node is described by solid with its position and rotation. 85 </xs:documentation> 87 </xs:documentation> 86 </xs:annotation> 88 </xs:annotation> 87 <xs:complexType> 89 <xs:complexType> 88 <xs:complexContent> 90 <xs:complexContent> 89 <xs:extension base="SolidType"> 91 <xs:extension base="SolidType"> 90 <xs:sequence> 92 <xs:sequence> 91 <xs:element name="multiUnionNode" minOcc 93 <xs:element name="multiUnionNode" minOccurs="1" maxOccurs="unbounded" type="multiUnionNode"/> 92 </xs:sequence> 94 </xs:sequence> 93 </xs:extension> 95 </xs:extension> 94 </xs:complexContent> 96 </xs:complexContent> 95 </xs:complexType> 97 </xs:complexType> 96 </xs:element> 98 </xs:element> >> 99 97 <!-- +++++++++++++++++++++++++++++++++++++++ 100 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 98 101 99 <xs:element name="reflectedSolid" substituti 102 <xs:element name="reflectedSolid" substitutionGroup="Solid"> 100 <xs:annotation> 103 <xs:annotation> 101 <xs:documentation>Reflected solid: 104 <xs:documentation>Reflected solid: 102 sx, sy, sz are scale components (conta 105 sx, sy, sz are scale components (containing reflection), 103 rx, ry, rz are rotation angles around 106 rx, ry, rz are rotation angles around given axes and 104 dx, dy, dz is the translation. 107 dx, dy, dz is the translation. 105 </xs:documentation> 108 </xs:documentation> 106 </xs:annotation> 109 </xs:annotation> 107 <xs:complexType> 110 <xs:complexType> 108 <xs:complexContent> 111 <xs:complexContent> 109 <xs:extension base="SolidType"> 112 <xs:extension base="SolidType"> 110 <xs:attribute name="solid" type="Expressio 113 <xs:attribute name="solid" type="ExpressionOrIDREFType" use="required"></xs:attribute> 111 <xs:attribute default="1.0" name="sx" type 114 <xs:attribute default="1.0" name="sx" type="ExpressionOrIDREFType"></xs:attribute> 112 <xs:attribute default="1.0" name="sy" type 115 <xs:attribute default="1.0" name="sy" type="ExpressionOrIDREFType"></xs:attribute> 113 <xs:attribute default="1.0" name="sz" type 116 <xs:attribute default="1.0" name="sz" type="ExpressionOrIDREFType"></xs:attribute> 114 <xs:attribute default="0.0" name="rx" type 117 <xs:attribute default="0.0" name="rx" type="ExpressionOrIDREFType"></xs:attribute> 115 <xs:attribute default="0.0" name="ry" type 118 <xs:attribute default="0.0" name="ry" type="ExpressionOrIDREFType"></xs:attribute> 116 <xs:attribute default="0.0" name="rz" type 119 <xs:attribute default="0.0" name="rz" type="ExpressionOrIDREFType"></xs:attribute> 117 <xs:attribute default="0.0" name="dx" type 120 <xs:attribute default="0.0" name="dx" type="ExpressionOrIDREFType"></xs:attribute> 118 <xs:attribute default="0.0" name="dy" type 121 <xs:attribute default="0.0" name="dy" type="ExpressionOrIDREFType"></xs:attribute> 119 <xs:attribute default="0.0" name="dz" type 122 <xs:attribute default="0.0" name="dz" type="ExpressionOrIDREFType"></xs:attribute> 120 </xs:extension> 123 </xs:extension> 121 </xs:complexContent> 124 </xs:complexContent> 122 </xs:complexType> 125 </xs:complexType> 123 </xs:element> 126 </xs:element> 124 <!-- +++++++++++++++++++++++++++++++++++++++ 127 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 125 128 126 <xs:element name="scaledSolid" substitutionG << 127 <xs:annotation> << 128 <xs:documentation>Scaled solid: << 129 For the scale component, values must b << 130 </xs:documentation> << 131 </xs:annotation> << 132 <xs:complexType> << 133 <xs:complexContent> << 134 <xs:extension base="SolidType"> << 135 <xs:sequence> << 136 <xs:element name="solidref" type="Refere << 137 <xs:choice minOccurs="1"> << 138 <xs:element name="scale" type="s << 139 <xs:element name="scaleref" type << 140 </xs:choice> << 141 </xs:sequence> << 142 </xs:extension> << 143 </xs:complexContent> << 144 </xs:complexType> << 145 </xs:element> << 146 <!-- +++++++++++++++++++++++++++++++++++++++ << 147 << 148 <!-- +++++++++++++++++++++++++++++++++++++++ << 149 <xs:group name="OpticalSurfacePropertiesGrou << 150 <xs:annotation> << 151 <xs:documentation>General optical surfac << 152 </xs:annotation> << 153 <xs:sequence> << 154 <xs:choice minOccurs="0"> << 155 <xs:element maxOccurs="unbounded" name=" << 156 <xs:annotation> << 157 <xs:documentation>General optical surface << 158 </xs:annotation> << 159 <xs:complexType> << 160 <xs:complexContent> << 161 <xs:extension base="ReferenceType"> << 162 <xs:attribute name="name" type="xs:str << 163 </xs:extension> << 164 </xs:complexContent> << 165 </xs:complexType> << 166 </xs:element> << 167 </xs:choice> << 168 </xs:sequence> << 169 </xs:group> << 170 << 171 << 172 <xs:complexType name="SurfacePropertyType"> 129 <xs:complexType name="SurfacePropertyType"> 173 <xs:annotation> 130 <xs:annotation> 174 <xs:documentation>Base surface type</xs: 131 <xs:documentation>Base surface type</xs:documentation> 175 </xs:annotation> 132 </xs:annotation> 176 <xs:group ref="OpticalSurfacePropertiesGro << 177 <xs:attribute name="name" type="xs:ID" use 133 <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute> 178 <xs:attribute name="type" type="xs:string" 134 <xs:attribute name="type" type="xs:string" default="dielectric_dielectric"></xs:attribute> 179 </xs:complexType> 135 </xs:complexType> 180 <!-- +++++++++++++++++++++++++++++++++++++++ 136 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 181 137 182 <xs:element abstract="true" name="Solid" typ 138 <xs:element abstract="true" name="Solid" type="SolidType"> 183 <xs:annotation> 139 <xs:annotation> 184 <xs:documentation>Abstract element for a 140 <xs:documentation>Abstract element for all solids substitution group</xs:documentation> 185 </xs:annotation> 141 </xs:annotation> 186 </xs:element> 142 </xs:element> 187 <!-- +++++++++++++++++++++++++++++++++++++++ 143 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 188 144 189 <xs:element abstract="true" name="SurfacePro 145 <xs:element abstract="true" name="SurfaceProperty" type="SurfacePropertyType"> 190 <xs:annotation> 146 <xs:annotation> 191 <xs:documentation>Abstract element for s 147 <xs:documentation>Abstract element for surfaces substitution</xs:documentation> 192 </xs:annotation> 148 </xs:annotation> 193 </xs:element> 149 </xs:element> 194 <!-- +++++++++++++++++++++++++++++++++++++++ 150 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 195 151 196 <xs:element name="solids"> 152 <xs:element name="solids"> 197 <xs:annotation> 153 <xs:annotation> 198 <xs:documentation>Solids definitions blo 154 <xs:documentation>Solids definitions block</xs:documentation> 199 </xs:annotation> 155 </xs:annotation> 200 <xs:complexType> 156 <xs:complexType> 201 <xs:choice maxOccurs="unbounded"> 157 <xs:choice maxOccurs="unbounded"> 202 <xs:element minOccurs="0" name="define" type 158 <xs:element minOccurs="0" name="define" type="defineType"> 203 <xs:annotation> 159 <xs:annotation> 204 <xs:documentation>Definitions of constan 160 <xs:documentation>Definitions of constants and expressions to be used for solids' 205 dimensions and transformations 161 dimensions and transformations 206 In this version these become par 162 In this version these become part of the global scope.</xs:documentation> 207 </xs:annotation> 163 </xs:annotation> 208 </xs:element> 164 </xs:element> 209 <xs:element maxOccurs="unbounded" ref="Solid 165 <xs:element maxOccurs="unbounded" ref="Solid"></xs:element> 210 <xs:element minOccurs="0" maxOccurs="unbound 166 <xs:element minOccurs="0" maxOccurs="unbounded" ref="SurfaceProperty"></xs:element> 211 <xs:element maxOccurs="unbounded" minOccurs= 167 <xs:element maxOccurs="unbounded" minOccurs="0" ref="loop"/> 212 </xs:choice> 168 </xs:choice> 213 </xs:complexType> 169 </xs:complexType> 214 </xs:element> 170 </xs:element> 215 <!-- +++++++++++++++++++++++++++++++++++++++ 171 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 216 172 217 <xs:element name="union" substitutionGroup=" 173 <xs:element name="union" substitutionGroup="Solid" type="BooleanSolidType"> 218 <xs:annotation> 174 <xs:annotation> 219 <xs:documentation>Exported boolean union 175 <xs:documentation>Exported boolean union of two solids</xs:documentation> 220 </xs:annotation> 176 </xs:annotation> 221 </xs:element> 177 </xs:element> 222 <!-- +++++++++++++++++++++++++++++++++++++++ 178 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 223 179 224 <xs:element name="subtraction" substitutionG 180 <xs:element name="subtraction" substitutionGroup="Solid" type="BooleanSolidType"> 225 <xs:annotation> 181 <xs:annotation> 226 <xs:documentation>Exported boolean subtr 182 <xs:documentation>Exported boolean subtraction of two solids</xs:documentation> 227 </xs:annotation> 183 </xs:annotation> 228 </xs:element> 184 </xs:element> 229 <!-- +++++++++++++++++++++++++++++++++++++++ 185 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 230 186 231 <xs:element name="intersection" substitution 187 <xs:element name="intersection" substitutionGroup="Solid" type="BooleanSolidType"> 232 <xs:annotation> 188 <xs:annotation> 233 <xs:documentation>Exported boolean inter 189 <xs:documentation>Exported boolean intersectioin of two solids</xs:documentation> 234 </xs:annotation> 190 </xs:annotation> 235 </xs:element> 191 </xs:element> 236 <!-- +++++++++++++++++++++++++++++++++++++++ 192 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 237 193 238 <xs:element name="box" substitutionGroup="So 194 <xs:element name="box" substitutionGroup="Solid"> 239 <xs:annotation> 195 <xs:annotation> 240 <xs:documentation>CSG box solid describe 196 <xs:documentation>CSG box solid described by 3 dimensions of x, y, and z</xs:documentation> 241 </xs:annotation> 197 </xs:annotation> 242 <xs:complexType> 198 <xs:complexType> 243 <xs:complexContent> 199 <xs:complexContent> 244 <xs:extension base="SolidType"> 200 <xs:extension base="SolidType"> 245 <xs:attribute name="x" type="ExpressionOrI 201 <xs:attribute name="x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 246 <xs:attribute name="y" type="ExpressionOrI 202 <xs:attribute name="y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 247 <xs:attribute name="z" type="ExpressionOrI 203 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 248 </xs:extension> 204 </xs:extension> 249 </xs:complexContent> 205 </xs:complexContent> 250 </xs:complexType> 206 </xs:complexType> 251 </xs:element> 207 </xs:element> 252 <!-- +++++++++++++++++++++++++++++++++++++++++ 208 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 253 209 254 <xs:element name="twistedbox" substitutionGr 210 <xs:element name="twistedbox" substitutionGroup="Solid"> 255 <xs:annotation> 211 <xs:annotation> 256 <xs:documentation>CSG twisted box solid 212 <xs:documentation>CSG twisted box solid described by 4 dimensions of 257 x length along x axis 213 x length along x axis 258 y length along y axis 214 y length along y axis 259 z length along z axis 215 z length along z axis 260 PhiTwist twist angle </xs:documentation> 216 PhiTwist twist angle </xs:documentation> 261 </xs:annotation> 217 </xs:annotation> 262 <xs:complexType> 218 <xs:complexType> 263 <xs:complexContent> 219 <xs:complexContent> 264 <xs:extension base="SolidType"> 220 <xs:extension base="SolidType"> 265 <xs:attribute name="x" type="ExpressionOrI 221 <xs:attribute name="x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 266 <xs:attribute name="y" type="ExpressionOrI 222 <xs:attribute name="y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 267 <xs:attribute name="z" type="ExpressionOrI 223 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 268 <xs:attribute name="PhiTwist" type="Expres 224 <xs:attribute name="PhiTwist" type="ExpressionOrIDREFType" use="required"></xs:attribute> 269 </xs:extension> 225 </xs:extension> 270 </xs:complexContent> 226 </xs:complexContent> 271 </xs:complexType> 227 </xs:complexType> 272 </xs:element> 228 </xs:element> 273 <!-- +++++++++++++++++++++++++++++++++++++++ 229 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 274 230 275 <xs:element name="twistedtrap" substitutionG 231 <xs:element name="twistedtrap" substitutionGroup="Solid"> 276 <xs:annotation> 232 <xs:annotation> 277 <xs:documentation>general twisted trapez 233 <xs:documentation>general twisted trapezoid. faces perpendicular to the z planes are trapezia, and their centres are 278 not necessarily on a line paralell to th 234 not necessarily on a line paralell to the z axis. 279 PhiTwist Twist Angle 235 PhiTwist Twist Angle 280 z length along the z-axis 236 z length along the z-axis 281 Theta Polar angle of the line joining the c 237 Theta Polar angle of the line joining the centres of the faces at -/+z 282 Phi Azimuthal angle of the line joing the 238 Phi Azimuthal angle of the line joing the centre of the face at -z to the centre of the face at +z 283 y1 length along y of the face at -z 239 y1 length along y of the face at -z 284 x1 length along x of the side at y=-y 240 x1 length along x of the side at y=-y1 of the face at -z 285 x2 length along x of the side at y=+y1 of 241 x2 length along x of the side at y=+y1 of the face at -z 286 y2 length along y of the face at +z 242 y2 length along y of the face at +z 287 x3 length along x of the side at y=-y2 of 243 x3 length along x of the side at y=-y2 of the face at +z 288 x4 length along x of the side at y=+y2 of 244 x4 length along x of the side at y=+y2 of the face at +z 289 Alph Angle with respect to the y axis from 245 Alph Angle with respect to the y axis from the centre of the side </xs:documentation> 290 </xs:annotation> 246 </xs:annotation> 291 <xs:complexType> 247 <xs:complexType> 292 <xs:complexContent> 248 <xs:complexContent> 293 <xs:extension base="SolidType"> 249 <xs:extension base="SolidType"> 294 <xs:attribute name="PhiTwist" type=" 250 <xs:attribute name="PhiTwist" type="ExpressionOrIDREFType" use="required"></xs:attribute> 295 <xs:attribute name="z" type="ExpressionOrI 251 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 296 <xs:attribute name="Theta" type="Expressio 252 <xs:attribute name="Theta" type="ExpressionOrIDREFType" use="required"></xs:attribute> 297 <xs:attribute name="Phi" type="ExpressionO 253 <xs:attribute name="Phi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 298 <xs:attribute name="y1" type="ExpressionOr 254 <xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 299 <xs:attribute name="x1" type="ExpressionOr 255 <xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 300 <xs:attribute name="y2" type="ExpressionOr 256 <xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 301 <xs:attribute name="x2" type="ExpressionOr 257 <xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 302 <xs:attribute name="x3" type="ExpressionOr 258 <xs:attribute name="x3" type="ExpressionOrIDREFType" use="required"></xs:attribute> 303 <xs:attribute name="x4" type="ExpressionOr 259 <xs:attribute name="x4" type="ExpressionOrIDREFType" use="required"></xs:attribute> 304 <xs:attribute name="Alph" type="Expr 260 <xs:attribute name="Alph" type="ExpressionOrIDREFType" use="required"></xs:attribute> 305 </xs:extension> 261 </xs:extension> 306 </xs:complexContent> 262 </xs:complexContent> 307 </xs:complexType> 263 </xs:complexType> 308 </xs:element> 264 </xs:element> 309 <!-- +++++++++++++++++++++++++++++++++++++++ 265 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 310 266 311 <xs:element name="twistedtrd" substitutionGr 267 <xs:element name="twistedtrd" substitutionGroup="Solid"> 312 <xs:annotation> 268 <xs:annotation> 313 <xs:documentation>different length axis 269 <xs:documentation>different length axis twistable trapezoid. faces perpendicular to the z planes are trapezia, and their centres are 314 not necessarily on a line paralell to th 270 not necessarily on a line paralell to the z axis. 315 PhiTwist Twist Angle 271 PhiTwist Twist Angle 316 z length along the z-axis 272 z length along the z-axis 317 y1 length along y of the face at -z 273 y1 length along y of the face at -z 318 x1 length along x of the side at y=-y 274 x1 length along x of the side at y=-y1 of the face at -z 319 x2 length along x of the side at y=+y1 of 275 x2 length along x of the side at y=+y1 of the face at -z 320 y2 length along y of the face at +z </xs: 276 y2 length along y of the face at +z </xs:documentation> 321 </xs:annotation> 277 </xs:annotation> 322 <xs:complexType> 278 <xs:complexType> 323 <xs:complexContent> 279 <xs:complexContent> 324 <xs:extension base="SolidType"> 280 <xs:extension base="SolidType"> 325 <xs:attribute name="PhiTwist" type=" 281 <xs:attribute name="PhiTwist" type="ExpressionOrIDREFType" use="required"></xs:attribute> 326 <xs:attribute name="z" type="ExpressionOrI 282 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 327 <xs:attribute name="y1" type="ExpressionOr 283 <xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 328 <xs:attribute name="x1" type="ExpressionOr 284 <xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 329 <xs:attribute name="y2" type="ExpressionOr 285 <xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 330 <xs:attribute name="x2" type="ExpressionOr 286 <xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 331 </xs:extension> 287 </xs:extension> 332 </xs:complexContent> 288 </xs:complexContent> 333 </xs:complexType> 289 </xs:complexType> 334 </xs:element> 290 </xs:element> 335 <!-- +++++++++++++++++++++++++++++++++++++++ 291 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 336 292 337 <xs:element name="paraboloid" substitutionGr 293 <xs:element name="paraboloid" substitutionGroup="Solid"> 338 <xs:annotation> 294 <xs:annotation> 339 <xs:documentation>CSG paraboloid defined 295 <xs:documentation>CSG paraboloid defined by 340 rlo radius at -dz 296 rlo radius at -dz 341 rhi radius at +dz 297 rhi radius at +dz 342 dz half z length 298 dz half z length 343 </xs:documentation> 299 </xs:documentation> 344 </xs:annotation> 300 </xs:annotation> 345 <xs:complexType> 301 <xs:complexType> 346 <xs:complexContent> 302 <xs:complexContent> 347 <xs:extension base="SolidType"> 303 <xs:extension base="SolidType"> 348 <xs:attribute name="rlo" type="ExpressionO 304 <xs:attribute name="rlo" type="ExpressionOrIDREFType" use="required"></xs:attribute> 349 <xs:attribute name="rhi" type="ExpressionO 305 <xs:attribute name="rhi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 350 <xs:attribute name="dz" type="ExpressionOr 306 <xs:attribute name="dz" type="ExpressionOrIDREFType" use="required"></xs:attribute> 351 </xs:extension> 307 </xs:extension> 352 </xs:complexContent> 308 </xs:complexContent> 353 </xs:complexType> 309 </xs:complexType> 354 </xs:element> 310 </xs:element> 355 <!-- +++++++++++++++++++++++++++++++++++++++ 311 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 356 312 357 <xs:element name="sphere" substitutionGroup= 313 <xs:element name="sphere" substitutionGroup="Solid"> 358 <xs:annotation> 314 <xs:annotation> 359 <xs:documentation>CSG sphere or spherica 315 <xs:documentation>CSG sphere or spherical shell segment solid described by 360 rmin inner radius 316 rmin inner radius 361 rmax outer radius 317 rmax outer radius 362 startphi starting angle of the segm 318 startphi starting angle of the segment in radians(0 <= phi <= 2*PI) 363 deltaphi delta angle of the segment 319 deltaphi delta angle of the segment in radians 364 starttheta starting angle of the segm 320 starttheta starting angle of the segment in radians(0 <= theta <= PI) 365 deltatheta delta angle of the segment 321 deltatheta delta angle of the segment in radians 366 </xs:documentation> 322 </xs:documentation> 367 </xs:annotation> 323 </xs:annotation> 368 <xs:complexType> 324 <xs:complexType> 369 <xs:complexContent> 325 <xs:complexContent> 370 <xs:extension base="SolidType"> 326 <xs:extension base="SolidType"> 371 <xs:attribute default="0.0" name="rmin" ty 327 <xs:attribute default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> 372 <xs:attribute name="rmax" type="Expression 328 <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 373 <xs:attribute default="0.0" name="startphi 329 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 374 <xs:attribute name="deltaphi" type="Expres 330 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 375 <xs:attribute default="0.0" name="startthe 331 <xs:attribute default="0.0" name="starttheta" type="ExpressionOrIDREFType"></xs:attribute> 376 <xs:attribute name="deltatheta" type="Expr 332 <xs:attribute name="deltatheta" type="ExpressionOrIDREFType" use="required"></xs:attribute> 377 </xs:extension> 333 </xs:extension> 378 </xs:complexContent> 334 </xs:complexContent> 379 </xs:complexType> 335 </xs:complexType> 380 </xs:element> 336 </xs:element> 381 <!-- +++++++++++++++++++++++++++++++++++++++ 337 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 382 338 383 <xs:element name="ellipsoid" substitutionGro 339 <xs:element name="ellipsoid" substitutionGroup="Solid"> 384 <xs:annotation> 340 <xs:annotation> 385 <xs:documentation>CSG ellispoid or ellip 341 <xs:documentation>CSG ellispoid or ellipsoidal shell segment solid described by 386 ax x semiaxis 342 ax x semiaxis 387 by y semiaxis 343 by y semiaxis 388 cz z semiaxis 344 cz z semiaxis 389 zcut1 bottom plane cutting ellips 345 zcut1 bottom plane cutting ellipsoid 390 zcut2 top plane cutting ellispoid 346 zcut2 top plane cutting ellispoid 391 </xs:documentation> 347 </xs:documentation> 392 </xs:annotation> 348 </xs:annotation> 393 <xs:complexType> 349 <xs:complexType> 394 <xs:complexContent> 350 <xs:complexContent> 395 <xs:extension base="SolidType"> 351 <xs:extension base="SolidType"> 396 <xs:attribute name="ax" type="ExpressionOr 352 <xs:attribute name="ax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 397 <xs:attribute name="by" type="ExpressionOr 353 <xs:attribute name="by" type="ExpressionOrIDREFType" use="required"></xs:attribute> 398 <xs:attribute name="cz" type="ExpressionOr 354 <xs:attribute name="cz" type="ExpressionOrIDREFType" use="required"></xs:attribute> 399 <xs:attribute default="-1000000.0" name="z 355 <xs:attribute default="-1000000.0" name="zcut1" type="ExpressionOrIDREFType"></xs:attribute> 400 <xs:attribute default="1000000.0" name="zc 356 <xs:attribute default="1000000.0" name="zcut2" type="ExpressionOrIDREFType"></xs:attribute> 401 </xs:extension> 357 </xs:extension> 402 </xs:complexContent> 358 </xs:complexContent> 403 </xs:complexType> 359 </xs:complexType> 404 </xs:element> 360 </xs:element> 405 <!-- +++++++++++++++++++++++++++++++++++++++ 361 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 406 362 407 <xs:element name="tube" substitutionGroup="S 363 <xs:element name="tube" substitutionGroup="Solid"> 408 <xs:annotation> 364 <xs:annotation> 409 <xs:documentation>CSG tube or tube segem 365 <xs:documentation>CSG tube or tube segement solid described by 410 rmin Inner radius 366 rmin Inner radius 411 rmax Outer radius 367 rmax Outer radius 412 z length in z 368 z length in z 413 startphi The starting phi angle in ra 369 startphi The starting phi angle in radians, adjusted such that 414 (startphi+deltaphi <= 2PI, startphi 370 (startphi+deltaphi <= 2PI, startphi > -2PI) 415 deltaphi Delta angle of the segment i 371 deltaphi Delta angle of the segment in radians</xs:documentation> 416 </xs:annotation> 372 </xs:annotation> 417 <xs:complexType> 373 <xs:complexType> 418 <xs:complexContent> 374 <xs:complexContent> 419 <xs:extension base="SolidType"> 375 <xs:extension base="SolidType"> 420 <xs:attribute name="z" type="ExpressionOrI 376 <xs:attribute name="z" type="ExpressionOrIDREFType"></xs:attribute> 421 <xs:attribute default="0.0" name="rmin" ty 377 <xs:attribute default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> 422 <xs:attribute name="rmax" type="Expression 378 <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 423 <xs:attribute default="0.0" name="startphi 379 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 424 <xs:attribute name="deltaphi" type="Expres 380 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 425 </xs:extension> 381 </xs:extension> 426 </xs:complexContent> 382 </xs:complexContent> 427 </xs:complexType> 383 </xs:complexType> 428 </xs:element> 384 </xs:element> 429 <!-- ++++++++++++++++++++++++++++++++++++++++ 385 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 430 386 431 <xs:element name="twistedtubs" substitutionG 387 <xs:element name="twistedtubs" substitutionGroup="Solid"> 432 <xs:annotation> 388 <xs:annotation> 433 <xs:documentation>CSG twisted tube segme << 389 <xs:documentation>CSG twisted tube segement solid described by 434 twistedangle twist angle (constructors 1,2, << 390 twistedangle twist angle 435 endinnerrad inside radius at end of segment << 391 endinnerrad inside radius at end of segment 436 endouterrad outside radius at end of segment << 392 endouterrad outside radius at end of segment 437 midinnerrad inner radius at z=0 (c << 393 zlen z length of segment 438 midouterrad outer radius at z=0 (c << 394 phi phi angle of a segment </xs:documentation> 439 negativeEndz -ve z endplate (constr << 440 positiveEndz +ve z endplate (constr << 441 zlen z length of segment (constructors 1, << 442 nseg number of segments in << 443 totphi total angle of all seg << 444 phi phi angle of a segment (constructors 1 << 445 </xs:annotation> 395 </xs:annotation> 446 <xs:complexType> 396 <xs:complexType> 447 <xs:complexContent> 397 <xs:complexContent> 448 <xs:extension base="SolidType"> 398 <xs:extension base="SolidType"> 449 <xs:attribute name="twistedangle" type="Ex 399 <xs:attribute name="twistedangle" type="ExpressionOrIDREFType" use="required"></xs:attribute> 450 <xs:attribute default="0.0" name="endinner << 400 <xs:attribute name="endinnerrad" type="ExpressionOrIDREFType" use="required"></xs:attribute> 451 <xs:attribute default="0.0" name="endouter << 401 <xs:attribute name="endouterrad" type="ExpressionOrIDREFType" use="required"></xs:attribute> 452 <xs:attribute default="0.0" name="midinner << 402 <xs:attribute name="zlen" type="ExpressionOrIDREFType" use="required"></xs:attribute> 453 <xs:attribute default="0.0" name="midouter << 403 <xs:attribute name="phi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 454 <xs:attribute default="0.0" name="negative << 455 <xs:attribute default="0.0" name="positive << 456 <xs:attribute default="0.0" name="zlen" ty << 457 <xs:attribute default="0" name="nseg" type << 458 <xs:attribute default="0.0" name="totphi" << 459 <xs:attribute default="0.0" name="phi" typ << 460 </xs:extension> 404 </xs:extension> 461 </xs:complexContent> 405 </xs:complexContent> 462 </xs:complexType> 406 </xs:complexType> 463 </xs:element> 407 </xs:element> 464 <!-- +++++++++++++++++++++++++++++++++++++++ 408 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 465 409 466 <xs:element name="cutTube" substitutionGroup 410 <xs:element name="cutTube" substitutionGroup="Solid"> 467 <xs:annotation> 411 <xs:annotation> 468 <xs:documentation>CSG cut tube or cut tu 412 <xs:documentation>CSG cut tube or cut tube segment solid described by 469 rmin Inner radius 413 rmin Inner radius 470 rmax Outer radius 414 rmax Outer radius 471 z length in z 415 z length in z 472 startphi The starting p 416 startphi The starting phi angle in radians, adjusted such that (startphi+deltaphi <= 2PI, startphi > -2PI) 473 deltaphi Delta angle of 417 deltaphi Delta angle of the segment in radians 474 lowX, lowY, lowZ Normal at lower Z pl 418 lowX, lowY, lowZ Normal at lower Z plane 475 highX, highY, highZ Normal at higher Z p 419 highX, highY, highZ Normal at higher Z plane 476 </xs:documentation> 420 </xs:documentation> 477 </xs:annotation> 421 </xs:annotation> 478 <xs:complexType> 422 <xs:complexType> 479 <xs:complexContent> 423 <xs:complexContent> 480 <xs:extension base="SolidType"> 424 <xs:extension base="SolidType"> 481 <xs:attribute name="z" type="ExpressionOrI 425 <xs:attribute name="z" type="ExpressionOrIDREFType"></xs:attribute> 482 <xs:attribute default="0.0" name="rmin" ty 426 <xs:attribute default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> 483 <xs:attribute name="rmax" type="Expression 427 <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 484 <xs:attribute default="0.0" name="startphi 428 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 485 <xs:attribute name="deltaphi" type="Expres 429 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 486 <xs:attribute name="lowX" type="Expression 430 <xs:attribute name="lowX" type="ExpressionOrIDREFType" use="required"></xs:attribute> 487 <xs:attribute name="lowY" type="Expression 431 <xs:attribute name="lowY" type="ExpressionOrIDREFType" use="required"></xs:attribute> 488 <xs:attribute name="lowZ" type="Expression 432 <xs:attribute name="lowZ" type="ExpressionOrIDREFType" use="required"></xs:attribute> 489 <xs:attribute name="highX" type="Expressio 433 <xs:attribute name="highX" type="ExpressionOrIDREFType" use="required"></xs:attribute> 490 <xs:attribute name="highY" type="Expressio 434 <xs:attribute name="highY" type="ExpressionOrIDREFType" use="required"></xs:attribute> 491 <xs:attribute name="highZ" type="Expressio 435 <xs:attribute name="highZ" type="ExpressionOrIDREFType" use="required"></xs:attribute> 492 </xs:extension> 436 </xs:extension> 493 </xs:complexContent> 437 </xs:complexContent> 494 </xs:complexType> 438 </xs:complexType> 495 </xs:element> 439 </xs:element> 496 <!-- +++++++++++++++++++++++++++++++++++++++ 440 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 497 441 498 <xs:element name="cone" substitutionGroup="S 442 <xs:element name="cone" substitutionGroup="Solid"> 499 <xs:annotation> 443 <xs:annotation> 500 <xs:documentation>CSG cone or cone segme 444 <xs:documentation>CSG cone or cone segment described by 501 rmin1 inside radius at z/2 445 rmin1 inside radius at z/2 502 rmin2 inside radius at z/2 446 rmin2 inside radius at z/2 503 rmax1 outside radius at z/2 447 rmax1 outside radius at z/2 504 rmax2 outside radius at z/2 448 rmax2 outside radius at z/2 505 z length in z 449 z length in z 506 startphi starting angle of the segment 450 startphi starting angle of the segment in radians 507 deltaphi delta angle of the segment in 451 deltaphi delta angle of the segment in radians</xs:documentation> 508 </xs:annotation> 452 </xs:annotation> 509 <xs:complexType> 453 <xs:complexType> 510 <xs:complexContent> 454 <xs:complexContent> 511 <xs:extension base="SolidType"> 455 <xs:extension base="SolidType"> 512 <xs:attribute name="z" type="ExpressionOrI 456 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 513 <xs:attribute default="0.0" name="rmin1" t 457 <xs:attribute default="0.0" name="rmin1" type="ExpressionOrIDREFType"></xs:attribute> 514 <xs:attribute default="0.0" name="rmin2" t 458 <xs:attribute default="0.0" name="rmin2" type="ExpressionOrIDREFType"></xs:attribute> 515 <xs:attribute name="rmax1" type="Expressio 459 <xs:attribute name="rmax1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 516 <xs:attribute name="rmax2" type="Expressio 460 <xs:attribute name="rmax2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 517 <xs:attribute default="0.0" name="startphi 461 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 518 <xs:attribute name="deltaphi" type="Expres 462 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 519 </xs:extension> 463 </xs:extension> 520 </xs:complexContent> 464 </xs:complexContent> 521 </xs:complexType> 465 </xs:complexType> 522 </xs:element> 466 </xs:element> 523 <!-- +++++++++++++++++++++++++++++++++++++++ 467 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 524 468 525 <xs:element name="elcone" substitutionGroup= 469 <xs:element name="elcone" substitutionGroup="Solid"> 526 <xs:annotation> 470 <xs:annotation> 527 <xs:documentation>CSG cone with ellipti 471 <xs:documentation>CSG cone with elliptical cross section 528 dx semiaxis in X 472 dx semiaxis in X 529 dy semiaxis in Y 473 dy semiaxis in Y 530 zmax height of elliptical cone 474 zmax height of elliptical cone 531 zcut upper cut plane level 475 zcut upper cut plane level 532 </xs:documentation> 476 </xs:documentation> 533 </xs:annotation> 477 </xs:annotation> 534 <xs:complexType> 478 <xs:complexType> 535 <xs:complexContent> 479 <xs:complexContent> 536 <xs:extension base="SolidType"> 480 <xs:extension base="SolidType"> 537 <xs:attribute name="dx" type="ExpressionOr 481 <xs:attribute name="dx" type="ExpressionOrIDREFType"></xs:attribute> 538 <xs:attribute name="dy" type="ExpressionOr 482 <xs:attribute name="dy" type="ExpressionOrIDREFType"></xs:attribute> 539 <xs:attribute name="zmax" type="Expression 483 <xs:attribute name="zmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 540 <xs:attribute name="zcut" type="Expression 484 <xs:attribute name="zcut" type="ExpressionOrIDREFType" use="required"></xs:attribute> 541 </xs:extension> 485 </xs:extension> 542 </xs:complexContent> 486 </xs:complexContent> 543 </xs:complexType> 487 </xs:complexType> 544 </xs:element> 488 </xs:element> 545 <!-- +++++++++++++++++++++++++++++++++++++++ 489 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 546 490 547 <xs:element name="polycone" substitutionGrou 491 <xs:element name="polycone" substitutionGroup="Solid"> 548 <xs:annotation> 492 <xs:annotation> 549 <xs:documentation>CSG polycone or polyco 493 <xs:documentation>CSG polycone or polycone segment described by 550 startphi starting angle of the segment 494 startphi starting angle of the segment in radians 551 deltaphi delta angle of the segment in 495 deltaphi delta angle of the segment in radians 552 496 553 and a set of z-planes each described by 497 and a set of z-planes each described by 554 rmin inside radius at z/2 498 rmin inside radius at z/2 555 rmax outside radius at z/2 499 rmax outside radius at z/2 556 z length in z 500 z length in z 557 </xs:documentation> 501 </xs:documentation> 558 </xs:annotation> 502 </xs:annotation> 559 <xs:complexType> 503 <xs:complexType> 560 <xs:complexContent> 504 <xs:complexContent> 561 <xs:extension base="SolidType"> 505 <xs:extension base="SolidType"> 562 <xs:sequence> 506 <xs:sequence> 563 <xs:element name="zplane" minOccurs="1" 507 <xs:element name="zplane" minOccurs="1" maxOccurs="unbounded" type="ZPlaneType"/> 564 </xs:sequence> 508 </xs:sequence> 565 <xs:attribute name="deltaphi" type="Expres 509 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 566 <xs:attribute default="0.0" name="startphi 510 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 567 </xs:extension> 511 </xs:extension> 568 </xs:complexContent> 512 </xs:complexContent> 569 </xs:complexType> 513 </xs:complexType> 570 </xs:element> 514 </xs:element> 571 <!-- +++++++++++++ --> 515 <!-- +++++++++++++ --> 572 <xs:complexType name="ZPlaneType"> 516 <xs:complexType name="ZPlaneType"> 573 <xs:attribute name="z" type="ExpressionOrI 517 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 574 <xs:attribute default="0.0" name="rmin" ty 518 <xs:attribute default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> 575 <xs:attribute name="rmax" type="Expression 519 <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 576 </xs:complexType> 520 </xs:complexType> 577 521 578 <!-- ++++++++++++++++++++++++++++++++++++++++ 522 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 579 523 580 <xs:element name="genericPolycone" substitut 524 <xs:element name="genericPolycone" substitutionGroup="Solid"> 581 <xs:annotation> 525 <xs:annotation> 582 <xs:documentation>Generic polycone or po 526 <xs:documentation>Generic polycone or polycone segment described by 583 startphi starting angle of the segment 527 startphi starting angle of the segment in radians 584 deltaphi delta angle of the segment in 528 deltaphi delta angle of the segment in radians 585 and a set of points with (r,z)coordinates 529 and a set of points with (r,z)coordinates 586 </xs:documentation> 530 </xs:documentation> 587 </xs:annotation> 531 </xs:annotation> 588 <xs:complexType> 532 <xs:complexType> 589 <xs:complexContent> 533 <xs:complexContent> 590 <xs:extension base="SolidType"> 534 <xs:extension base="SolidType"> 591 <xs:sequence> 535 <xs:sequence> 592 <xs:element name="rzpoint" minOccurs="3" 536 <xs:element name="rzpoint" minOccurs="3" maxOccurs="unbounded" type="RZPointType"/> 593 </xs:sequence> 537 </xs:sequence> 594 <xs:attribute name="deltaphi" type="Expres 538 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 595 <xs:attribute default="0.0" name="startphi 539 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 596 </xs:extension> 540 </xs:extension> 597 </xs:complexContent> 541 </xs:complexContent> 598 </xs:complexType> 542 </xs:complexType> 599 </xs:element> 543 </xs:element> 600 <!-- +++++++++++++ --> 544 <!-- +++++++++++++ --> 601 <xs:complexType name="RZPointType"> 545 <xs:complexType name="RZPointType"> 602 <xs:attribute name="r" type="ExpressionOrI 546 <xs:attribute name="r" type="ExpressionOrIDREFType" use="required"></xs:attribute> 603 <xs:attribute name="z" type="ExpressionOrI 547 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 604 </xs:complexType> 548 </xs:complexType> 605 549 606 <!-- +++++++++++++++++++++++++++++++++++++++ 550 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 607 551 608 <xs:element name="para" substitutionGroup="S 552 <xs:element name="para" substitutionGroup="Solid"> 609 <xs:annotation> 553 <xs:annotation> 610 <xs:documentation>CSG parallelepiped sol 554 <xs:documentation>CSG parallelepiped solid is described by 611 x, y, z length in x,y,z 555 x, y, z length in x,y,z 612 alpha Angle formed by the y axis an 556 alpha Angle formed by the y axis and by the plane joining the centre of the faces 613 G4Parallel to the z-x plane at -y and 557 G4Parallel to the z-x plane at -y and +y 614 theta Polar angle of the line joini 558 theta Polar angle of the line joining the centres of the faces at -z and +z in z 615 phi Azimuthal angle of the line j 559 phi Azimuthal angle of the line joining the centres of the faces at -z and +z in z</xs:documentation> 616 </xs:annotation> 560 </xs:annotation> 617 <xs:complexType> 561 <xs:complexType> 618 <xs:complexContent> 562 <xs:complexContent> 619 <xs:extension base="SolidType"> 563 <xs:extension base="SolidType"> 620 <xs:attribute name="x" type="ExpressionOrI 564 <xs:attribute name="x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 621 <xs:attribute name="y" type="ExpressionOrI 565 <xs:attribute name="y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 622 <xs:attribute name="z" type="ExpressionOrI 566 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 623 <xs:attribute name="alpha" type="Expressio 567 <xs:attribute name="alpha" type="ExpressionOrIDREFType" use="required"></xs:attribute> 624 <xs:attribute name="theta" type="Expressio 568 <xs:attribute name="theta" type="ExpressionOrIDREFType" use="required"></xs:attribute> 625 <xs:attribute name="phi" type="ExpressionO 569 <xs:attribute name="phi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 626 </xs:extension> 570 </xs:extension> 627 </xs:complexContent> 571 </xs:complexContent> 628 </xs:complexType> 572 </xs:complexType> 629 </xs:element> 573 </xs:element> 630 <!-- +++++++++++++++++++++++++++++++++++++++ 574 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 631 575 632 <xs:element name="trd" substitutionGroup="So 576 <xs:element name="trd" substitutionGroup="Solid"> 633 <xs:annotation> 577 <xs:annotation> 634 <xs:documentation>CSG trapezoid solid wi 578 <xs:documentation>CSG trapezoid solid with varying x and y dimensions along z axis 635 x1 Length along x at the surface posit 579 x1 Length along x at the surface positioned at -z 636 x2 Length along x at the surface posit 580 x2 Length along x at the surface positioned at +z 637 y1 Length along y at the surface posit 581 y1 Length along y at the surface positioned at -z 638 y2 Length along y at the surface posit 582 y2 Length along y at the surface positioned at +z 639 z Length along z axis</xs:documentati 583 z Length along z axis</xs:documentation> 640 </xs:annotation> 584 </xs:annotation> 641 <xs:complexType> 585 <xs:complexType> 642 <xs:complexContent> 586 <xs:complexContent> 643 <xs:extension base="SolidType"> 587 <xs:extension base="SolidType"> 644 <xs:attribute name="x1" type="ExpressionOr 588 <xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 645 <xs:attribute name="x2" type="ExpressionOr 589 <xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 646 <xs:attribute name="y1" type="ExpressionOr 590 <xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 647 <xs:attribute name="y2" type="ExpressionOr 591 <xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 648 <xs:attribute name="z" type="ExpressionOrI 592 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 649 </xs:extension> 593 </xs:extension> 650 </xs:complexContent> 594 </xs:complexContent> 651 </xs:complexType> 595 </xs:complexType> 652 </xs:element> 596 </xs:element> 653 <!-- +++++++++++++++++++++++++++++++++++++++ 597 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 654 598 655 <xs:element name="trap" substitutionGroup="S 599 <xs:element name="trap" substitutionGroup="Solid"> 656 <xs:annotation> 600 <xs:annotation> 657 <xs:documentation>CSG general trapezoid 601 <xs:documentation>CSG general trapezoid solid is described by 658 z Length along the z-axis 602 z Length along the z-axis 659 theta Polar angle of the line joining 603 theta Polar angle of the line joining the centres of the faces at -/+z 660 phi Azimuthal angle of the line joi 604 phi Azimuthal angle of the line joing the centre of the face at -z to the centre of the face at +z 661 y1 Length along y of the face at - 605 y1 Length along y of the face at -z 662 x1 Length along x of the side at y 606 x1 Length along x of the side at y = -y1 of the face at -z 663 x2 Length along x of the side at y 607 x2 Length along x of the side at y = +y1 of the face at -z 664 alp1 Angle with respect to the y axi 608 alp1 Angle with respect to the y axis from the centre of the side at y =- y1 to the centre at y = +y1 of the face at -z 665 y2 Length along y of the face at + 609 y2 Length along y of the face at +z 666 x3 Length along x of the side at y 610 x3 Length along x of the side at y = -y2 of the face at +z 667 x4 Length along x of the side at y 611 x4 Length along x of the side at y = +y2 of the face at +z 668 alp2 Angle with respect to the y axi 612 alp2 Angle with respect to the y axis from the centre of the side at y = -y2 to the centre at y = +y2 of the face at +z</xs:documentation> 669 </xs:annotation> 613 </xs:annotation> 670 <xs:complexType> 614 <xs:complexType> 671 <xs:complexContent> 615 <xs:complexContent> 672 <xs:extension base="SolidType"> 616 <xs:extension base="SolidType"> 673 <xs:attribute name="z" type="ExpressionOrI 617 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 674 <xs:attribute name="theta" type="Expressio 618 <xs:attribute name="theta" type="ExpressionOrIDREFType" use="required"></xs:attribute> 675 <xs:attribute name="phi" type="ExpressionO 619 <xs:attribute name="phi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 676 <xs:attribute name="y1" type="ExpressionOr 620 <xs:attribute name="y1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 677 <xs:attribute name="x1" type="ExpressionOr 621 <xs:attribute name="x1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 678 <xs:attribute name="x2" type="ExpressionOr 622 <xs:attribute name="x2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 679 <xs:attribute name="alpha1" type="Expressi 623 <xs:attribute name="alpha1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 680 <xs:attribute name="y2" type="ExpressionOr 624 <xs:attribute name="y2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 681 <xs:attribute name="x3" type="ExpressionOr 625 <xs:attribute name="x3" type="ExpressionOrIDREFType" use="required"></xs:attribute> 682 <xs:attribute name="x4" type="ExpressionOr 626 <xs:attribute name="x4" type="ExpressionOrIDREFType" use="required"></xs:attribute> 683 <xs:attribute name="alpha2" type="Expressi 627 <xs:attribute name="alpha2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 684 </xs:extension> 628 </xs:extension> 685 </xs:complexContent> 629 </xs:complexContent> 686 </xs:complexType> 630 </xs:complexType> 687 </xs:element> 631 </xs:element> 688 <!-- +++++++++++++++++++++++++++++++++++++++ 632 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 689 633 690 <xs:element name="torus" substitutionGroup=" 634 <xs:element name="torus" substitutionGroup="Solid"> 691 <xs:annotation> 635 <xs:annotation> 692 <xs:documentation>CSG torus solid is des 636 <xs:documentation>CSG torus solid is described by 693 rmin Inside radius 637 rmin Inside radius 694 rmax Outside radius 638 rmax Outside radius 695 rtor swept radius of torus 639 rtor swept radius of torus 696 startphi The starting phi angle in radians 640 startphi The starting phi angle in radians adjusted such that sphi+dphi lt 2PI, sphi gt -2PI 697 deltaphi Delta angle of the segment in radi 641 deltaphi Delta angle of the segment in radians 698 </xs:documentation> 642 </xs:documentation> 699 </xs:annotation> 643 </xs:annotation> 700 <xs:complexType> 644 <xs:complexType> 701 <xs:complexContent> 645 <xs:complexContent> 702 <xs:extension base="SolidType"> 646 <xs:extension base="SolidType"> 703 <xs:attribute name="rmin" type="Expression 647 <xs:attribute name="rmin" type="ExpressionOrIDREFType" use="required"></xs:attribute> 704 <xs:attribute name="rmax" type="Expression 648 <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 705 <xs:attribute name="rtor" type="Expression 649 <xs:attribute name="rtor" type="ExpressionOrIDREFType" use="required"></xs:attribute> 706 <xs:attribute name="startphi" type="Expres 650 <xs:attribute name="startphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 707 <xs:attribute name="deltaphi" type="Expres 651 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 708 </xs:extension> 652 </xs:extension> 709 </xs:complexContent> 653 </xs:complexContent> 710 </xs:complexType> 654 </xs:complexType> 711 </xs:element> 655 </xs:element> 712 <!-- +++++++++++++++++++++++++++++++++++++++ 656 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 713 657 714 <xs:element name="orb" substitutionGroup="So 658 <xs:element name="orb" substitutionGroup="Solid"> 715 <xs:annotation> 659 <xs:annotation> 716 <xs:documentation>CSG orb solid (simplif 660 <xs:documentation>CSG orb solid (simplified sphere with only rmax) is described by 717 r Outside radius</xs:documentation> 661 r Outside radius</xs:documentation> 718 </xs:annotation> 662 </xs:annotation> 719 <xs:complexType> 663 <xs:complexType> 720 <xs:complexContent> 664 <xs:complexContent> 721 <xs:extension base="SolidType"> 665 <xs:extension base="SolidType"> 722 <xs:attribute name="r" type="ExpressionOrI 666 <xs:attribute name="r" type="ExpressionOrIDREFType" use="required"></xs:attribute> 723 </xs:extension> 667 </xs:extension> 724 </xs:complexContent> 668 </xs:complexContent> 725 </xs:complexType> 669 </xs:complexType> 726 </xs:element> 670 </xs:element> 727 <!-- +++++++++++++++++++++++++++++++++++++++ 671 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 728 672 729 <xs:element name="polyhedra" substitutionGro 673 <xs:element name="polyhedra" substitutionGroup="Solid"> 730 <xs:annotation> 674 <xs:annotation> 731 <xs:documentation>Polyhedra is described 675 <xs:documentation>Polyhedra is described by 732 startphi initial phi starting angle 676 startphi initial phi starting angle 733 totalphi total phi angle 677 totalphi total phi angle 734 numsides number sides 678 numsides number sides 735 and a set of zplanes.</xs:documentation> 679 and a set of zplanes.</xs:documentation> 736 </xs:annotation> 680 </xs:annotation> 737 <xs:complexType> 681 <xs:complexType> 738 <xs:complexContent> 682 <xs:complexContent> 739 <xs:extension base="SolidType"> 683 <xs:extension base="SolidType"> 740 <xs:sequence> 684 <xs:sequence> 741 <xs:element name="zplane" minOccurs="1" 685 <xs:element name="zplane" minOccurs="1" maxOccurs="unbounded" type="ZPlaneType"/> 742 </xs:sequence> 686 </xs:sequence> 743 687 744 <xs:attribute name="startphi" type="Expres 688 <xs:attribute name="startphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 745 <xs:attribute name="deltaphi" type="Expres 689 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 746 <xs:attribute name="numsides" type="Expres 690 <xs:attribute name="numsides" type="ExpressionOrIDREFType" use="required"></xs:attribute> 747 </xs:extension> 691 </xs:extension> 748 </xs:complexContent> 692 </xs:complexContent> 749 </xs:complexType> 693 </xs:complexType> 750 </xs:element> 694 </xs:element> 751 <!-- +++++++++++++++++++++++++++++++++++++++ 695 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 752 696 753 <xs:element name="genericPolyhedra" substitu 697 <xs:element name="genericPolyhedra" substitutionGroup="Solid"> 754 <xs:annotation> 698 <xs:annotation> 755 <xs:documentation>Polyhedra is described 699 <xs:documentation>Polyhedra is described by 756 startphi initial phi starting angle 700 startphi initial phi starting angle 757 totalphi total phi angle 701 totalphi total phi angle 758 numsides number sides 702 numsides number sides 759 and a set of points with (r,z) coordinates.< 703 and a set of points with (r,z) coordinates.</xs:documentation> 760 </xs:annotation> 704 </xs:annotation> 761 <xs:complexType> 705 <xs:complexType> 762 <xs:complexContent> 706 <xs:complexContent> 763 <xs:extension base="SolidType"> 707 <xs:extension base="SolidType"> 764 <xs:sequence> 708 <xs:sequence> 765 <xs:element name="rzpoint" minOccurs="3" 709 <xs:element name="rzpoint" minOccurs="3" maxOccurs="unbounded" type="RZPointType"/> 766 </xs:sequence> 710 </xs:sequence> 767 711 768 <xs:attribute name="startphi" type="Expres 712 <xs:attribute name="startphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 769 <xs:attribute name="deltaphi" type="Expres 713 <xs:attribute name="deltaphi" type="ExpressionOrIDREFType" use="required"></xs:attribute> 770 <xs:attribute name="numsides" type="Expres 714 <xs:attribute name="numsides" type="ExpressionOrIDREFType" use="required"></xs:attribute> 771 </xs:extension> 715 </xs:extension> 772 </xs:complexContent> 716 </xs:complexContent> 773 </xs:complexType> 717 </xs:complexType> 774 </xs:element> 718 </xs:element> 775 <!-- +++++++++++++++++++++++++++++++++++++++ 719 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 776 720 777 <xs:complexType name="TwoDimVertexType"> 721 <xs:complexType name="TwoDimVertexType"> 778 <xs:attribute name="x" type="ExpressionOrI 722 <xs:attribute name="x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 779 <xs:attribute name="y" type="ExpressionOrI 723 <xs:attribute name="y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 780 </xs:complexType> 724 </xs:complexType> 781 725 782 <!-- +++++++++++++++++++++++++++++++++++++++ 726 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 783 727 784 <xs:complexType name="SectionType"> 728 <xs:complexType name="SectionType"> 785 <xs:attribute name="zOrder" type="Expressi 729 <xs:attribute name="zOrder" type="ExpressionOrIDREFType" use="required"></xs:attribute> 786 <xs:attribute name="zPosition" type="Expre 730 <xs:attribute name="zPosition" type="ExpressionOrIDREFType" use="required"></xs:attribute> 787 <xs:attribute name="xOffset" type="Express 731 <xs:attribute name="xOffset" type="ExpressionOrIDREFType" use="required"></xs:attribute> 788 <xs:attribute name="yOffset" type="Express 732 <xs:attribute name="yOffset" type="ExpressionOrIDREFType" use="required"></xs:attribute> 789 <xs:attribute name="scalingFactor" type="E 733 <xs:attribute name="scalingFactor" type="ExpressionOrIDREFType" use="required"></xs:attribute> 790 </xs:complexType> 734 </xs:complexType> 791 <!-- +++++++++++++++++++++++++++++++++++++++ 735 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 792 736 793 <xs:element name="xtru" substitutionGroup="S 737 <xs:element name="xtru" substitutionGroup="Solid"> 794 <xs:annotation> 738 <xs:annotation> 795 <xs:documentation>Poligonal extrusion is 739 <xs:documentation>Poligonal extrusion is described by 796 an unbounded (min. 3) number of vertices of 740 an unbounded (min. 3) number of vertices of the blueprint polygon 797 and an unbounded number of Z sections. 741 and an unbounded number of Z sections. 798 </xs:documentation> 742 </xs:documentation> 799 </xs:annotation> 743 </xs:annotation> 800 <xs:complexType> 744 <xs:complexType> 801 <xs:complexContent> 745 <xs:complexContent> 802 <xs:extension base="SolidType"> 746 <xs:extension base="SolidType"> 803 <xs:sequence> 747 <xs:sequence> 804 <xs:sequence> 748 <xs:sequence> 805 <xs:element name="twoDimVertex" minOcc 749 <xs:element name="twoDimVertex" minOccurs="3" maxOccurs="unbounded" type="TwoDimVertexType"/> 806 </xs:sequence> 750 </xs:sequence> 807 <xs:sequence> 751 <xs:sequence> 808 <xs:element name="section" minOccurs=" 752 <xs:element name="section" minOccurs="2" maxOccurs="unbounded" type="SectionType"/> 809 </xs:sequence> 753 </xs:sequence> 810 </xs:sequence> 754 </xs:sequence> 811 </xs:extension> 755 </xs:extension> 812 </xs:complexContent> 756 </xs:complexContent> 813 </xs:complexType> 757 </xs:complexType> 814 </xs:element> 758 </xs:element> 815 <!-- +++++++++++++++++++++++++++++++++++++++ 759 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 816 760 817 <xs:element name="hype" substitutionGroup="S 761 <xs:element name="hype" substitutionGroup="Solid"> 818 <xs:annotation> 762 <xs:annotation> 819 <xs:documentation>Tube with hyperbolic p 763 <xs:documentation>Tube with hyperbolic profile described by 820 rmin innerRadius 764 rmin innerRadius 821 rmax outerRadius 765 rmax outerRadius 822 inst innerStereo 766 inst innerStereo 823 outst outerStereo 767 outst outerStereo 824 z z length 768 z z length 825 </xs:documentation> 769 </xs:documentation> 826 </xs:annotation> 770 </xs:annotation> 827 <xs:complexType> 771 <xs:complexType> 828 <xs:complexContent> 772 <xs:complexContent> 829 <xs:extension base="SolidType"> 773 <xs:extension base="SolidType"> 830 <xs:attribute name="rmin" type="Expression 774 <xs:attribute name="rmin" type="ExpressionOrIDREFType" use="required"></xs:attribute> 831 <xs:attribute name="rmax" type="Expression 775 <xs:attribute name="rmax" type="ExpressionOrIDREFType" use="required"></xs:attribute> 832 <xs:attribute name="inst" type="Expression 776 <xs:attribute name="inst" type="ExpressionOrIDREFType" use="required"></xs:attribute> 833 <xs:attribute name="outst" type="Expressio 777 <xs:attribute name="outst" type="ExpressionOrIDREFType" use="required"></xs:attribute> 834 <xs:attribute name="z" type="ExpressionOrI 778 <xs:attribute name="z" type="ExpressionOrIDREFType" use="required"></xs:attribute> 835 </xs:extension> 779 </xs:extension> 836 </xs:complexContent> 780 </xs:complexContent> 837 </xs:complexType> 781 </xs:complexType> 838 </xs:element> 782 </xs:element> 839 <!-- +++++++++++++++++++++++++++++++++++++++ 783 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 840 784 841 <xs:element name="eltube" substitutionGroup= 785 <xs:element name="eltube" substitutionGroup="Solid"> 842 <xs:annotation> 786 <xs:annotation> 843 <xs:documentation> 787 <xs:documentation> 844 Volume representing a tube with elliptical 788 Volume representing a tube with elliptical 845 cross section. 789 cross section. 846 </xs:documentation> 790 </xs:documentation> 847 </xs:annotation> 791 </xs:annotation> 848 <xs:complexType> 792 <xs:complexType> 849 <xs:complexContent> 793 <xs:complexContent> 850 <xs:extension base="SolidType"> 794 <xs:extension base="SolidType"> 851 <xs:attribute name="dx" type="ExpressionOr 795 <xs:attribute name="dx" type="ExpressionOrIDREFType" use="required"></xs:attribute> 852 <xs:attribute name="dy" type="ExpressionOr 796 <xs:attribute name="dy" type="ExpressionOrIDREFType" use="required"></xs:attribute> 853 <xs:attribute name="dz" type="ExpressionOr 797 <xs:attribute name="dz" type="ExpressionOrIDREFType" use="required"></xs:attribute> 854 </xs:extension> 798 </xs:extension> 855 </xs:complexContent> 799 </xs:complexContent> 856 </xs:complexType> 800 </xs:complexType> 857 </xs:element> 801 </xs:element> 858 <!-- +++++++++++++++++++++++++++++++++++++++ 802 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 859 803 860 <xs:element name="tet" substitutionGroup="So 804 <xs:element name="tet" substitutionGroup="Solid"> 861 <xs:annotation> 805 <xs:annotation> 862 <xs:documentation> 806 <xs:documentation> 863 Volume representing a tetrahedron. 807 Volume representing a tetrahedron. 864 </xs:documentation> 808 </xs:documentation> 865 </xs:annotation> 809 </xs:annotation> 866 <xs:complexType> 810 <xs:complexType> 867 <xs:complexContent> 811 <xs:complexContent> 868 <xs:extension base="SolidType"> 812 <xs:extension base="SolidType"> 869 <xs:attribute name="vertex1" type="Expressi 813 <xs:attribute name="vertex1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 870 <xs:attribute name="vertex2" type="Expressi 814 <xs:attribute name="vertex2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 871 <xs:attribute name="vertex3" type="Expressi 815 <xs:attribute name="vertex3" type="ExpressionOrIDREFType" use="required"></xs:attribute> 872 <xs:attribute name="vertex4" type="Expressi 816 <xs:attribute name="vertex4" type="ExpressionOrIDREFType" use="required"></xs:attribute> 873 </xs:extension> 817 </xs:extension> 874 </xs:complexContent> 818 </xs:complexContent> 875 </xs:complexType> 819 </xs:complexType> 876 </xs:element> 820 </xs:element> 877 <!-- +++++++++++++++++++++++++++++++++++++++ 821 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 878 822 879 <xs:element name="arb8" substitutionGroup="S 823 <xs:element name="arb8" substitutionGroup="Solid"> 880 <xs:annotation> 824 <xs:annotation> 881 <xs:documentation> 825 <xs:documentation> 882 Volume representing an (almost)arbitrary 8 v 826 Volume representing an (almost)arbitrary 8 vertices solid. 883 The solid is defined by two quadrilaterals s 827 The solid is defined by two quadrilaterals sitting on parallel planes, 884 the distance between these two planes is dz* 828 the distance between these two planes is dz*2. 885 The base quadrilateral contained within the 829 The base quadrilateral contained within the plane located at -dz is defined by 886 the first 4 vertices (v1,v2,v3,v4 each one w 830 the first 4 vertices (v1,v2,v3,v4 each one with the x and y coordinates). 887 The other parallel quadrilateral contained w 831 The other parallel quadrilateral contained within the plane at +dz is defined by 888 the other 4 vertices (v5,v6,v7,v8 each one w 832 the other 4 vertices (v5,v6,v7,v8 each one with the x and y coordinates). 889 </xs:documentation> 833 </xs:documentation> 890 </xs:annotation> 834 </xs:annotation> 891 <xs:complexType> 835 <xs:complexType> 892 <xs:complexContent> 836 <xs:complexContent> 893 <xs:extension base="SolidType"> 837 <xs:extension base="SolidType"> 894 <xs:attribute name="v1x" type="ExpressionOr 838 <xs:attribute name="v1x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 895 <xs:attribute name="v1y" type="ExpressionOr 839 <xs:attribute name="v1y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 896 <xs:attribute name="v2x" type="ExpressionOr 840 <xs:attribute name="v2x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 897 <xs:attribute name="v2y" type="ExpressionOr 841 <xs:attribute name="v2y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 898 <xs:attribute name="v3x" type="ExpressionOr 842 <xs:attribute name="v3x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 899 <xs:attribute name="v3y" type="ExpressionOr 843 <xs:attribute name="v3y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 900 <xs:attribute name="v4x" type="ExpressionOr 844 <xs:attribute name="v4x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 901 <xs:attribute name="v4y" type="ExpressionOr 845 <xs:attribute name="v4y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 902 <xs:attribute name="v5x" type="ExpressionOr 846 <xs:attribute name="v5x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 903 <xs:attribute name="v5y" type="ExpressionOr 847 <xs:attribute name="v5y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 904 <xs:attribute name="v6x" type="ExpressionOr 848 <xs:attribute name="v6x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 905 <xs:attribute name="v6y" type="ExpressionOr 849 <xs:attribute name="v6y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 906 <xs:attribute name="v7x" type="ExpressionOr 850 <xs:attribute name="v7x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 907 <xs:attribute name="v7y" type="ExpressionOr 851 <xs:attribute name="v7y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 908 <xs:attribute name="v8x" type="ExpressionOr 852 <xs:attribute name="v8x" type="ExpressionOrIDREFType" use="required"></xs:attribute> 909 <xs:attribute name="v8y" type="ExpressionOr 853 <xs:attribute name="v8y" type="ExpressionOrIDREFType" use="required"></xs:attribute> 910 <xs:attribute name="dz" type="ExpressionOrI 854 <xs:attribute name="dz" type="ExpressionOrIDREFType" use="required"></xs:attribute> 911 </xs:extension> 855 </xs:extension> 912 </xs:complexContent> 856 </xs:complexContent> 913 </xs:complexType> 857 </xs:complexType> 914 </xs:element> 858 </xs:element> 915 <!-- +++++++++++++++++++++++++++++++++++++++ 859 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 916 860 917 <!-- Tessellated solid elements --> 861 <!-- Tessellated solid elements --> 918 862 919 <!-- +++++++++++++++++++++++++++++++++++++++ 863 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 920 864 921 <xs:complexType name="FacetType"> 865 <xs:complexType name="FacetType"> 922 <xs:annotation> 866 <xs:annotation> 923 <xs:documentation>Base facet type</xs:do 867 <xs:documentation>Base facet type</xs:documentation> 924 </xs:annotation> 868 </xs:annotation> 925 </xs:complexType> 869 </xs:complexType> 926 <!-- +++++++++++++++++++++++++++++++++++++++ 870 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 927 871 928 <xs:element abstract="true" name="Facet" typ 872 <xs:element abstract="true" name="Facet" type="FacetType"> 929 <xs:annotation> 873 <xs:annotation> 930 <xs:documentation>Abstract element for a 874 <xs:documentation>Abstract element for all facets substitution group</xs:documentation> 931 </xs:annotation> 875 </xs:annotation> 932 </xs:element> 876 </xs:element> 933 <!-- +++++++++++++++++++++++++++++++++++++++ 877 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 934 878 935 <xs:element name="triangular" substitutionGr 879 <xs:element name="triangular" substitutionGroup="Facet"> 936 <xs:annotation> 880 <xs:annotation> 937 <xs:documentation> 881 <xs:documentation> 938 Triangular facet. 882 Triangular facet. 939 </xs:documentation> 883 </xs:documentation> 940 </xs:annotation> 884 </xs:annotation> 941 <xs:complexType> 885 <xs:complexType> 942 <xs:complexContent> 886 <xs:complexContent> 943 <xs:extension base="FacetType"> 887 <xs:extension base="FacetType"> 944 <xs:attribute name="vertex1" type="Expressio 888 <xs:attribute name="vertex1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 945 <xs:attribute name="vertex2" type="Expressio 889 <xs:attribute name="vertex2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 946 <xs:attribute name="vertex3" type="Expressio 890 <xs:attribute name="vertex3" type="ExpressionOrIDREFType" use="required"></xs:attribute> 947 <xs:attribute name="type" type="xs:string" d 891 <xs:attribute name="type" type="xs:string" default="ABSOLUTE"></xs:attribute> 948 </xs:extension> 892 </xs:extension> 949 </xs:complexContent> 893 </xs:complexContent> 950 </xs:complexType> 894 </xs:complexType> 951 </xs:element> 895 </xs:element> 952 896 953 <!-- +++++++++++++++++++++++++++++++++++++++ 897 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 954 898 955 <xs:element name="quadrangular" substitution 899 <xs:element name="quadrangular" substitutionGroup="Facet"> 956 <xs:annotation> 900 <xs:annotation> 957 <xs:documentation> 901 <xs:documentation> 958 Quadrangular facet. 902 Quadrangular facet. 959 </xs:documentation> 903 </xs:documentation> 960 </xs:annotation> 904 </xs:annotation> 961 <xs:complexType> 905 <xs:complexType> 962 <xs:complexContent> 906 <xs:complexContent> 963 <xs:extension base="FacetType"> 907 <xs:extension base="FacetType"> 964 <xs:attribute name="vertex1" type="Expressio 908 <xs:attribute name="vertex1" type="ExpressionOrIDREFType" use="required"></xs:attribute> 965 <xs:attribute name="vertex2" type="Expressio 909 <xs:attribute name="vertex2" type="ExpressionOrIDREFType" use="required"></xs:attribute> 966 <xs:attribute name="vertex3" type="Expressio 910 <xs:attribute name="vertex3" type="ExpressionOrIDREFType" use="required"></xs:attribute> 967 <xs:attribute name="vertex4" type="Expressio 911 <xs:attribute name="vertex4" type="ExpressionOrIDREFType" use="required"></xs:attribute> 968 <xs:attribute name="type" type="xs:string" d 912 <xs:attribute name="type" type="xs:string" default="ABSOLUTE"></xs:attribute> 969 </xs:extension> 913 </xs:extension> 970 </xs:complexContent> 914 </xs:complexContent> 971 </xs:complexType> 915 </xs:complexType> 972 </xs:element> 916 </xs:element> 973 <!-- +++++++++++++++++++++++++++++++++++++++ 917 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 974 918 975 <xs:element name="tessellated" substitutionG 919 <xs:element name="tessellated" substitutionGroup="Solid"> 976 <xs:annotation> 920 <xs:annotation> 977 <xs:documentation>Tessellated solid 921 <xs:documentation>Tessellated solid 978 </xs:documentation> 922 </xs:documentation> 979 </xs:annotation> 923 </xs:annotation> 980 <xs:complexType> 924 <xs:complexType> 981 <xs:complexContent> 925 <xs:complexContent> 982 <xs:extension base="SolidType"> 926 <xs:extension base="SolidType"> 983 <xs:sequence> 927 <xs:sequence> 984 <xs:element minOccurs="1" maxOccurs="unb << 928 <xs:element name="Facet" minOccurs="1" maxOccurs="unbounded" type="FacetType"/> 985 </xs:sequence> 929 </xs:sequence> 986 </xs:extension> 930 </xs:extension> 987 </xs:complexContent> 931 </xs:complexContent> 988 </xs:complexType> 932 </xs:complexType> 989 </xs:element> 933 </xs:element> 990 <!-- +++++++++++++++++++++++++++++++++++++++ << 934 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 991 << 935 992 <xs:element name="opticalsurface" substituti 936 <xs:element name="opticalsurface" substitutionGroup="SurfaceProperty"> 993 <xs:annotation> 937 <xs:annotation> 994 <xs:documentation>Optical surface used b 938 <xs:documentation>Optical surface used by Geant4 optical processes</xs:documentation> 995 </xs:annotation> 939 </xs:annotation> 996 <xs:complexType> 940 <xs:complexType> 997 <xs:complexContent> 941 <xs:complexContent> 998 <xs:extension base="SurfacePropertyType"> 942 <xs:extension base="SurfacePropertyType"> 999 <xs:attribute name="model" type="xs:string 943 <xs:attribute name="model" type="xs:string" default="glisur"></xs:attribute> 1000 <xs:attribute name="finish" type="xs:stri 944 <xs:attribute name="finish" type="xs:string" default="polished"></xs:attribute> 1001 <xs:attribute name="value" type="xs:strin 945 <xs:attribute name="value" type="xs:string" default="1.0"></xs:attribute> 1002 </xs:extension> 946 </xs:extension> 1003 </xs:complexContent> 947 </xs:complexContent> 1004 </xs:complexType> 948 </xs:complexType> 1005 </xs:element> 949 </xs:element> 1006 <!-- ++++++++++++++++++++++++++++++++++++++ 950 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 1007 951 1008 </xs:schema> 952 </xs:schema>