[neutron-mc] McStas Polarisation details
Peter Willendrup
peter at willendrup.org
Fri Aug 19 11:18:37 CEST 2005
Hi Robert,
On Fri, 2005-08-19 at 10:02 +0100, Dalgliesh, RM (Robert) wrote:
> I've succesfully implemented polarising supermirrors, channeled
> guides and detectors using mcstas-1.8 over the past few days in
> a simple way but am now reaching the more technical details. I
> can rotate a component such as a single mirror through 90° but
> for the polarisation part of the calculation of the reflectivity
> the mirror needs to know what direction it is pointing in. The
> method of rotating the coordinate frame of the mirror doesn't
> allow me to know where things are pointing. Is there a way within
> mcstas to access the rotation matrix that has been applied to a
> component within that component.
This is indeed great news! We will be very happy to include your work in
the project in some way if you agree to do so? Are the changes you've
made related to components only or do you reach into runtime / language
features aswell?
Yes, a feature like the one you need does exist, have a look in e.g.
Source_flux_lambda.comp - the key is the rotation matrix
ROT_A_CURRENT_COMP - in this source component used to define rectangular
focusing (rectangular focusing is always gravitation-parallel in
mcstas). Also, have a look at the mcstas-r.h and mcstas-r.c in the share
part of the lib/ section, definition of the rotation axes etc. should be
stated in there.
If I can help in some other way, please let me know.
Good work,
Peter
--
Peter Willendrup <peter at willendrup.org>
More information about the mcstas-users
mailing list