Title: Detector description language news
1Detector description language news
2Topics
- News of the geometry
- No more need for default attributes
- Transformations
- Usage
- Composition
- Boolean solids
- Parametrized volumes
- Trapezoids
- News of detector elements
- userParameter and userParameterVector
- Done / To do list
3Default values for attributes
- Null or default values are no more needed inside
xml - These are mostly
- 0m for every dimension
- 0degree for every angle
- 360degree for deltaPhiAngle
- 180degree for deltaThetaAngle
lttubs name"..." sizeZ "1m"
innerRadius "0m" outerRadius
"1m" startPhiAngle"0degree"
deltaPhiAngle"360phi"/gt ltposXYZ x"0m"
y"1m" z"0m"/gt
lttubs name"..." sizeZ "1m"
outerRadius "1m"/gt ltposXYZ y"1m"/gt
New Way
Old Way
4Usage of the transformations
- No more inside solids but outside
- Accepted after every solid (even first one in
booleans) - Give position first, rotation afterwards.
rotation is applied first.
ltsubtraction name"L"gt ltbox .../gt ltbox ...gt
ltposXYZ .../gt lt/boxgt lt/subtractiongt
ltsubtraction name"L"gt ltbox .../gt lt!-- I can
put pos and rot here --gt ltbox .../gt ltposXYZ
.../gt lt/subtractiongt
Old Way
New Way
5Composition of transformations
- A new tag lttransformationgt
- No attributes, as many children as you want
- It just applies the transformation in the order
they are given
lttransformationgt ltpos ...gt ltrot ...gt
lttransformationgt ltpos ...gt ltrot ...gt
ltpos ...gt lt/transformationgt lt/transformationgt
1st
2nd
3rd
6Composition of boolean operations
- Nothing new but a recursive behavior of booleans.
ltsubtraction name"..."gt ltunion name"..."gt
lttubs .../gt lttubs .../gt ltposXYZ
.../gt lt/uniongt ltintersection name"..."gt
lttubs .../gt lttubs .../gt ltposXYZ
.../gt lt/intersectiongt lt/subtractiongt
7Composition of parametrizations
- Nothing new but a recursive behavior of
parametrization.
ltlogvol ... name"ppv"gt ltparamphysvol
number"4"gt ltphysvol ... logvol".../vol"/gt
ltposXYZ y"1m"/gt ltrotXYZ
rotZ"45degree"/gt lt/paramphysvolgt lt/logvolgt ltl
ogvol ... name"pppv"gt ltparamphysvol
number"3"gt ltphysvol nam...
logvol".../ppv"/gt ltposXYZ/gt ltrotXYZ
rotZ"45degree"/gt lt/paramphysvolgt lt/logvolgt
82D and 3D parametrizations
- New tags ltparamphysvol2Dgt and ltparamphysvol3Dgt
- Special behavior, different from composition
- All rotations applied first
- Positionning done at the end
- The results are "grids"
ltlogvol ... name"ppv2D"gt ltparamphysvol2D
number1"4"
number2"4"gt ltphysvol ...
logvol".../vol"/gt ltposXYZ y"1m"/gt
ltrotXYZ rotZ"45degree"/gt ltposXYZ
x"1m"/gt ltrotXYZ rotZ"90degree"/gt
lt/paramphysvol2Dgt lt/logvolgt
9Example of 3D parametrization
ltlogvol ... name"ppv3D"gt ltparamphysvol3D
number1"4"
number2"4"
number3"2"gt ltphysvol ...
logvol".../vol"/gt ltposXYZ y"1m"/gt
ltrotXYZ rotZ"45degree"/gt ltposXYZ
x"1m"/gt ltrotXYZ rotZ"90degree"/gt
ltposXYZ x".5m" y".5m"/gt ltrotXYZ
rotZ"180degree"/gt lt/paramphysvol3Dgt lt/logvolgt
10General trapezoids
- New tag lttrapgt with lots of attributes name,
sizeZ, theta, phi, sizeY1, sizeX1, sizeX2, alp1,
sizeY2, sizeX3, sizeX4, alp2. - This is exactly the geant general trapezoid.
lttrap name"trap_sample" sizeZ"12m"
theta"0degree" phi"0degree"
sizeY1"2m" sizeX1"2m"
sizeX2"4m" alp1"0degree"
sizeY2"4m" sizeX3"4m"
sizeX4"8m" alp2"0degree"/gt
11userParameter / userParameterVector
- Two new tags ltuserParametergt and
ltuserParameterVectorgt - Attributes are name, type and comment. All these
are strings. - The value is given directly between opening and
closing tags. - It is accessible in regular interface
IdetectorElement via methods userParameterType,
userParameterComment, userParameterValue,
userParameter (see next talk)
ltuserParameterVector name"Al_plate_thickn
ess" type"double"
comment"blabla"gt 1.222m 1.333m 1.444m
1.555m lt/userParameterVectorgt
ltuserParameter name"Al_plate_thickness"
type"double" comment"blabla"gt
1.2222mm lt/userParametergt
12To be done / discussed
- Concerning geometry
- Test general trapezoids
- Discuss the memory problem for parametrized
physical volumes - Be able to reload xml in GaudiLab (most of the
work in DetDesc) - Usage of a transformation for the first solid in
a boolean - Compile and test everything under windows
- Problems with GaudiLab (stability, boolean
operations, ...) - Concerning structure
- Discuss the scope of the ltparametergt tag
- Improve the ltuserParam(Vector)gt tag