Last version:
FLUKA 2021.2.9, January 13th 2023
(last respin 2021.2.9)
flair-2.3-0c 24-Mar-2023

News:

-- Fluka Release
( 13.01.2023 )

FLUKA 2021.2.9 has been released.

[ full index ]

# ROT-DEFIni

Defines rotations and translations to be applied to binnings and lattices

See also EVENTBIN, ROTPRBIN, USRBIN, and LATTICE (in Chap. (8))

```     WHAT(1) : assigns a transformation index and the corresponding
rotation axis
=< 0.0 : the card is ignored if SDUM is empty, otherwise SDUM is
kept as the rotation name, and the first free rotation
number is used
> 1000           : interpreted as j + i * 1000
> 100 and < 1000 : interpreted as i + j * 100
(note the inversion of i and j!)
> 0 and =< 100   : interpreted as i, and j assumed to be = 0
where  i = index of the rotation
j = 1 rotation with respect to x axis
= 2 rotation with respect to y axis
= 0 or 3 rotation with respect to z axis
(see Note 4)
Default = 0.0 (no transformation defined)

WHAT(2) = Polar angle of the rotation (Theta, 0...180 degrees)
Default = no default

WHAT(3) = Azimuthal angle of the rotation (Phi, -180...180 degrees)
Default = no default

WHAT(4) = X_offset for the translation
Default = no default

WHAT(5) = Y_offset for the translation
Default = no default

WHAT(6) = Z_offset for the translation
Default = no default

SDUM :    name of the transformation
Default: a name will provided by the program
```

```     Default (option ROT-DEFIni not given): no transformation is defined
```

Notes:

• 1) FLUKA binnings (spatial meshes independent of the problem geometry, designed to score average or event-by-event quantities) are generally defined as Cartesian structures parallel to the coordinate axes, or as cylindrical structures parallel to the z-axis. However, it is possible to define binnings with any arbitrary position and direction in space, by means of transformations described by commands ROT-DEFIni and ROTPRBIN. Command ROT-DEFIni defines rotations/translations to be applied to binnings (requested by the user by means of EVENTBIN or USRBIN). Each transformation defined by ROT-DEFIni is assigned a number WHAT(1) which can be applied to one or more binnings. The correspondence between transformation index and binning number is assigned via option ROTPRBIN.

• 2) Command ROT-DEFIni can be used also to define roto-translations to be applied to lattice cells. Command LATTICE (see description in Chap. 8, Combinatorial Geometry) sets the correspondence between transformation index and lattice cell.

• 3) Command ROT-DEFIni can be used also to define roto-translations to be applied to bodies in the geometry, as requested by the \$Start_transform....\$End_transform directive (see Chap. 8, Combinatorial Geometry).

• 4) The transformation matrices are: (cth = cos(Theta), sth = sin(Theta), cph = cos(Phi), sph = sin(Phi))

```              j = 1 :
| X_new |   |  cth  sth   0  | |   1   0     0  | | X_old+X_offset |
| Y_new | = | -sth  cth   0  | |   0  cph   sph | | Y_old+Y_offset |
| Z_new |   |   0    0    1  | |   0 -sph   cph | | Z_old+Z_offset |

j = 2 :
| X_new |   |   1    0    0  | |  cph  0   -sph | | X_old+X_offset |
| Y_new | = |   0   cth  sth | |   0   1     0  | | Y_old+Y_offset |
| Z_new |   |   0  -sth  cth | |  sph  0    cph | | Z_old+Z_offset |

j = 3 :
| X_new |   |  cth   0  -sth | |  cph  sph   0  | | X_old+X_offset |
| Y_new | = |   0    1    0  | | -sph  cph   0  | | Y_old+Y_offset |
| Z_new |   |  sth   0   cth | |   0    0    1  | | Z_old+Z_offset |

Rij = Tik Pkj
| X_new |   |  cph cth   sph cth    -sth    | | X_old+X_offset |
| Y_new | = |   -sph       cph        0     | | Y_old+Y_offset |
| Z_new |   |  cph sth   sph sth     cth    | | Z_old+Z_offset |

and the inverse R(^-1)ij = P(^-1)ik T(^-1)kj
| X_old |   |  cph -sph   0  | |  cth   0   sth | |X_new| |X_offset|
| Y_old | = |  sph  cph   0  | |   0    1    0  | |Y_new|-|Y_offset|
| Z_old |   |   0    0    1  | | -sth   0   cth | |Z_new| |Z_offset|

| X_old |   |  cph cth    -sph     cph sth  | | X_new | | X_offset |
| Y_old | = |  sph cth     cph     sph sth  | | Y_new |-| Y_offset |
| Z_old |   |   -sth        0        cth    | | Z_new | | Z_offset |
```

For example: (assume zero offset and [x,y,z] = old frame, [x',y',z'] = new frame)

Theta = pi/2, Phi = 0 :

```              j = 1:  x' =  y      j = 2:  x' =  x      j = 3:  x' = -z
y' = -x              y' =  z              y' =  y
z' =  z              z' = -y              z' =  x
```

Theta = 0, Phi = pi/2:

```              j = 1:  x' =  x      j = 2:  x' = -z      j = 3:  x' =  y
y' =  z              y' =  y              y' = -x
z' = -y              z' =  x              z' =  z
```

That is, the vector which has position angles Theta and Phi with respect to the j_th axis in the original system, will become the j_th axis in the rotated system. For the special case Theta=0 this implies a rotation of Phi in the original frame. In practice it is more convenient to think about the inverse rotation, the one which takes the j_th versor into the versor with Theta and Phi

• 5) Note that a transformation can be defined recursively, for example with two cards pointing to the same transformation. If Pij is the rotation corresponding to the first card and Tij the one corresponding to the second card, the overall rotation will be Rij = Tik Pkj

Example (number based):

``` *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
ROT-DEFI       201.0       0.0      90.0    -100.0      80.0    -500.0
USRBIN          11.0     201.0      70.0      30.0       0.0    1000.0tot-dose
USRBIN           0.0       0.0       0.0      10.0       1.0       6.0&
ROTPRBIN        -1.0       1.0       0.0       1.0       1.0       1.0
*  Here the transformation is applied to a cylindrical binning.
*  Track-lengths are scored in the binning with its axis
*  parallel to the x-axis of the coordinate frame:
*    Xmin = 100.0, Xmax = 1100.0
*    Rmin =   0.0, Rmax =   30.0
*    ( Y , Z ) coordinate of the binning axis = ( -80.0 , 500.0 )
```

The same example, name based:

``` *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
ROT-DEFI       201.0       0.0      90.0    -100.0      80.0    -500. FromZtoX
USRBIN          11.0     201.0      70.0      30.0       0.0    1000.0tot-dose
USRBIN           0.0       0.0       0.0      10.0       1.0       6.0&
ROTPRBIN        -1.0  FromZtoX       0.0  tot-dose       0.0       0.0
```

© FLUKA Team 2000–2023