Geant4 Cross Reference |
1 <?xml version="1.0"?> 2 <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" version="1.0" xmlns:gdml="http://cern.ch/service-spi/app/releases/GDML/schema" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 3 <xs:include schemaLocation="gdml_define.xsd"/> 4 <xs:include schemaLocation="gdml_extensions.xsd"/> 5 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 6 <xs:complexType abstract="false" name="DimensionsType"> 7 <xs:annotation> 8 <xs:documentation>Abstract base for parametrised dimensions</xs:documentation> 9 </xs:annotation> 10 </xs:complexType> 11 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 12 <xs:element name="Dimensions" abstract="true" type="DimensionsType"> 13 <xs:annotation> 14 <xs:documentation>Abstract element for substitution group</xs:documentation> 15 </xs:annotation> 16 </xs:element> 17 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 18 <xs:complexType name="BoxDimensionsType"> 19 <xs:annotation> 20 <xs:documentation>Dimensions for parametrised Boxes. </xs:documentation> 21 </xs:annotation> 22 <xs:complexContent> 23 <xs:extension base="DimensionsType"> 24 <xs:attribute default="1.0" name="x" type="ExpressionOrIDREFType"></xs:attribute> 25 <xs:attribute default="1.0" name="y" type="ExpressionOrIDREFType"></xs:attribute> 26 <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute> 27 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 28 </xs:extension> 29 </xs:complexContent> 30 </xs:complexType> 31 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 32 <xs:element name="box_dimensions" substitutionGroup="Dimensions" type="BoxDimensionsType"/> 33 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 34 <xs:complexType name="TrdDimensionsType"> 35 <xs:annotation> 36 <xs:documentation>Dimensions for parametrised Trd. </xs:documentation> 37 </xs:annotation> 38 <xs:complexContent> 39 <xs:extension base="DimensionsType"> 40 <xs:attribute default="1.0" name="x1" type="ExpressionOrIDREFType"></xs:attribute> 41 <xs:attribute default="1.0" name="x2" type="ExpressionOrIDREFType"></xs:attribute> 42 <xs:attribute default="1.0" name="y1" type="ExpressionOrIDREFType"></xs:attribute> 43 <xs:attribute default="1.0" name="y2" type="ExpressionOrIDREFType"></xs:attribute> 44 <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute> 45 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 46 </xs:extension> 47 </xs:complexContent> 48 </xs:complexType> 49 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 50 <xs:element name="trd_dimensions" substitutionGroup="Dimensions" type="TrdDimensionsType"/> 51 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 52 <xs:complexType name="TrapDimensionsType"> 53 <xs:annotation> 54 <xs:documentation>Dimensions for parametrised Trap. </xs:documentation> 55 </xs:annotation> 56 <xs:complexContent> 57 <xs:extension base="DimensionsType"> 58 <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute> 59 <xs:attribute default="1.0" name="theta" type="ExpressionOrIDREFType"></xs:attribute> 60 <xs:attribute default="1.0" name="phi" type="ExpressionOrIDREFType"></xs:attribute> 61 <xs:attribute default="1.0" name="y1" type="ExpressionOrIDREFType"></xs:attribute> 62 <xs:attribute default="1.0" name="x1" type="ExpressionOrIDREFType"></xs:attribute> 63 <xs:attribute default="1.0" name="x2" type="ExpressionOrIDREFType"></xs:attribute> 64 <xs:attribute default="1.0" name="alpha1" type="ExpressionOrIDREFType"></xs:attribute> 65 <xs:attribute default="1.0" name="y2" type="ExpressionOrIDREFType"></xs:attribute> 66 <xs:attribute default="1.0" name="x3" type="ExpressionOrIDREFType"></xs:attribute> 67 <xs:attribute default="1.0" name="x4" type="ExpressionOrIDREFType"></xs:attribute> 68 <xs:attribute default="1.0" name="alpha2" type="ExpressionOrIDREFType"></xs:attribute> 69 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 70 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute> 71 </xs:extension> 72 </xs:complexContent> 73 </xs:complexType> 74 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 75 <xs:element name="trap_dimensions" substitutionGroup="Dimensions" type="TrapDimensionsType"/> 76 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 77 <xs:complexType name="TubeDimensionsType"> 78 <xs:annotation> 79 <xs:documentation>Dimensions for parametrised Tubes. </xs:documentation> 80 </xs:annotation> 81 <xs:complexContent> 82 <xs:extension base="DimensionsType"> 83 <xs:attribute default="1.0" name="DeltaPhi" type="ExpressionOrIDREFType"></xs:attribute> 84 <xs:attribute default="1.0" name="InR" type="ExpressionOrIDREFType"></xs:attribute> 85 <xs:attribute default="1.0" name="OutR" type="ExpressionOrIDREFType"></xs:attribute> 86 <xs:attribute default="0.0" name="StartPhi" type="ExpressionOrIDREFType"></xs:attribute> 87 <xs:attribute default="1.0" name="hz" type="ExpressionOrIDREFType"></xs:attribute> 88 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 89 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute> 90 </xs:extension> 91 </xs:complexContent> 92 </xs:complexType> 93 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 94 <xs:element name="tube_dimensions" substitutionGroup="Dimensions" type="TubeDimensionsType"/> 95 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 96 <xs:complexType name="ConeDimensionsType"> 97 <xs:annotation> 98 <xs:documentation>Dimensions for parametrised Cones. </xs:documentation> 99 </xs:annotation> 100 <xs:complexContent> 101 <xs:extension base="DimensionsType"> 102 <xs:attribute default="1.0" name="rmin1" type="ExpressionOrIDREFType"></xs:attribute> 103 <xs:attribute default="1.0" name="rmax1" type="ExpressionOrIDREFType"></xs:attribute> 104 <xs:attribute default="1.0" name="rmin2" type="ExpressionOrIDREFType"></xs:attribute> 105 <xs:attribute default="1.0" name="rmax2" type="ExpressionOrIDREFType"></xs:attribute> 106 <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute> 107 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 108 <xs:attribute default="1.0" name="deltaphi" type="ExpressionOrIDREFType"></xs:attribute> 109 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 110 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute> 111 </xs:extension> 112 </xs:complexContent> 113 </xs:complexType> 114 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 115 <xs:element name="cone_dimensions" substitutionGroup="Dimensions" type="ConeDimensionsType"/> 116 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 117 <xs:complexType name="SphereDimensionsType"> 118 <xs:annotation> 119 <xs:documentation>Dimensions for parametrised Spheres. </xs:documentation> 120 </xs:annotation> 121 <xs:complexContent> 122 <xs:extension base="DimensionsType"> 123 <xs:attribute default="1.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> 124 <xs:attribute default="1.0" name="rmax" type="ExpressionOrIDREFType"></xs:attribute> 125 <xs:attribute default="0.0" name="starttheta" type="ExpressionOrIDREFType"></xs:attribute> 126 <xs:attribute default="1.0" name="deltatheta" type="ExpressionOrIDREFType"></xs:attribute> 127 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 128 <xs:attribute default="1.0" name="deltaphi" type="ExpressionOrIDREFType"></xs:attribute> 129 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 130 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute> 131 </xs:extension> 132 </xs:complexContent> 133 </xs:complexType> 134 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 135 <xs:element name="sphere_dimensions" substitutionGroup="Dimensions" type="SphereDimensionsType"/> 136 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 137 <xs:complexType name="OrbDimensionsType"> 138 <xs:annotation> 139 <xs:documentation>Dimensions for parametrised Orbs. </xs:documentation> 140 </xs:annotation> 141 <xs:complexContent> 142 <xs:extension base="DimensionsType"> 143 <xs:attribute default="1.0" name="r" type="ExpressionOrIDREFType"></xs:attribute> 144 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 145 </xs:extension> 146 </xs:complexContent> 147 </xs:complexType> 148 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 149 <xs:element name="orb_dimensions" substitutionGroup="Dimensions" type="OrbDimensionsType"/> 150 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 151 <xs:complexType name="TorusDimensionsType"> 152 <xs:annotation> 153 <xs:documentation>Dimensions for parametrised Torus. </xs:documentation> 154 </xs:annotation> 155 <xs:complexContent> 156 <xs:extension base="DimensionsType"> 157 <xs:attribute default="1.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> 158 <xs:attribute default="1.0" name="rmax" type="ExpressionOrIDREFType"></xs:attribute> 159 <xs:attribute default="1.0" name="rtor" type="ExpressionOrIDREFType"></xs:attribute> 160 <xs:attribute default="0.0" name="startphi" type="ExpressionOrIDREFType"></xs:attribute> 161 <xs:attribute default="1.0" name="deltaphi" type="ExpressionOrIDREFType"></xs:attribute> 162 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 163 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute> 164 </xs:extension> 165 </xs:complexContent> 166 </xs:complexType> 167 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 168 <xs:element name="torus_dimensions" substitutionGroup="Dimensions" type="TorusDimensionsType"/> 169 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 170 <xs:complexType name="EllipsoidDimensionsType"> 171 <xs:annotation> 172 <xs:documentation>Dimensions for parametrised Ellipsoid. </xs:documentation> 173 </xs:annotation> 174 <xs:complexContent> 175 <xs:extension base="DimensionsType"> 176 <xs:attribute default="1.0" name="ax" type="ExpressionOrIDREFType"></xs:attribute> 177 <xs:attribute default="1.0" name="by" type="ExpressionOrIDREFType"></xs:attribute> 178 <xs:attribute default="1.0" name="cz" type="ExpressionOrIDREFType"></xs:attribute> 179 <xs:attribute default="-1000000.0" name="zcut1" type="ExpressionOrIDREFType"></xs:attribute> 180 <xs:attribute default="1000000.0" name="zcut2" type="ExpressionOrIDREFType"></xs:attribute> 181 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 182 </xs:extension> 183 </xs:complexContent> 184 </xs:complexType> 185 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 186 <xs:element name="ellipsoid_dimensions" substitutionGroup="Dimensions" type="EllipsoidDimensionsType"/> 187 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 188 <xs:complexType name="ParaDimensionsType"> 189 <xs:annotation> 190 <xs:documentation>Dimensions for parametrised Paras. </xs:documentation> 191 </xs:annotation> 192 <xs:complexContent> 193 <xs:extension base="DimensionsType"> 194 <xs:attribute default="1.0" name="x" type="ExpressionOrIDREFType"></xs:attribute> 195 <xs:attribute default="1.0" name="y" type="ExpressionOrIDREFType"></xs:attribute> 196 <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute> 197 <xs:attribute default="1.0" name="alpha" type="ExpressionOrIDREFType"></xs:attribute> 198 <xs:attribute default="1.0" name="theta" type="ExpressionOrIDREFType"></xs:attribute> 199 <xs:attribute default="1.0" name="phi" type="ExpressionOrIDREFType"></xs:attribute> 200 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 201 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute> 202 </xs:extension> 203 </xs:complexContent> 204 </xs:complexType> 205 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 206 <xs:element name="para_dimensions" substitutionGroup="Dimensions" type="ParaDimensionsType"/> 207 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 208 <xs:complexType name="PolyconeDimensionsType"> 209 <xs:annotation> 210 <xs:documentation>Dimensions for parametrised Polycone. </xs:documentation> 211 </xs:annotation> 212 <xs:complexContent> 213 <xs:extension base="DimensionsType"> 214 <xs:sequence> 215 <xs:element name="zplane" minOccurs="1" maxOccurs="unbounded" type="ZPlaneType"/> 216 </xs:sequence> 217 <xs:attribute default="1.0" name="numRZ" type="ExpressionOrIDREFType"></xs:attribute> 218 <xs:attribute default="0.0" name="startPhi" type="ExpressionOrIDREFType"></xs:attribute> 219 <xs:attribute default="1.0" name="openPhi" type="ExpressionOrIDREFType"></xs:attribute> 220 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 221 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute> 222 </xs:extension> 223 </xs:complexContent> 224 </xs:complexType> 225 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 226 <xs:element name="polycone_dimensions" substitutionGroup="Dimensions" type="PolyconeDimensionsType"/> 227 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 228 <xs:complexType name="PolyhedraDimensionsType"> 229 <xs:annotation> 230 <xs:documentation>Dimensions for parametrised Polyhedra. </xs:documentation> 231 </xs:annotation> 232 <xs:complexContent> 233 <xs:extension base="DimensionsType"> 234 <xs:sequence> 235 <xs:element name="zplane" minOccurs="1" maxOccurs="unbounded" type="ZPlaneParamType"/> 236 </xs:sequence> 237 <xs:attribute default="1.0" name="numRZ" type="ExpressionOrIDREFType"></xs:attribute> 238 <xs:attribute default="1.0" name="numSide" type="ExpressionOrIDREFType"></xs:attribute> 239 <xs:attribute default="1.0" name="startPhi" type="ExpressionOrIDREFType"></xs:attribute> 240 <xs:attribute default="1.0" name="openPhi" type="ExpressionOrIDREFType"></xs:attribute> 241 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 242 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute> 243 </xs:extension> 244 </xs:complexContent> 245 </xs:complexType> 246 247 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 248 <xs:element name="polyhedra_dimensions" substitutionGroup="Dimensions" type="PolyhedraDimensionsType"/> 249 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 250 251 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 252 <xs:complexType name="ZPlaneParamType"> 253 <xs:attribute default="0.0" name="z" type="ExpressionOrIDREFType" ></xs:attribute> 254 <xs:attribute default="0.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> 255 <xs:attribute default="1.0" name="rmax" type="ExpressionOrIDREFType" ></xs:attribute> 256 </xs:complexType> 257 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 258 <xs:complexType name="HypeDimensionsType"> 259 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 260 <xs:annotation> 261 <xs:documentation>Dimensions for parametrised Hypes. </xs:documentation> 262 </xs:annotation> 263 <xs:complexContent> 264 <xs:extension base="DimensionsType"> 265 <xs:attribute default="1.0" name="rmin" type="ExpressionOrIDREFType"></xs:attribute> 266 <xs:attribute default="1.0" name="rmax" type="ExpressionOrIDREFType"></xs:attribute> 267 <xs:attribute default="1.0" name="inst" type="ExpressionOrIDREFType"></xs:attribute> 268 <xs:attribute default="1.0" name="outst" type="ExpressionOrIDREFType"></xs:attribute> 269 <xs:attribute default="1.0" name="z" type="ExpressionOrIDREFType"></xs:attribute> 270 <xs:attribute default="mm" name="lunit" type="xs:string"></xs:attribute> 271 <xs:attribute default="radian" name="aunit" type="xs:string"></xs:attribute> 272 </xs:extension> 273 </xs:complexContent> 274 </xs:complexType> 275 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 276 <xs:element name="hype_dimensions" substitutionGroup="Dimensions" type="HypeDimensionsType"/> 277 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 278 <xs:complexType abstract="false" name="ParameterisationAlgorithmType"> 279 <xs:annotation> 280 <xs:documentation>Abstract base for parameterised placement strategies</xs:documentation> 281 </xs:annotation> 282 </xs:complexType> 283 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 284 <xs:element name="ParameterisationAlgorithm" abstract="true" type="ParameterisationAlgorithmType"> 285 <xs:annotation> 286 <xs:documentation>Abstract element for substitution group</xs:documentation> 287 </xs:annotation> 288 </xs:element> 289 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 290 <xs:complexType name="PositionSizeParameterisationAlgorithmType"> 291 <xs:annotation> 292 <xs:documentation>Parameterised volumes get created using 293 the tabularized position and sizes. </xs:documentation> 294 </xs:annotation> 295 <xs:complexContent> 296 <xs:extension base="ParameterisationAlgorithmType"> 297 <xs:sequence> 298 <xs:element maxOccurs="unbounded" name="parameters" type="ParametersType"/> 299 </xs:sequence> 300 </xs:extension> 301 </xs:complexContent> 302 </xs:complexType> 303 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 304 <xs:element name="parameterised_position_size" substitutionGroup="ParameterisationAlgorithm" type="PositionSizeParameterisationAlgorithmType"/> 305 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 306 <xs:complexType name="ParameterisedPlacementType"> 307 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 308 <xs:annotation> 309 <xs:documentation>Base type for parameterised volumes</xs:documentation> 310 </xs:annotation> 311 <xs:sequence> 312 <xs:element name="volumeref" type="ReferenceType"></xs:element> 313 <xs:element ref="ParameterisationAlgorithm"/> 314 </xs:sequence> 315 <xs:attribute name="ncopies" type="xs:positiveInteger" use="required"/> 316 </xs:complexType> 317 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 318 <xs:element name="paramvol" type="ParameterisedPlacementType"/> 319 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 320 <xs:complexType name="ParametersType"> 321 <xs:annotation> 322 <xs:documentation> 323 Holds parameteres for parameterised volumes. 324 </xs:documentation> 325 </xs:annotation> 326 <xs:sequence> 327 <xs:element type="positionType" name="position"/> 328 <xs:element ref="Dimensions"/> 329 </xs:sequence> 330 <xs:attribute type="xs:positiveInteger" use="required" name="number"/> 331 </xs:complexType> 332 </xs:schema>