Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/persistency/gdml/schema/gdml_solids.xsd

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /persistency/gdml/schema/gdml_solids.xsd (Version 11.3.0) and /persistency/gdml/schema/gdml_solids.xsd (Version 11.0.p3,)


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