File: Pyramida.v1.5.zip ...
file: hemisphere.geom This example geometry file describes a hemisphere from a set of spheres and a set of planes using an N-dimensional geometry. We start by defining the set of spheres to contain a single sphere with a radius of 1 with midpoint at the origin: :start geometry: library = egs_spheres name = sphere midpoint = 0 0 0 radii = 1 :stop geometry: We then define a set of planes consisting of a single plane with a normal at 45 degrees with the 3 axis passing through the origin and defining a single region (the region to which the plane normal points to): :start geometry: library = egs_planes type = EGS_Planes name = planes normal = 1 1 1 positions = 0 # a second plane at infinity will get defined # internally, if we input a single position :stop geometry: Now we can put the two geometry objects together using an N-dimensional geometry to form the hemisphere :start geometry: library = egs_ndgeometry name = hemisphere dimensions = planes sphere and fill the hemisphere with water. :start media input: media = H2O700ICRU :stop media input: :stop geometry:
File: pyramida.v1.5.zip ...
file: pyramid.geom This example defines a pyramid with an irregular base that is truncated at the two ends with a set of planes within an N-dimensional geometry. We start by defining the set of planes :start geometry: library = egs_planes type = EGS_Zplanes positions = -4 4 name = planes :stop geometry: We then construct a pyramid with its base in the z-plane at z=0: :start geometry: library = egs_pyramid type = EGS_PyramidZ name = pyramid points = -2,-2.05 -1,-1.05, -2,2.05 2,2.05 2,0.05 \ 1,0 1,-2.05 -2,-2.05 tip = 0 0 8 :stop geometry: Because this is a z-pyramid, the input to the points key is interpreted as a list of 2D positions in the z=0 xy-plane. Note also the line continuation using the \ character. Now we can put the two geometry objects together using an N-dimensional geometry to form the truncated pyramid and fill the resulting single region with aluminum: :start geometry: library = egs_ndgeometry name = cut_pyramid hownear method = 1 dimensions = planes pyramid :start media input: media = AL521ICRU :stop media input: :stop geometry:
file: rz.geom This example geometry file defines an RZ-geometry using an N-dimensional geometry made of a set of cylinders and a set of planes. The geometry defined is the same as in the cavrznrc_template.egsinp file for the CAVRZnrc application (a simple pancake ionization chamber with graphite walls and air cavity).
file: cones.geom This example geometry file demonstrates the use of an EGS_ConeSet object. Because a set of cones is unlimited and therefore not very well suited for viewing, we use an N-dimensional geometry with a sphere forming the second dimension to limit the extent of the geometry. We start by defining a set of 6 cones with the same apex and opening angles between 10 and 60 degrees :start geometry: library = egs_cones type = EGS_ConeSet name = cone_set apex = 0 0 0 axis = 0 0 1 opening angles = 10 20 30 40 50 60 flag = 1 # you can also set this to 0 or 2 :stop geometry: For the sake of brevity we skip the definition of the sphere (see previous examples) and only show the definition of the N-dimensional geometry :start geometry: library = egs_ndgeometry name = cones dimensions = sphere cone_set hownear method = 1 :start media input: media = med1 med2 med3 med4 med5 med6 set medium = 0 0 set medium = 1 1 set medium = 2 2 set medium = 3 3 set medium = 4 4 set medium = 5 5 :stop media input: :stop geometry: We repeatedly use the set medium key to fill each region of the cones below the apex with a different medium.
file: xyz.geom This example shows a XYZ-geometry filled with water and two inhomogeneities made of air and aluminum. The XYZ-geometry class is in the same library as N-dimensional geometries and therefore we have to specify that we are constructing a XYZ-geometry instead of a N-dimensional geometry (the default): :start geometry: library = egs_ndgeometry type = EGS_XYZGeometry name = xyz We then define the x-planes, x-planes = -11 -9 -7 -5 -3 -1 1 3 5 7 9 11 the y-planes, y-planes = -11 -9 -7 -5 -3 -1 1 3 5 7 9 11 and the z-planes z-planes = 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 \ 10 10.5 11 13 14.5 16 17 20 We then define the media for this geometry :start media input: media = H2O700ICRU AL700ICRU AIR700ICRU This fills the entire geometry with the first medium (medium 0). We then use set medium keys to define the inhomogeneities: set medium = 4 5 4 5 4 10 1 set medium = 5 6 5 6 4 10 2 This fills all regions with x-indeces 4 or 5, y-indeces 4 or 5 and z-indeces between 4 and 10 with medium 1 (AL700ICRU) and then all regions with x-indeces 5 or 6, y-indeces 5 or 6 and z-indeces between 4 and 10 with medium 2 (AIR700ICRU) (i.e. some of the regions originally set to aluminum get refilled with air by the second set medium key).
file: mushroom.geom This example geometry file defines a mushroom-like geometrical structure using a CD-geometry with a set of planes as a base and spheres and cylinders inscribed into the two regions defined by the planes. We first define a set of parallel z-planes, :start geometry: library = egs_planes type = EGS_Zplanes name = the_planes positions = 0 4.0 5 :stop geometry: a sphere filled with medium1, :start geometry: library = egs_spheres midpoint = 0 0 -1 radii = 6 name = the_sphere :start media input: media = medium1 :stop media input: :stop geometry: and a z-cylinder filled with medium2 :start geometry: library = egs_cylinders type = EGS_ZCylinders name = the_cylinder radii = 1 :start media input: media = medium2 :stop media input: :stop geometry: We then use CD-geometry formed by the two regions of the planes as a base and the sphere inscribed into region 1 and the cylinder into region 0: :start geometry: library = egs_cdgeometry name = mushroom base geometry = the_planes set geometry = 1 the_sphere set geometry = 0 the_cylinder :stop geometry:
file: rounded_ionchamber.geom The file rounded_ionchamber.geom defines an ionization chamber geometry that has rounded ends using a CD-geometry. We use a set of 4 planes that defines 3 regions for the base of the CD-geometry: :start geometry: library = egs_planes type = EGS_Zplanes name = base_planes positions = -2 -1 1 2 :stop geometry: In the bottom part (between the planes at -2 and -1) we will be inscribing a N-dimensional geometry that is made from a set of spheres and a set of cylinders. Here are the spheres: :start geometry: library = egs_spheres name = top_spheres midpoint = 0 0 -1 radii = 0.7 1 :stop geometry: and here the cylinders: :start geometry: library = egs_cylinders type = EGS_ZCylinders name = top_cylinders radii = 0.3 0.7 1 :stop geometry: When combined into a N-dimensional geometry they will form a geometry with 2x3=6 regions. Regions 0 is within the innermost cylinder and the inner sphere, region 1 within the innermost cylinder and the spherical shell between the outer and inner spheres. These two regions are filled with aluminum to describe the central electrode of the chamber in the bottom part. Region 2 is between the second and first cylinders but within the inner sphere. This region belongs to the air cavity. All other regions are part of the chamber wall. The definition of the N-dimensional geometry describing the top part of the chamber therefore looks like this: :start geometry: library = egs_ndgeometry name = top_chamber_part dimensions = top_spheres top_cylinders :start media input: media = 170C521ICRU AIR521ICRU AL521ICRU set medium = 0 5 0 set medium = 0 2 set medium = 1 2 set medium = 2 1 :stop media input: :stop geometry: (note that I was confused about top and bottom when making this geometry file and therefore the geometry names suggest that the top part is the bottom and vice versa). In the top part of the chamber there is no central electrode. It is therefore sufficient to inscribe the following set of spheres into the bottom region of the planes (the region between the planes at 1 and 2): :start geometry: library = egs_spheres name = bottom_chamber_part midpoint = 0 0 1 radii = 0.7 1 :start media input: media = 170C521ICRU AIR521ICRU set medium = 0 1 set medium = 1 0 :stop media input: :stop geometry: The middle portion of the chamber is simply made from a set of 3 cylinders for the central electrode, the air cavity and the wall: :start geometry: library = egs_cylinders type = EGS_ZCylinders name = middle_chamber_part radii = 0.3 0.7 1 :start media input: media = 170C521ICRU AIR521ICRU AL521ICRU set medium = 0 2 set medium = 1 1 set medium = 2 0 :stop media input: :stop geometry: The final geometry is then formed as a CD-geometry with the first set of planes as a base and the N-dimensional geometry put into region 0, the set of cylinders into region 1 and the set of spheres into region 2: :start geometry: library = egs_cdgeometry name = chamber base geometry = base_planes set geometry = 0 top_chamber_part set geometry = 1 middle_chamber_part set geometry = 2 bottom_chamber_part :stop geometry:
file: chambers_in_box.geom This example file puts 3 transformed copies of the same chamber geometry as in the previous example into a box of water using the functionality provided by envelope geometries and transformed geometries. After defining the complete chamber geometry (named chamber and its definition not shown here for the sake of brevity), we define a 10x10x10 box filled with water :start geometry: library = egs_box name = water_box box size = 10 # i.e. a 10x10x10 box :start media input: media = H2O521ICRU :stop media input: :stop geometry: and then use a transformed geometry to create 2 replicas of the original chamber :start geometry: library = egs_gtransformed my geometry = chamber name = left_chamber :start transformation: translation = -3 0 0 :stop transformation: :stop geometry: :start geometry: library = egs_gtransformed my geometry = chamber name = other_chamber :start transformation: rotation vector = 1 1 1 translation = 1 2 1 :stop transformation: :stop geometry: With the help of an envelope geometry we then inscribe the original chamber and the 2 transformed copies into the water box: :start geometry: library = egs_genvelope name = box_with_chambers base geometry = water_box inscribed geometries = chamber left_chamber other_chamber :stop geometry: 041b061a72