diff --git a/Device/Beam/Beam.cpp b/Device/Beam/Beam.cpp index c209398408ab731b53d44fe3f1abcb004a37db89..7b3f1cc30b2087271b2fdccb538eac71b0cf5dd3 100644 --- a/Device/Beam/Beam.cpp +++ b/Device/Beam/Beam.cpp @@ -153,15 +153,14 @@ R3 Beam::getBlochVector() const SpinMatrix Beam::getPolarization() const { - SpinMatrix result; double x = m_bloch_vector.x(); double y = m_bloch_vector.y(); double z = m_bloch_vector.z(); - result(0, 0) = (1.0 + z) / 2.0; - result(0, 1) = complex_t(x, -y) / 2.0; - result(1, 0) = complex_t(x, y) / 2.0; - result(1, 1) = (1.0 - z) / 2.0; - return result; + return MakeSpinMatrix( + (1.0 + z) / 2.0, + complex_t(x, -y) / 2.0, + complex_t(x, y) / 2.0, + (1.0 - z) / 2.0); } std::vector<const INode*> Beam::nodeChildren() const