Table of Contents
Target Namespace
None
Element and Attribute Namespaces
Global element and attribute declarations belong to this schema's target namespace.
By default, local element declarations have no namespace.
By default, local attribute declarations have no namespace.
Declared Namespaces
Prefix
Namespace
xml
http://www.w3.org/XML/1998/namespace
xs
http://www.w3.org/2001/XMLSchema
lcdd
http://www.lcsim.org/schemas/lcdd/1.0/
Schema Component Representation
<
xs:schema attributeFormDefault ="
unqualified "
elementFormDefault ="
unqualified ">
...
</
xs:schema >
This element can be used wherever the following element is referenced:
XML Instance Representation
<calorimeter
name="
xs :ID [1] "
hits_collection="
xs :string [1] "
endcap_flag="
xs :boolean [0..1] "
ecut="
xs :double [0..1] "
eunit="
xs :string [0..1] "
verbose="
xs :integer (0 <= value <= 2) [0..1] "
hit_aggregation="
xs :string (value comes from list: {'id'|'position'}) [0..1] " >
Start Choice [1]
End Choice
</calorimeter>
Schema Component Representation
<
xs:element name ="
calorimeter "
type ="
CalorimeterType
"
substitutionGroup ="
sd "/>
This element can be used wherever the following element is referenced:
XML Instance Representation
<grid_xyz
grid_size_x="
xs :double [1] "
grid_size_y="
xs :double [1] "
grid_size_z="
xs :double [1] "
lunit="
xs :string [0..1] " />
This element can be used wherever the following element is referenced:
XML Instance Representation
<nonprojective_cylinder
grid_size_z="
xs :double [1] "
grid_size_phi="
xs :double [1] "
lunit="
xs :string [0..1] " />
This element can be used wherever the following element is referenced:
XML Instance Representation
<optical_calorimeter
name="
xs :ID [1] "
hits_collection="
xs :string [1] "
endcap_flag="
xs :boolean [0..1] "
ecut="
xs :double [0..1] "
eunit="
xs :string [0..1] "
verbose="
xs :integer (0 <= value <= 2) [0..1] "
hit_aggregation="
xs :string (value comes from list: {'id'|'position'}) [0..1] " >
Start Choice [1]
End Choice
</optical_calorimeter>
This element can be used wherever the following element is referenced:
XML Instance Representation
<projective_cylinder
ntheta="
xs :int [1] "
nphi="
xs :int [1] " />
This element can be used wherever the following element is referenced:
XML Instance Representation
<projective_zplane
ntheta="
xs :int [1] "
nphi="
xs :int [1] " />
This element can be used wherever the following element is referenced:
XML Instance Representation
<scorer
name="
xs :ID [1] "
hits_collection="
xs :string [1] "
endcap_flag="
xs :boolean [0..1] "
ecut="
xs :double [0..1] "
eunit="
xs :string [0..1] "
verbose="
xs :integer (0 <= value <= 2) [0..1] " >
Start Choice [1]
End Choice
</scorer>
Schema Component Representation
<
xs:element name ="
scorer "
type ="
ScorerType
"
substitutionGroup ="
sd "/>
Element: sd
The following elements can be used wherever this element is referenced:
XML Instance Representation
<sd
name="
xs :ID [1] "
hits_collection="
xs :string [1] "
endcap_flag="
xs :boolean [0..1] "
ecut="
xs :double [0..1] "
eunit="
xs :string [0..1] "
verbose="
xs :integer (0 <= value <= 2) [0..1] " >
Start Choice [1]
End Choice
</sd>
The following elements can be used wherever this element is referenced:
XML Instance Representation
<sensitive_detectors>
</sensitive_detectors>
This element can be used wherever the following element is referenced:
XML Instance Representation
<tracker
name="
xs :ID [1] "
hits_collection="
xs :string [1] "
endcap_flag="
xs :boolean [0..1] "
ecut="
xs :double [0..1] "
eunit="
xs :string [0..1] "
verbose="
xs :integer (0 <= value <= 2) [0..1] "
combine_hits="
xs :boolean [0..1] " >
Start Choice [1]
End Choice
</tracker>
Schema Component Representation
<
xs:element name ="
tracker "
type ="
TrackerType
"
substitutionGroup ="
sd "/>
Name
CalorimeterType
Abstract
no
Documentation
Calorimeter sensitive detector type
XML Instance Representation
<...
name="
xs :ID [1] "
hits_collection="
xs :string [1] "
endcap_flag="
xs :boolean [0..1] "
ecut="
xs :double [0..1] "
eunit="
xs :string [0..1] "
verbose="
xs :integer (0 <= value <= 2) [0..1] "
hit_aggregation="
xs :string (value comes from list: {'id'|'position'}) [0..1] " >
Start Choice [1]
End Choice
</...>
Schema Component Representation
<
xs:complexType name ="
CalorimeterType ">
<
xs:complexContent >
<
xs:extension base ="
SensitiveDetectorType
">
<
xs:sequence >
<
xs:element ref ="
segmentation
"
minOccurs ="
0 "
maxOccurs ="
1 "/>
</
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 >
Super-types:
SegmentationType
< NonprojectiveCylinderSegmentationType (by extension)
Sub-types:
None
Name
NonprojectiveCylinderSegmentationType
Abstract
no
Documentation
NP segmentation type for cylinders.
XML Instance Representation
<...
grid_size_z="
xs :double [1] "
grid_size_phi="
xs :double [1] "
lunit="
xs :string [0..1] " />
Schema Component Representation
<
xs:complexType name ="
NonprojectiveCylinderSegmentationType ">
<
xs:complexContent >
<
xs:extension base ="
SegmentationType
">
<
xs:attribute name ="
grid_size_z "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
grid_size_phi "
type ="
xs :double
"
use ="
required "/>
<
xs:attribute name ="
lunit "
type ="
xs :string
"
default ="
mm "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
Super-types:
SegmentationType
< NonprojectiveSegmentationType (by extension)
Sub-types:
None
Name
NonprojectiveSegmentationType
Abstract
no
Documentation
NP segmentation type.
XML Instance Representation
<...
grid_size_x="
xs :double [1] "
grid_size_y="
xs :double [1] "
grid_size_z="
xs :double [1] "
lunit="
xs :string [0..1] " />
Schema Component Representation
<
xs:complexType name ="
NonprojectiveSegmentationType ">
<
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 name ="
lunit "
type ="
xs :string
"
default ="
mm "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
Name
OpticalCalorimeterType
Abstract
no
Documentation
Optical calorimeter sensitive detector type
XML Instance Representation
<...
name="
xs :ID [1] "
hits_collection="
xs :string [1] "
endcap_flag="
xs :boolean [0..1] "
ecut="
xs :double [0..1] "
eunit="
xs :string [0..1] "
verbose="
xs :integer (0 <= value <= 2) [0..1] "
hit_aggregation="
xs :string (value comes from list: {'id'|'position'}) [0..1] " >
Start Choice [1]
End Choice
</...>
Schema Component Representation
<
xs:complexType name ="
OpticalCalorimeterType ">
<
xs:complexContent >
</
xs:complexContent >
</
xs:complexType >
Super-types:
SegmentationType
< ProjectiveCylinderSegmentationType (by extension)
Sub-types:
None
Name
ProjectiveCylinderSegmentationType
Abstract
no
Documentation
Prj segmentation type
XML Instance Representation
<...
ntheta="
xs :int [1] "
nphi="
xs :int [1] " />
Schema Component Representation
<
xs:complexType name ="
ProjectiveCylinderSegmentationType ">
<
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 >
Super-types:
SegmentationType
< ProjectiveZPlaneSegmentationType (by extension)
Sub-types:
None
Name
ProjectiveZPlaneSegmentationType
Abstract
no
Documentation
Prj ZPlane segmentation type
XML Instance Representation
<...
ntheta="
xs :int [1] "
nphi="
xs :int [1] " />
Schema Component Representation
<
xs:complexType name ="
ProjectiveZPlaneSegmentationType ">
<
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 >
Name
ScorerType
Abstract
no
Documentation
Scoring plane sensitive detector type.
Assigned LV should be thin, e.g. a few micron, and close to Vacuum.
XML Instance Representation
<...
name="
xs :ID [1] "
hits_collection="
xs :string [1] "
endcap_flag="
xs :boolean [0..1] "
ecut="
xs :double [0..1] "
eunit="
xs :string [0..1] "
verbose="
xs :integer (0 <= value <= 2) [0..1] " >
Start Choice [1]
End Choice
</...>
Schema Component Representation
<
xs:complexType name ="
ScorerType ">
<
xs:complexContent >
</
xs:complexContent >
</
xs:complexType >
Super-types:
None
Sub-types:
Name
SegmentationType
Abstract
no
Documentation
Base segmentation type
Super-types:
None
Sub-types:
None
Name
SensitiveDetectorsType
Abstract
no
Documentation
Sensitive detector container type
Schema Component Representation
<
xs:complexType name ="
SensitiveDetectorsType ">
<
xs:sequence >
<
xs:element ref ="
sd
"
minOccurs ="
0 "
maxOccurs ="
unbounded "/>
</
xs:sequence >
</
xs:complexType >
Super-types:
None
Sub-types:
Name
SensitiveDetectorType
Abstract
no
Documentation
Sensitive detector type with a name id, hits collection name
and a list of sensitive volumes
XML Instance Representation
<...
name="
xs :ID [1] "
hits_collection="
xs :string [1] "
endcap_flag="
xs :boolean [0..1] "
ecut="
xs :double [0..1] "
eunit="
xs :string [0..1] "
verbose="
xs :integer (0 <= value <= 2) [0..1] " >
Start Choice [1]
End Choice
</...>
Schema Component Representation
<
xs:complexType name ="
SensitiveDetectorType ">
<
xs:choice >
<
xs:element name ="
idspecref "
type ="
ReferenceType
"
minOccurs ="
0 "
maxOccurs ="
1 "/>
</
xs:choice >
<
xs:attribute name ="
name "
type ="
xs :ID
"
use ="
required "/>
<
xs:attribute name ="
hits_collection "
type ="
xs :string
"
use ="
required "/>
<
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 >
Name
TrackerType
Abstract
no
Documentation
Tracker sensitive detector type
XML Instance Representation
<...
name="
xs :ID [1] "
hits_collection="
xs :string [1] "
endcap_flag="
xs :boolean [0..1] "
ecut="
xs :double [0..1] "
eunit="
xs :string [0..1] "
verbose="
xs :integer (0 <= value <= 2) [0..1] "
combine_hits="
xs :boolean [0..1] " >
Start Choice [1]
End Choice
</...>
Schema Component Representation
<
xs:complexType name ="
TrackerType ">
<
xs:complexContent >
<
xs:extension base ="
SensitiveDetectorType
">
<
xs:attribute name ="
combine_hits "
type ="
xs :boolean
"
default ="
false "/>
</
xs:extension >
</
xs:complexContent >
</
xs:complexType >
Complex Type:
Schema Component Type
AusAddress
Schema Component Name
Super-types:
Address < AusAddress (by extension)
Sub-types:
QLDAddress (by restriction)
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
The table above displays the properties of this schema component.
XML Instance Representation
<...
country="Australia "
>
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice
[1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1]
?
</...>
The XML Instance Representation table above shows the schema component's content as an XML instance.
The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].
Model group information are shown in gray, e.g. Start Choice ... End Choice.
For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in bold .
If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".
Otherwise, the type of the element/attribute is displayed.
If the element/attribute's type is in the schema, a link is provided to it.
For local simple type definitions, the constraints are displayed in angle brackets, e.g. <<pattern = [1-9][0-9]{3}>>.
If a local element/attribute has documentation, it will be displayed in a window that pops up when the question mark inside the attribute or next to the element is clicked, e.g. <postcode>.
Schema Component Representation
<complexType
name ="AusAddress ">
<complexContent >
<extension
base ="
Address
">
<sequence >
<element
name ="state " type ="
AusStates
"/>
<element
name ="postcode ">
<simpleType >
<restriction
base ="
string
">
<pattern
value ="[1-9][0-9]{3} "/>
</restriction >
</simpleType >
</element >
</sequence >
<attribute
name ="country " type ="
string
" fixed ="Australia "/>
</extension >
</complexContent >
</complexType >
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)
Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.
All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all .
Choice Model Group
Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice .
Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.
Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods , e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type
attribute.
Key Constraint Like Uniqueness Constraint , but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions .
Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint . See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions .
Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups .
Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil
attribute. The xsi:nil
attribute is the boolean attribute, nil , from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil
attribute set to true, it can be left empty, even though its element declaration may have required content.
Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations .
Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.
Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.
Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.
Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).
Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence .
Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.
Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.
Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.
Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions .