8 added files
projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0
--- projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd.xsd (rev 0)
+++ projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd.xsd 2014-08-11 22:58:56 UTC (rev 3253)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE xs:schema >
+<xs:schema attributeFormDefault="unqualified"
+ elementFormDefault="unqualified"
+ version="1.0"
+ xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/2.0/"
+ xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:include schemaLocation="lcdd_header.xsd"/>
+ <xs:include schemaLocation="lcdd_sensitive_detectors.xsd"/>
+ <xs:include schemaLocation="lcdd_iddict.xsd"/>
+ <xs:include schemaLocation="lcdd_fields.xsd"/>
+ <xs:include schemaLocation="lcdd_limits.xsd"/>
+ <xs:include schemaLocation="lcdd_regions.xsd"/>
+ <xs:include schemaLocation="lcdd_display.xsd"/>
+
+ <xs:redefine schemaLocation="http://www.lcsim.org/schemas/gdml/1.0/gdml.xsd">
+
+ <xs:annotation>
+ <xs:documentation>
+ Extend volume element to include field, SD and region references.
+ Extend physvol element to include a volume id.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType name="VolumeType">
+ <xs:complexContent>
+ <xs:extension base="VolumeType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="sdref" type="ReferenceType"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="regionref" type="ReferenceType"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="limitsetref" type="ReferenceType"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="visref" type="ReferenceType" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="SinglePlacementType">
+ <xs:complexContent>
+ <xs:extension base="SinglePlacementType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="physvolid" type="PhysVolIdType"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:redefine>
+
+ <xs:complexType name="PhysVolIdType">
+ <xs:annotation>
+ <xs:documentation>
+ Assign an int ID to a physical volume.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="field_name" type="xs:string" use="optional" />
+ <xs:attribute name="value" type="xs:string" use="required" />
+ </xs:complexType>
+
+ <xs:element name="lcdd">
+ <xs:annotation>
+ <xs:documentation>
+ lcdd is the top-level element including the
+ gdml element plus a container element for
+ fields, SDs, regions and components.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="header" minOccurs="1"></xs:element>
+ <xs:element ref="iddict" minOccurs="0"></xs:element>
+ <xs:element ref="sensitive_detectors" minOccurs="0"></xs:element>
+ <xs:element ref="limits" minOccurs="0"></xs:element>
+ <xs:element ref="regions" minOccurs="0"></xs:element>
+ <xs:element ref="display" minOccurs="0"></xs:element>
+ <xs:element ref="gdml" minOccurs="1"></xs:element>
+ <xs:element ref="fields" minOccurs="0"></xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+</xs:schema>
projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0
--- projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_display.xsd (rev 0)
+++ projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_display.xsd 2014-08-11 22:58:56 UTC (rev 3253)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE xs:schema>
+
+<xs:schema attributeFormDefault="unqualified"
+ elementFormDefault="unqualified"
+ xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/2.0/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:complexType name="ColorType">
+ <xs:annotation>
+ <xs:documentation>
+ RGB color values for geometric data display.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="R" type="xs:double" default="1.0"/>
+ <xs:attribute name="G" type="xs:double" default="1.0"/>
+ <xs:attribute name="B" type="xs:double" default="1.0"/>
+ <xs:attribute name="alpha" type="xs:double" default="1.0" />
+ </xs:complexType>
+
+ <xs:complexType name="VisType">
+ <xs:annotation>
+ <xs:documentation>
+ Element to represent capabilities of G4VisAttributes class.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:all>
+ <xs:element name="color" type="ColorType" maxOccurs="1"/>
+ </xs:all>
+
+ <xs:attribute name="name" type="xs:ID"/>
+ <xs:attribute name="visible" type="xs:boolean" default="true"/>
+ <xs:attribute name="show_daughters" type="xs:boolean" default="true"/>
+
+ <xs:attribute name="line_style">
+ <xs:annotation>
+ <xs:documentation>
+ The line style of the volume.
+ Valid values are unbroken, dashed, and dotted.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="unbroken"/>
+ <xs:enumeration value="dashed"/>
+ <xs:enumeration value="dotted"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="drawing_style">
+ <xs:annotation>
+ <xs:documentation>
+ The draw style of the volume.
+ Valid values are wireframe or solid.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wireframe"/>
+ <xs:enumeration value="solid"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ </xs:complexType>
+
+ <xs:complexType name="DisplayType">
+ <xs:annotation>
+ <xs:documentation>
+ Visualization container element.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:sequence>
+ <xs:element name="vis" minOccurs="0" maxOccurs="unbounded" type="VisType" />
+ </xs:sequence>
+
+ </xs:complexType>
+
+ <xs:element name="display" type="DisplayType"/>
+
+</xs:schema>
\ No newline at end of file
projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0
--- projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_fields.xsd (rev 0)
+++ projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_fields.xsd 2014-08-11 22:58:56 UTC (rev 3253)
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE xs:schema >
+
+<xs:schema attributeFormDefault="unqualified"
+ elementFormDefault="unqualified"
+ version="1.0"
+ xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/2.0/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:complexType name="FieldsType">
+ <xs:annotation>
+ <xs:documentation>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="field" />
+ <xs:element name="global_field" minOccurs="0" maxOccurs="1" type="GlobalFieldType" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="fields" type="FieldsType">
+ </xs:element>
+
+ <xs:complexType name="GlobalFieldType">
+ <xs:annotation>
+ <xs:documentation>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="fieldref" minOccurs="1" maxOccurs="unbounded" type="ReferenceType" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="FieldType">
+ <xs:attribute name="name" type="xs:ID"/>
+ <xs:attribute default="tesla" name="funit" type="xs:string"/>
+ <xs:attribute default="mm" name="lunit" type="xs:string" />
+ </xs:complexType>
+
+ <xs:element name="field" type="FieldType">
+ </xs:element>
+
+ <xs:complexType name="SolenoidType">
+ <xs:annotation>
+ <xs:documentation>
+ Solenoid with z min/max, radius min/max, strength
+ and units. lunit is for z and radius (mm). funit is
+ the unit for the field strength (Tesla).
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="FieldType">
+ <xs:attribute name="inner_field" type="xs:string" />
+ <xs:attribute name="outer_field" type="xs:string" />
+ <xs:attribute name="zmin" type="xs:string" />
+ <xs:attribute name="zmax" type="xs:string" />
+ <xs:attribute name="inner_radius" type="xs:string" />
+ <xs:attribute name="outer_radius" type="xs:string" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="solenoid" substitutionGroup="field" type="SolenoidType">
+ <xs:annotation>
+ <xs:documentation>
+ Solenoidal field element
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:complexType name="DipoleType">
+ <xs:annotation>
+ <xs:documentation>
+ Dipole field using simple polynomial fit with a variable number of coefficients.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="FieldType">
+ <xs:sequence>
+ <xs:element name="dipole_coeff" minOccurs="1" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="value" type="xs:double" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="zmin" type="xs:double" />
+ <xs:attribute name="zmax" type="xs:double" />
+ <xs:attribute name="rmax" type="xs:double" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="dipole" substitutionGroup="field" type="DipoleType">
+ <xs:annotation>
+ <xs:documentation>
+ Dipole field element.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:complexType name="FieldMapType">
+ <xs:annotation>
+ <xs:documentation>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="FieldType">
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="RZBType">
+ <xs:annotation>
+ <xs:documentation>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="r" type="xs:double"/>
+ <xs:attribute name="z" type="xs:double"/>
+ <xs:attribute name="Br" type="xs:double"/>
+ <xs:attribute name="Bz" type="xs:double"/>
+ </xs:complexType>
+
+ <xs:complexType name="RZFieldMapType">
+ <xs:annotation>
+ <xs:documentation>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="FieldMapType">
+
+ <xs:sequence>
+ <xs:element name="rzB" type="RZBType" minOccurs="2" maxOccurs="unbounded" />
+ </xs:sequence>
+
+ <xs:attribute name="num_bins_r">
+ <xs:simpleType>
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="2"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="num_bins_z">
+ <xs:simpleType>
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="2"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="grid_size_r">
+ <xs:simpleType>
+ <xs:restriction base="xs:double">
+ <xs:minExclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ <xs:attribute name="grid_size_z">
+ <xs:simpleType>
+ <xs:restriction base="xs:double">
+ <xs:minExclusive value="0"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="rz_field_map" substitutionGroup="field" type="RZFieldMapType">
+ <xs:annotation>
+ <xs:documentation>
+ An RZ field map element.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:complexType name="BoxDipoleType">
+ <xs:annotation>
+ <xs:documentation>
+ A simple generic dipole field with settable B-field in x, y, and z, within a positioned box region.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="FieldType">
+ <xs:attribute name="dx" type="xs:double" use="required" />
+ <xs:attribute name="dy" type="xs:double" use="required" />
+ <xs:attribute name="dz" type="xs:double" use="required" />
+ <xs:attribute name="x" type="xs:double" use="optional" default="0.0" />
+ <xs:attribute name="y" type="xs:double" use="optional" default="0.0" />
+ <xs:attribute name="z" type="xs:double" use="optional" default="0.0" />
+ <xs:attribute name="bx" type="xs:double" use="optional" default="0.0" />
+ <xs:attribute name="by" type="xs:double" use="optional" default="0.0" />
+ <xs:attribute name="bz" type="xs:double" use="optional" default="0.0" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="box_dipole" substitutionGroup="field" type="BoxDipoleType">
+ <xs:annotation>
+ <xs:documentation>
+ A box dipole element.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:complexType name="FieldMap3DType">
+ <xs:annotation>
+ <xs:documentation>
+ Full 3D Cartesian field map described in external file
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="FieldType">
+ <xs:attribute name="filename" type="xs:string" />
+ <xs:attribute name="xoffset" type="xs:double" use="optional" default="0.0" />
+ <xs:attribute name="yoffset" type="xs:double" use="optional" default="0.0" />
+ <xs:attribute name="zoffset" type="xs:double" use="optional" default="0.0" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="field_map_3d" substitutionGroup="field" type="FieldMap3DType"/>
+
+</xs:schema>
\ No newline at end of file
projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0
--- projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_header.xsd (rev 0)
+++ projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_header.xsd 2014-08-11 22:58:56 UTC (rev 3253)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE xs:schema >
+
+<xs:schema attributeFormDefault="unqualified"
+ elementFormDefault="unqualified"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/2.0/">
+
+ <!--XS timestamp format: CCYY-MM-DDTHH:mm:SS-->
+
+ <xs:complexType name="HeaderType">
+ <xs:annotation>
+ <xs:documentation>
+ Header element for LCDD file.
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:all>
+ <xs:element name="detector" type="DetectorType" minOccurs="1" maxOccurs="1" />
+ <xs:element name="author" type="AuthorType" minOccurs="0" maxOccurs="1" />
+ <xs:element name="generator" type="GeneratorType" minOccurs="0" maxOccurs="1" />
+ <xs:element name="comment" type="xs:string" minOccurs="0" maxOccurs="1" />
+ </xs:all>
+
+ </xs:complexType>
+
+ <xs:complexType name="DetectorType">
+ <xs:annotation>
+ <xs:documentation>
+ Detector header element.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="name" type="xs:string" />
+ <xs:attribute name="version" type="xs:string" default="1.0" />
+ <xs:attribute name="url" type="xs:anyURI" default="http://www.example.com"/>
+ </xs:complexType>
+
+ <xs:complexType name="AuthorType">
+ <xs:annotation>
+ <xs:documentation>
+ Info on author of this file.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="name" type="xs:string" />
+ <xs:attribute name="email" type="xs:string" />
+ </xs:complexType>
+
+ <xs:complexType name="GeneratorType">
+ <xs:annotation>
+ <xs:documentation>
+ Info on script or compact generator of this file.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="name" type="xs:string" default="NONE" />
+ <xs:attribute name="version" type="xs:string" default="1.0" />
+ <xs:attribute name="file" type="xs:string" default="NONE" />
+ <xs:attribute name="checksum" type="xs:unsignedInt" default="0" />
+ </xs:complexType>
+
+ <xs:element name="header" type="HeaderType" />
+
+</xs:schema>
\ No newline at end of file
projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0
--- projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_iddict.xsd (rev 0)
+++ projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_iddict.xsd 2014-08-11 22:58:56 UTC (rev 3253)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE xs:schema >
+
+<xs:schema attributeFormDefault="unqualified"
+ elementFormDefault="unqualified"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/2.0/">
+
+ <xs:complexType name="IdSpecType">
+ <xs:annotation>
+ <xs:documentation>
+ Id specification for a full cell id.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="unbounded" ref="idfield"/>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:ID" use="required"/>
+ <xs:attribute name="length" type="xs:double" use="required"/>
+ </xs:complexType>
+
+ <xs:element abstract="false" name="idspec" type="IdSpecType"/>
+
+ <xs:complexType name="IdFieldType">
+ <xs:annotation>
+ <xs:documentation>
+ Id field for one logical portion of an id, interprettable as a single int.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="label" type="xs:string" use="required"/>
+ <xs:attribute name="start" type="xs:int" use="required"/>
+ <xs:attribute name="length" type="xs:int" use="required"/>
+ <xs:attribute name="signed" type="xs:boolean" default="false"/>
+ </xs:complexType>
+
+ <xs:element abstract="false" name="idfield" type="IdFieldType" />
+
+ <xs:complexType name="IdDictType">
+ <xs:annotation>
+ <xs:documentation>
+ Id Dictionary for this detector containg specifications for cell ids.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="idspec"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="iddict" type="IdDictType"/>
+
+</xs:schema>
\ No newline at end of file
projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0
--- projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_limits.xsd (rev 0)
+++ projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_limits.xsd 2014-08-11 22:58:56 UTC (rev 3253)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE xs:schema >
+
+<xs:schema attributeFormDefault="unqualified"
+ elementFormDefault="unqualified"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/2.0/">
+
+ <xs:complexType name="LimitParamType">
+ <xs:annotation>
+ <xs:documentation>
+ A single Geant4 user limit parameter such as max track length.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="name" type="xs:string" use="required" />
+ <xs:attribute name="value" type="xs:double" use="required" />
+ <xs:attribute name="unit" type="xs:string" use="required" />
+ <xs:attribute name="particles" type="xs:string" default="*"/>
+ </xs:complexType>
+
+ <xs:element name="limit" type="LimitParamType" />
+
+ <xs:complexType name="LimitSetType">
+ <xs:annotation>
+ <xs:documentation>
+ A named set of Geant4 user limit parameters.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="limit" minOccurs="1" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:ID" />
+ </xs:complexType>
+
+ <xs:element name="limitset" type="LimitSetType" />
+
+ <xs:complexType name="UserLimitsType">
+ <xs:annotation>
+ <xs:documentation>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="limitset" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="limits" type="UserLimitsType" />
+
+</xs:schema>
\ No newline at end of file
projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0
--- projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_regions.xsd (rev 0)
+++ projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_regions.xsd 2014-08-11 22:58:56 UTC (rev 3253)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE xs:schema >
+
+<xs:schema attributeFormDefault="unqualified"
+ elementFormDefault="unqualified"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/2.0/">
+
+ <xs:include schemaLocation="lcdd_limits.xsd" />
+
+ <xs:complexType name="RegionsType">
+ <xs:annotation>
+ <xs:documentation>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="region" minOccurs="0" maxOccurs="unbounded" type="RegionType" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="regions" type="RegionsType">
+ </xs:element>
+
+ <xs:complexType name="RegionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="limitsetref" type="ReferenceType" />
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:ID" use="required"/>
+ <xs:attribute name="store_secondaries" default="false" type="xs:boolean" />
+ <xs:attribute name="kill_tracks" default="false" type="xs:boolean" />
+ <xs:attribute name="cut" default="1.0" type="xs:double"/>
+ <xs:attribute name="lunit" default="mm" type="xs:string"/>
+ <xs:attribute name="threshold" default="1.0" type="xs:double" />
+ <xs:attribute name="eunit" default="MeV" type="xs:string"/>
+ </xs:complexType>
+
+ <xs:element name="region" type="RegionType">
+ </xs:element>
+
+</xs:schema>
\ No newline at end of file
projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0
--- projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_sensitive_detectors.xsd (rev 0)
+++ projects/lcdd/branches/v05-00-00-dev/schemas/lcdd/2.0/lcdd_sensitive_detectors.xsd 2014-08-11 22:58:56 UTC (rev 3253)
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE xs:schema >
+<xs:schema attributeFormDefault="unqualified"
+ elementFormDefault="unqualified"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:lcdd="http://www.lcsim.org/schemas/lcdd/2.0/">
+ <xs:complexType name="HitProcessorType">
+ <xs:attribute name="type" type="xs:string" use="required"/>
+ <xs:attribute name="collection_name" type="xs:string" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="SensitiveDetectorType">
+ <xs:annotation>
+ <xs:documentation>
+ Sensitive detector type with a name, ID, and hits collection
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="idspecref" type="ReferenceType" />
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="hit_processor" type="HitProcessorType" />
+ </xs:choice>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:ID" use="required" />
+ <xs:attribute name="hits_collection" type="xs:string" />
+ <xs:attribute name="endcap_flag" type="xs:boolean" default="false" />
+ <xs:attribute name="ecut" type="xs:double" default="0.0" />
+ <xs:attribute name="eunit" type="xs:string" default="MeV" />
+ <xs:attribute name="verbose">
+ <xs:simpleType>
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="0"/>
+ <xs:maxInclusive value="2"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ <xs:element abstract="true" name="sd" type="SensitiveDetectorType">
+ <xs:annotation>
+ <xs:documentation>
+ Abstract sensitive detector element for group substitution
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="SensitiveDetectorsType">
+ <xs:annotation>
+ <xs:documentation>
+ Sensitive detector container type
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="sd" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="sensitive_detectors" type="SensitiveDetectorsType">
+ <xs:annotation>
+ <xs:documentation>
+ SD container element
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="CalorimeterType">
+ <xs:annotation>
+ <xs:documentation>
+ Calorimeter SD type
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="SensitiveDetectorType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" ref="segmentation"/>
+ </xs:sequence>
+ <xs:attribute name="hit_aggregation" default="id">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="id" />
+ <xs:enumeration value="position" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="calorimeter" substitutionGroup="sd" type="CalorimeterType">
+ <xs:annotation>
+ <xs:documentation>
+ Calorimeter SD element
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="TrackerType">
+ <xs:annotation>
+ <xs:documentation>
+ Tracker SD type
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="SensitiveDetectorType">
+ <xs:attribute name="combine_hits" type="xs:boolean" default="false" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="tracker" substitutionGroup="sd" type="TrackerType">
+ <xs:annotation>
+ <xs:documentation>
+ Tracker SD element
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="SegmentationType">
+ <xs:annotation>
+ <xs:documentation>
+ Base segmentation type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:complexType>
+ <xs:element abstract="true" name="segmentation" type="SegmentationType">
+ <xs:annotation>
+ <xs:documentation>
+ Abstract segmentation type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="NonprojectiveSegmentationType">
+ <xs:annotation>
+ <xs:documentation>
+ Nonprojective segmentation type
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="SegmentationType">
+ <xs:attribute name="grid_size_x" type="xs:double" use="required"/>
+ <xs:attribute name="grid_size_y" type="xs:double" use="required"/>
+ <xs:attribute name="grid_size_z" type="xs:double" use="required"/>
+ <xs:attribute default="mm" name="lunit" type="xs:string"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="CellReadout2DSegmentationType">
+ <xs:annotation>
+ <xs:documentation>
+ CellReadout2D segmentation type.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="SegmentationType">
+ <xs:attribute name="cell_size_x" type="xs:double" use="required"/>
+ <xs:attribute name="cell_size_y" type="xs:double" use="required"/>
+ <xs:attribute default="mm" name="lunit" type="xs:string"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="cell_readout_2d" substitutionGroup="segmentation" type="CellReadout2DSegmentationType">
+ <xs:annotation>
+ <xs:documentation>
+ Cell Readout 2D type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="grid_xyz" substitutionGroup="segmentation" type="NonprojectiveSegmentationType">
+ <xs:annotation>
+ <xs:documentation>
+ Grid XYZ type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="GlobalGridXYSegmentationType">
+ <xs:annotation>
+ <xs:documentation>
+ Global grid XY type
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="SegmentationType">
+ <xs:attribute name="grid_size_x" type="xs:double" use="required"/>
+ <xs:attribute name="grid_size_y" type="xs:double" use="required"/>
+ <xs:attribute default="mm" name="lunit" type="xs:string"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="global_grid_xy" substitutionGroup="segmentation" type="GlobalGridXYSegmentationType">
+ <xs:annotation>
+ <xs:documentation>
+ Global grid XY element
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="ProjectiveCylinderSegmentationType">
+ <xs:annotation>
+ <xs:documentation>
+ Projective segmentation type
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="SegmentationType">
+ <xs:attribute name="ntheta" type="xs:int" use="required" />
+ <xs:attribute name="nphi" type="xs:int" use="required" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="projective_cylinder" substitutionGroup="segmentation" type="ProjectiveCylinderSegmentationType">
+ <xs:annotation>
+ <xs:documentation>
+ Projective segmentation element
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="ProjectiveZPlaneSegmentationType">
+ <xs:annotation>
+ <xs:documentation>
+ Projective ZPlane segmentation type
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="SegmentationType">
+ <xs:attribute name="ntheta" type="xs:int" use="required" />
+ <xs:attribute name="nphi" type="xs:int" use="required" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="projective_zplane" substitutionGroup="segmentation" type="ProjectiveZPlaneSegmentationType">
+ <xs:annotation>
+ <xs:documentation>
+ Projective ZPlane segmentation element
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Definitions for DDSegmentation types. -->
+ <xs:complexType name="CartesianGridXYType">
+ <xs:complexContent>
+ <xs:extension base="SegmentationType">
+ <xs:attribute name="grid_size_x" type="xs:double" use="required"/>
+ <xs:attribute name="grid_size_y" type="xs:double" use="required"/>
+ <xs:attribute name="offset_x" type="xs:double" default="0.0"/>
+ <xs:attribute name="offset_y" type="xs:double" default="0.0"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="cartesian_grid_xy" substitutionGroup="segmentation" type="CartesianGridXYType"/>
+</xs:schema>
\ No newline at end of file
SVNspam 0.1