Re: Roto-translation

From: Chris Theis <>
Date: Mon, 12 Jul 2010 10:32:14 +0200


there are a couple of subtle things one has to keep in mind when
replicating and moving whole objects. For example in your case you
wanted to create a copy of an object made out of regions 5,6 & 7 and
apply a translation to this replicas. However, in these regions you're
using the bodies 3, 6 & 7 which are also used outside in different
regions. If you would now apply a transformation on regions 5,6 & 7 then
all bodies used in these regions would be affected as well. However,
this would unintentionally affect other regions that share these bodies
because they would implicitly be changed. The first warning message that
not all bodies could be re-linked is due to that problem.

The solution to this problem is to avoid sharing of bodies within
regions that are outside of replicated objects. In your case I simply
created a copy of shared bodies (like 3,6 & 7) and used those in the
grouped regions 5,6,7 that would be replicated. I then grouped regions
5,6,7 and saved this in the file simple1.dat. Subsequently I've created
the replica and applied the transformation, the result of which you can
find in simple1-rotated.dat

I copy a colleague of mine, Lukas Jaegerhofer, who has probably the most
experience of dealing with replicas in SimpleGeo because he had to build
a full accelerator beamline with them. So he's the real specialist, in
case of need.

The recommended way for replicas is the following (Lukas, please correct
me if I'm wrong)

- start with an empty geometry where you only create the prototype
without the surrounding region
- save that file as a native SimpleGeo file
- in your geometry where you would like to incorporate that prototype
you select "File -> Merge..." and open the prototype file. You will be
asked if you would like to import the prototype
  as a group or as individual regions -> select group.
- The prototype will appear as a group named "Root" in your geometry.
Rename that group and apply the transformation.
- If you want to include another copy of the prototype you can clone the
group and repeat the previous steps
- In the end you do the "Convert rel. to absolute positions" and that's

The only thing you have to be careful about is the naming of your
regions & bodies. When a full replica is created SimpleGeo tries to
create unique body/region names because FLUKA requires unique
identifiers. Unfortunately, in FLUKA there is the limitation of a max. 8
(or 10?) characters per name and with a lot of replicas the names easily
become quite long. SimpleGeo doesn't care about the length but FLUKA
does! There is a function in SimpleGeo "File -> Check validity" which
can help to check for conformance with FLUKA's naming rules.

Hope that helps

Chris Theis
CERN/DGS-RP - European Organization for Nuclear Research
1211 Geneva 23, Switzerland
Phone: +41 22 767 8069 Office: 892-2A-015
e-mail: www:
Received on Mon Jul 12 2010 - 19:02:01 CEST

This archive was generated by hypermail 2.2.0 : Mon Jul 12 2010 - 19:02:32 CEST