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