2-2 Gaudi Advanced Tutorial, 2001
ObjectivesObjectives
After completing this lesson, you should After completing this lesson, you should be able to do the following:be able to do the following:
• Read and write XML files
• Write LHCb detector geometry in XML
• Visualize the geometry
After completing this lesson, you should After completing this lesson, you should be able to do the following:be able to do the following:
• Read and write XML files
• Write LHCb detector geometry in XML
• Visualize the geometry
2-3 Gaudi Advanced Tutorial, 2001
– XML declaration– XML declaration
– Comments– Comments
– Elements– Elements
– Attributes– Attributes
XML syntax overviewXML syntax overview
• A markup language
• Extendible
• A markup language
• Extendible
<?xml version=‘1.0’ encoding=‘UTF-8’?><!-- This is an example of XML --><Email> <TimeStamp time=11:38:43 /> <Sender> [email protected] </Sender> <Recipient> [email protected] </Recipient> <Subject> Lunch... </Subject> <Body> Could we meet at 14:00? <Signature> Sender’s signature </Signature> </Body></Email>
<?xml version=‘1.0’ encoding=‘UTF-8’?><!-- This is an example of XML --><Email> <TimeStamp time=11:38:43 /> <Sender> [email protected] </Sender> <Recipient> [email protected] </Recipient> <Subject> Lunch... </Subject> <Body> Could we meet at 14:00? <Signature> Sender’s signature </Signature> </Body></Email>
– Values– Values
• Main components :• Main components :
2-4 Gaudi Advanced Tutorial, 2001
Usage of DTDsUsage of DTDs
• Definition of a grammar
• Specifies :
– Allowed elements
– Allowed attributes for a given element
– Allowed children for a given element
• Written in markup language too
• Definition of a grammar
• Specifies :
– Allowed elements
– Allowed attributes for a given element
– Allowed children for a given element
• Written in markup language too
2-5 Gaudi Advanced Tutorial, 2001
Example of DTD usageExample of DTD usage<?xml version=‘1.0’ encoding=‘UTF-8’?><!DOCTYPE Email SYSTEM “file.dtd”><!-- This is an example of XML --><Email> <TimeStamp time=11:38:43 /> <Sender> [email protected] </Sender> <Recipient> [email protected] </Recipient> <Subject> Lunch... </Subject> <Body> Could we meet at 14:00? <Signature> Sender’s signature </Signature> </Body></Email>
<?xml version=‘1.0’ encoding=‘UTF-8’?><!DOCTYPE Email SYSTEM “file.dtd”><!-- This is an example of XML --><Email> <TimeStamp time=11:38:43 /> <Sender> [email protected] </Sender> <Recipient> [email protected] </Recipient> <Subject> Lunch... </Subject> <Body> Could we meet at 14:00? <Signature> Sender’s signature </Signature> </Body></Email>
<?xml version="1.0“ encoding="UTF-8"?><!ELEMENT Email (TimeStamp, Sender, Recipient, Subject, Body)><!ELEMENT TimeStamp EMPTY><!ATTLIST TimeStamp time CDATA #REQUIRED"><!ELEMENT Sender #PCDATA><!ELEMENT Recipient #PCDATA><!ELEMENT Subject #PCDATA><!ELEMENT Body (#PCDATA|Signature)*><!ELEMENT Signature #PCDATA>
<?xml version="1.0“ encoding="UTF-8"?><!ELEMENT Email (TimeStamp, Sender, Recipient, Subject, Body)><!ELEMENT TimeStamp EMPTY><!ATTLIST TimeStamp time CDATA #REQUIRED"><!ELEMENT Sender #PCDATA><!ELEMENT Recipient #PCDATA><!ELEMENT Subject #PCDATA><!ELEMENT Body (#PCDATA|Signature)*><!ELEMENT Signature #PCDATA>
2-6 Gaudi Advanced Tutorial, 2001
The LHCb Detector DTDThe LHCb Detector DTD
• Divided into 3 main parts
– structure
– geometry
– material
• External DTDs, to be referenced in every LHCb XML files
• Divided into 3 main parts
– structure
– geometry
– material
• External DTDs, to be referenced in every LHCb XML files
2-7 Gaudi Advanced Tutorial, 2001
Some specificitiesSome specificities
• Expressions evaluator – units & functions known• Expressions evaluator – units & functions known
12.2*mm + .17*m / tan (34*degree)12.2*mm + .17*m / tan (34*degree)
• parameter : a kind of macro• parameter : a kind of macro
<parameter name="InCell" value="40.6667*mm"/>
<parameter name="MidCell" value="1.5*InCell"/>
<parameter name="InCell" value="40.6667*mm"/>
<parameter name="MidCell" value="1.5*InCell"/>
protocol://hostname/path/file.xml#ObjectIDprotocol://hostname/path/file.xml#ObjectID
• References : element + “ref”• References : element + “ref”
<detelemref href="LHCb/structure.xml#LHCb"/><detelemref href="LHCb/structure.xml#LHCb"/>
2-8 Gaudi Advanced Tutorial, 2001
Structure ElementsStructure Elements
• DDDB : the root
• catalog : a list
• detelem : a detector element
• geometryInfo : connection to the geometry
• userParameter(Vector) : hook for adding parameters
• specific : hook for extending the DTD
• DDDB : the root
• catalog : a list
• detelem : a detector element
• geometryInfo : connection to the geometry
• userParameter(Vector) : hook for adding parameters
• specific : hook for extending the DTD
<DDDB> <catalog name=“…"> <detelem name=“…"> <geometryinfo lvname=“…” npath=“…” support=“…”/> <userParameter comment=“…” name=“…” type="string"> … </userParameter> <specific> … </specific> </detelem> </catalog></DDDB>
<DDDB> <catalog name=“…"> <detelem name=“…"> <geometryinfo lvname=“…” npath=“…” support=“…”/> <userParameter comment=“…” name=“…” type="string"> … </userParameter> <specific> … </specific> </detelem> </catalog></DDDB>
2-9 Gaudi Advanced Tutorial, 2001
Geometry Elements (1)Geometry Elements (1)
• DDDB : the root
• catalog : a list
• logvol : logical volume
• physvol : physical volume
• paramphysvol(2D)(3D) : replication of physical volumes
• tabproperty : tabulated properties
• DDDB : the root
• catalog : a list
• logvol : logical volume
• physvol : physical volume
• paramphysvol(2D)(3D) : replication of physical volumes
• tabproperty : tabulated properties
<DDDB> <catalog name=“…”> <logvol material=“…” name=“…”> <physvol logvol=“…” name=“…”/> </logvol> <logvol name=“…”> <paramphysvol number="5"> <physvol logvol=“…” name=“…”/> <posXYZ z="20*cm"/> </paramphysvol> </logvol> </catalog></DDDB>
<DDDB> <catalog name=“…”> <logvol material=“…” name=“…”> <physvol logvol=“…” name=“…”/> </logvol> <logvol name=“…”> <paramphysvol number="5"> <physvol logvol=“…” name=“…”/> <posXYZ z="20*cm"/> </paramphysvol> </logvol> </catalog></DDDB>
2-10 Gaudi Advanced Tutorial, 2001
Geometry Elements(2)Geometry Elements(2)
• posXYZ, posRPhiZ, posRThPhi : translations
• rotXYZ, rotAxis : rotations
• transformation : composition of transformations
• box, trd, trap, cons, tub, sphere
• union, intersection, subtraction : boolean solids
• surface
• posXYZ, posRPhiZ, posRThPhi : translations
• rotXYZ, rotAxis : rotations
• transformation : composition of transformations
• box, trd, trap, cons, tub, sphere
• union, intersection, subtraction : boolean solids
• surface
<subtraction name="sub2"> <box name="box3“ sizeX="1*m“ sizeY="1*m“ sizeZ="15*cm"/> <tubs name="tub2“ outerRadius="15*cm“ sizeZ="25*cm"/></subtraction><posXYZ z="-40*cm"/><rotXYZ rotX=“90*degree”/>
<subtraction name="sub2"> <box name="box3“ sizeX="1*m“ sizeY="1*m“ sizeZ="15*cm"/> <tubs name="tub2“ outerRadius="15*cm“ sizeZ="25*cm"/></subtraction><posXYZ z="-40*cm"/><rotXYZ rotX=“90*degree”/>
2-11 Gaudi Advanced Tutorial, 2001
Material ElementsMaterial Elements
• materials : the root
• catalog : a list
• tabproperty : tabulated properties
• atom
• isotope
• element : a mixture of isotopes
• material : mixtures of elements or materials
• materials : the root
• catalog : a list
• tabproperty : tabulated properties
• atom
• isotope
• element : a mixture of isotopes
• material : mixtures of elements or materials
<isotope A="11*g/mole“ name="Bor_11“ …/><element name="Boron“ symbol="B“ …> <isotoperef href="#Bor_10“ fractionmass="0.20"/> <isotoperef href="#Bor_11“ fractionmass="0.80"/></element><element name="Oxygen“ symbol="O“ …> <atom A="16*g/mole“ Zeff="8.0000"/></element><material name="CO2“ …> <component name="Carbon“ natoms="1"/> <component name="Oxygen“ natoms="2"/></material>
<isotope A="11*g/mole“ name="Bor_11“ …/><element name="Boron“ symbol="B“ …> <isotoperef href="#Bor_10“ fractionmass="0.20"/> <isotoperef href="#Bor_11“ fractionmass="0.80"/></element><element name="Oxygen“ symbol="O“ …> <atom A="16*g/mole“ Zeff="8.0000"/></element><material name="CO2“ …> <component name="Carbon“ natoms="1"/> <component name="Oxygen“ natoms="2"/></material>
2-12 Gaudi Advanced Tutorial, 2001
XmlEditorXmlEditor
• Explorer-like XML viewer
• No need to know XML syntax
• Checks the DTD when opening a file
• Allows copy, paste and drag and drop of nodes
• Allows view of several files at the same time
• Hide references across files
• Explorer-like XML viewer
• No need to know XML syntax
• Checks the DTD when opening a file
• Allows copy, paste and drag and drop of nodes
• Allows view of several files at the same time
• Hide references across files
Easy XML editionEasy XML edition
$LHCBSOFT/Det/XmlEditor/v*/scripts/xmlEditor(.bat)http://lhcb-comp.web.cern.ch/lhcb-comp/Frameworks/DetDesc/Documents/XmlEditor.pdf
$LHCBSOFT/Det/XmlEditor/v*/scripts/xmlEditor(.bat)http://lhcb-comp.web.cern.ch/lhcb-comp/Frameworks/DetDesc/Documents/XmlEditor.pdf
2-14 Gaudi Advanced Tutorial, 2001
PanoramixPanoramix
• Events and Geometry viewer
• Takes LHCb specificities into account
– references
– logical volumes hierarchy
– subDetectors
• Interactive move inside the geometry
• Events and Geometry viewer
• Takes LHCb specificities into account
– references
– logical volumes hierarchy
– subDetectors
• Interactive move inside the geometry
$LHCBSOFT/Vis/Panoramix/v*/scripts/panoramix(.bat)http://www.lal.in2p3.fr/SI/Panoramix/tutorial/tutorial.html
$LHCBSOFT/Vis/Panoramix/v*/scripts/panoramix(.bat)http://www.lal.in2p3.fr/SI/Panoramix/tutorial/tutorial.html
2-16 Gaudi Advanced Tutorial, 2001
ReferencesReferences
• Gaudi user guide
• XmlEditor documentation
• “The LHCb detector description DTD”
• “Extending detector elements and implications“
• Panoramix tutorial
• Everything can be found at :
http://lhcb-comp.web.cern.ch/lhcb-comp/
• Gaudi user guide
• XmlEditor documentation
• “The LHCb detector description DTD”
• “Extending detector elements and implications“
• Panoramix tutorial
• Everything can be found at :
http://lhcb-comp.web.cern.ch/lhcb-comp/
2-18 Gaudi Advanced Tutorial, 2001
Exercise GoalExercise Goal
• Define the geometry of a new subDetector
• Use XmlEditor to write the XML
• Use Panoramix to visualize it
• Define the geometry of a new subDetector
• Use XmlEditor to write the XML
• Use Panoramix to visualize it
2-19 Gaudi Advanced Tutorial, 2001
GeometryGeometry
headhead
headhead
1 m1 m
1 m1 m
3 m3 m
hole ø 30 cmhole ø 30 cm
1 m1 m
hole ø 30 cm
plate thickness 15 cm
spacing 5 cm
hole ø 30 cm
plate thickness 15 cm
spacing 5 cm
1 m1 m
1 m1 m
4 identical elements
4 identical elements
50 cm50 cm
16 m16 m
LHCbLHCb
2-20 Gaudi Advanced Tutorial, 2001
How to startHow to start
• source $LHCBHOME/scripts/tutorial.csh• cd tutorial• getpack Tutorial/Detector v3• cd Tutorial/Detector/v3• cp –r data/DDDBStart data/DDDB• cd cmt• cmt config• source setup.csh
To launch the applications :To launch the applications :• setenv DISPLAY ETSUN**:0.0• xhost + lxplus (on the local host)• xmlEditor• panoramix
• source $LHCBHOME/scripts/tutorial.csh• cd tutorial• getpack Tutorial/Detector v3• cd Tutorial/Detector/v3• cp –r data/DDDBStart data/DDDB• cd cmt• cmt config• source setup.csh
To launch the applications :To launch the applications :• setenv DISPLAY ETSUN**:0.0• xhost + lxplus (on the local host)• xmlEditor• panoramix
2-21 Gaudi Advanced Tutorial, 2001
What has to be doneWhat has to be done
• the directory data/DDDB contains part of the LHCb detector description (actually only Velo) and an empty mySubDet.
• To be done :
– define the structure of the detector in data/DDDB/mySubDet/structure.xml
– define the geometry of the detector in data/DDDB/mySubDet/geometry.xml
– visualize the result and play with it
• the directory data/DDDB contains part of the LHCb detector description (actually only Velo) and an empty mySubDet.
• To be done :
– define the structure of the detector in data/DDDB/mySubDet/structure.xml
– define the geometry of the detector in data/DDDB/mySubDet/geometry.xml
– visualize the result and play with it
2-22 Gaudi Advanced Tutorial, 2001
Hints on the structureHints on the structure
• This is defined in data/DDDB/mySubDet/structure.xml
• You should define 6 detector elements :
– One main
– One for the head, and one per element
• Detector elements only contain references, no detector element. Thus, edit structure.xml directly to add new detector elements at the same level as the main detector element
• GeometryInfo nodes need a lvname, a npath and a support. Don’t forget them
• Several detector elements may have the same logical volume, if they are physically identical
• This is defined in data/DDDB/mySubDet/structure.xml
• You should define 6 detector elements :
– One main
– One for the head, and one per element
• Detector elements only contain references, no detector element. Thus, edit structure.xml directly to add new detector elements at the same level as the main detector element
• GeometryInfo nodes need a lvname, a npath and a support. Don’t forget them
• Several detector elements may have the same logical volume, if they are physically identical
2-23 Gaudi Advanced Tutorial, 2001
Hints on geometryHints on geometry
• Do not forget to add your new sub detector to the LHCb geometry
• You should create 5 logical volumes only :
– The main one
– One for the head
– One for the other elements
– One for the inner of the element (you will need a coordinate system change)
– One for the plates
• Remember the existence of parametrised physical volumes for defining several identical volumes
• Take care of the case !
• Do not forget to add your new sub detector to the LHCb geometry
• You should create 5 logical volumes only :
– The main one
– One for the head
– One for the other elements
– One for the inner of the element (you will need a coordinate system change)
– One for the plates
• Remember the existence of parametrised physical volumes for defining several identical volumes
• Take care of the case !
2-24 Gaudi Advanced Tutorial, 2001
Hints on XmlEditorHints on XmlEditor
• Fileopen to open a file
• your files are in mycmt/Tutorial/Detector/v3/data/DDDB
• Double click to open nodes
• Right click to add elements/attributes
• Click on a value or node name to edit it
• Copy/paste available (Ctrl Vpaste, Ctrl Ccopy, Ctrl Xcut, Ctrl Bpaste into parent)
• Drag & drop available (move, Ctrlcopy, Ctrl Shiftref)
• Prefer Filesave all to save you work
• Fileopen to open a file
• your files are in mycmt/Tutorial/Detector/v3/data/DDDB
• Double click to open nodes
• Right click to add elements/attributes
• Click on a value or node name to edit it
• Copy/paste available (Ctrl Vpaste, Ctrl Ccopy, Ctrl Xcut, Ctrl Bpaste into parent)
• Drag & drop available (move, Ctrlcopy, Ctrl Shiftref)
• Prefer Filesave all to save you work
2-25 Gaudi Advanced Tutorial, 2001
Hints on PanoramixHints on Panoramix
• Use DetectormySubDet to display your geometry
• Then, two modes are available (you change by clicking on the icons on the right) :
– “small hand”, you can :
– rotate with left button + move– translate with middle + move or left + Ctrl + move– zoom with middle + Crtl + move or left + middle + move
– “pointer”, you can :
– open a volume with Ctrl + left click– remove/add color with left click
• The “eye” icon automatically resizes the view to your screen
• Relaunch panoramix when changing geometry
• Use DetectormySubDet to display your geometry
• Then, two modes are available (you change by clicking on the icons on the right) :
– “small hand”, you can :
– rotate with left button + move– translate with middle + move or left + Ctrl + move– zoom with middle + Crtl + move or left + middle + move
– “pointer”, you can :
– open a volume with Ctrl + left click– remove/add color with left click
• The “eye” icon automatically resizes the view to your screen
• Relaunch panoramix when changing geometry
2-27 Gaudi Advanced Tutorial, 2001
The LHCb Structure DTDThe LHCb Structure DTD
D DD B
version : C D ATA = 3 .2
<<D TD Elem ent>>
param eter
nam e : C D ATAvalue : CD ATA
cata log
nam e : IDclassID : C D ATA = 3
<<D TD Elem ent>>
cata logref
classID : C D ATA = 3href : C D ATA
|1..n1..n
|
0..n0..n
dete lem
nam e : IDclassID : C D ATA = 2type : (active | passive) = passive
<<D TD Elem ent>>
dete lem ref
classID : C D ATA = 2href : C D ATA
specificgeom etryin fo
lvnam e : C D ATAsupport : C D ATAnpath : C D ATArpath : C D ATA
#PC D ATA
userParam eter
type : C D ATA = doublenam e : C D ATAcom m ent : C D ATA
<<D TD Elem ent>>
#PC D ATA
userParam eterVector
type : C D ATA = doublenam e : C D ATAcom m ent : C D ATA
<<D TD Elem ent>>
#PC D ATA
author<<D TD Elem ent>>
|0..n0..n
#PC D ATA
version<<D TD Elem ent>>
2-28 Gaudi Advanced Tutorial, 2001
The LHCb Geometry DTD (1)The LHCb Geometry DTD (1)
D D D B
version : C D ATA = 3.2
<<D TD Elem ent>>
entry
x : C D ATAy : C D ATA
text : C D ATA
#PC D ATA
|
tabpropertyre f
href : C D ATAclassID : C D ATA = 1300
surfaceref
href : C D ATAclassID : C D ATA = 1110
logvolref
href : C D ATAclassID : C D ATA = 1100
param eter
nam e : C D ATAvalue : C D ATA
cata logref
classID : C D ATA = 3href : C D ATA
|
1..n1..n
tabproperty
nam e : IDclassID : C D ATA = 1300type : C D ATAxaxis : C D ATA = xAxisyaxis : C D ATA = yAxisxunit : C DATA = 1.0yunit : C DATA = 1.0
<<D TD Elem ent>>
0..n0..n
logvol
nam e : IDclassID : C D ATA = 1100m ateria l : C D ATAsensdet : C D ATAm agfie ld : CD ATA
<<D TD Elem ent>>
|
|
cata log
nam e : IDclassID : C D ATA = 3
<<D TD Elem ent>>
0..n0..n
surface
nam e : IDclassID : C D ATA = 1110m odel : C D ATAfin ish : C D ATAtype : C D ATAvalue : C D ATAvolfirs t : C D ATAvolsecond : C D ATA = \0
<<D TD Elem ent>>
tabprops
address : C D ATA
0..*0 ..*
2-29 Gaudi Advanced Tutorial, 2001
The LHCb Geometry DTD (2)The LHCb Geometry DTD (2)
posXYZ
x : C D ATAy : C D ATAz : C D ATA
posR PhiZ
r : C D ATAphi : C D ATAz : C D ATA
posRThPhi
r : C D ATAtheta : C D ATAphi : C D ATA
rotXYZ
rotX : C D ATArotY : C D ATArotZ : C D ATA
rotAxis
axTheta : C D ATAaxPhi : C D ATAangle : C D ATA
|
|
union
nam e : ID
<<D TD Elem ent>>
subtraction
nam e : ID
<<D TD Elem en...
in tersection
nam e : ID
<<D TD Elem en...
&
&nam e{1}
0...0 ...
{2}
transform ation<<D TD Elem en...
&
box
nam e : IDsizeX : C D ATAsizeY : C D ATAsizeZ : C D ATA
trap
nam e : IDsizeZ : C D ATAtheta : C D ATA
phi : C D ATAsizeY 1 : C D ATAsizeX 1 : C D ATAsizeX 2 : C D ATAalp1 : CD ATA
sizeY 2 : C D ATAsizeX 3 : C D ATAsizeX 4 : C D ATAalp2 : CD ATA
tubs
nam e : IDsizeZ : C D ATA
outerR adius : C D ATAinnerR adius : C D ATAstartPhiAngle : C D ATAdeltaP hiAngle : C D ATA
sphere
nam e : IDouterR adius : C D ATAinnerR adius : C D ATA
startPhiAngle : C D ATAdeltaP hiAngle : C D ATA
startThetaAngle : C D ATAdeltaThetaA ngle : C D ATA
&
{1}
1..*1..*{2}
|
{1}
|
{1}1..*1..*
{2}
surf
address : C D ATA logvol
nam e : IDclassID : C D ATA = 1100m ateria l : CD ATAsensdet : C D ATAm agfie ld : C D ATA
<<D TD Elem ent>>
&
0..10..1
{2} {1}
&
0..10..1
{1}
|
0..n0..n
{2}
physvo l
nam e : IDlogvol : C D ATA
<<D TD Elem en...
0 ..10..1
param physvol
num ber : C D ATA
<<D TD Elem en...
{2}
param physvol2D
num ber1 : C D ATAnum ber2 : C D ATA
<<D TD Elem ent>>
{2, 3}
param physvol3D
num ber1 : C D ATAnum ber2 : C D ATAnum ber3 : C D ATA
<<D TD Elem ent>>
{2, 3, 4}
|
{1}{1}
{1}
nam e
cons
nam e : IDsizeZ : C D ATA
outerR adiusP Z : C D ATAouterR adiusM Z : C D ATAinnerR adiusPZ : C D ATAinnerR adiusM Z : C D ATAstartPhiAngle : C D ATAdeltaP hiAngle : C D ATA
trd
nam e : IDsizeZ : C D ATAsizeX 1 : C D ATAsizeY 1 : C D ATAsizeX 2 : C D ATAsizeY 2 : C D ATA
2-30 Gaudi Advanced Tutorial, 2001
The LHCb Materials DTDThe LHCb Materials DTD
entry
x : C D ATAy : C D ATA
text : C D ATA
#PC D ATA
com ponent
nam e : C D ATAnatom s : C D ATA = -1
fractionm ass : C D ATA = -1
|
&
0..*{1}
0 ..*
tabpropertyre f
href : C D ATAclassID : C D ATA = 1300
m ateria lre f
href : C D ATAfractionm ass : C D ATA
classID : C D ATA = 1203cata logref
classID : C D ATA = 3href : C D ATA
elem entre f
href : C D ATAnatom s : C D ATA = -1
fractionm ass : C D ATA = -1classID : C D ATA = 1202
tabproperty
nam e : IDclassID : C D ATA = 1300type : C D ATAxaxis : C D ATA = xAxisyaxis : C D ATA = yAxisxunit : C D ATA = 1 .0yunit : C D ATA = 1 .0
<<D TD Elem ent>>
0..n0..n
e lem ent
nam e : IDsym bol : C D ATAdensity : C D ATAradlen : C D ATAlam bda : C D ATAtem perature : C D ATApressure : C D ATAsta te : (so lid | liqu id | gas | undefined) = undefined
<<D TD Elem ent>>
m ateria l
nam e : IDA eff : C D ATAZeff : C D ATAdensity : C D ATAradlen : C D ATAlam bda : C D ATAtem perature : C D ATApressure : C D ATAsta te : (so lid | liqu id | gas | undefined) = undefined
<<D TD Elem ent>>
|
m ateria ls
D TD _Vers ion : C D ATA = v5
<<D TD Elem ent>>
cata log
nam e : IDclassID : C D ATA = 3
<<D TD Elem ent>>
0..n0..n
param eter
nam e : C D ATAvalue : C D ATA
|
1..n1..n
|
tabprops
address : C D ATA
0..*
{2}
0 ..*
isotope
nam e : IDA : C D ATAZ : C D ATAN : C D ATAdensity : C D ATAradlen : C D ATAlam bda : C D ATAtem perature : C D ATApressure : C D ATAsta te : (so lid | liqu id | gas | undefined) = undefined
<<D TD Elem ent>>
atom
A : C D ATAZeff : C D ATA
&
0..*0 ..*
{2}
isotopere f
href : C D ATAfractionm ass : C D ATA
classID : C D ATA = 1201
|11
{1}
0 ..*0 ..*