Bug #2416

Polarized: Fix treatment of imperfect analyzers

Added by dmitry about 1 year ago. Updated about 1 month ago.

Status:RejectedStart date:20 Nov 2019
Priority:NormalDue date:
Assignee:rbeerwerth% Done:


Target version:-


Currently the analyzer operator used in BornAgain is written (in latex notation) as

a = t (1 + \xi \sigma p).

Here t is the transmission, \xi - efficiency, p - vector of analyzer direction, \sigma - vector of Pauli matrices.
However, only the combination of t = 1/2, \xi = 1 and |p| = 1 is meaningful and corresponds
to a perfect analyzer (i.e. the one always selecting a particular polarization state).

According to the section 4 of this internal report
(note that login to jugit is required to access the document), the analyzer operator should look like

a = \frac{t}{2} (2 - |p| + \sigma p).

Then |p| <= 1 corresponds to the efficiency of the analyzer and 0 <= t <= 1 - to the transmission.

The formula above for sure works for specular reflectivity, but before modifying the code it is necessary
to check that it holds true in the case of GISAS. The description of polarized DWBA by Walter Van Herck can provide some insight in how DWBA is applied in BornAgain.

The analyzer operator is computed in DetectionProperties::analyzerOperator.
One will also need to change the signature of the method setAnalyzerProperties in Simulation class, and correspondingly amend polarization-related classes in the GUI.

Related issues

Related to BornAgain - Envelope task #2419: Polarized - summary of tasks In Progress
Related to BornAgain - Bug #2356: Parameterization: Undefined state in Instrument > Polarization analysis > Analyzer orientation and efficiency Backlog 13 May 2019


#1 Updated by dmitry about 1 year ago

  • Category set to 5

#2 Updated by dmitry about 1 year ago

#3 Updated by dmitry about 1 year ago

  • Description updated (diff)

#4 Updated by dmitry about 1 year ago

  • Related to Bug #2356: Parameterization: Undefined state in Instrument > Polarization analysis > Analyzer orientation and efficiency added

#5 Updated by rbeerwerth 7 months ago

After a first discussion with Artur, he wasn't happy with this operator at all.
He also pointed me to https://doi.org/10.1063/1.1150060, this is the standard paper for treating imperfect instruments.
I will study that and the rethink this problem. For the moment I leave the implemented operator in BornAgain untouched (NOT the one described in the documents).

Also, we need to pay attention to the case polarized beam + no polarization analysis, this is actually the experimental standard case. This corresponds to p = 0, but we might want to provide it as a default if no analyzer is specified.

#6 Updated by rbeerwerth 6 months ago

After reading and thinking about this, i think that the operator described in the internal report (Polarized Specular Reflectometry) is not correct. I added a small explanation in that document below section 4.1.
I will read up a bit more on theory, but i think the "normal" density matrix for polarization, as given above with the transmission correction, is the correct approach.
It might be a good idea though to give the transmission as < 1 not < 1/2, that would be less confusing. Whether we want to include the efficiency as variable and specify the polarization always as unit vector vs. the specification as a polarization vector with possibly non-unit length can be up for discussion. Other means of parameterization consistent with the literature area also thinkable.

#7 Updated by wuttke 4 months ago

  • Subject changed from Polarization: Fix treatment of imperfect analyzers to Polarized: Fix treatment of imperfect analyzers
  • Assignee set to rbeerwerth

#8 Updated by rbeerwerth about 1 month ago

  • Status changed from Backlog to Rejected

I think we can consider this solved.
Our current implementation is consistent with existing literature, if new arguments arise we can reopen this.

Also available in: Atom PDF