diff --git a/Base/Axis/Pixel.cpp b/Base/Axis/Pixel.cpp
index 1042c322971eaffe853d52a34bd38c15b40dd0f1..122c8f8059dfcda7418205e779a29bbe7b35dfd0 100644
--- a/Base/Axis/Pixel.cpp
+++ b/Base/Axis/Pixel.cpp
@@ -16,11 +16,11 @@
 #include "Base/Axis/Bin.h"
 #include "Base/Vector/GisasDirection.h"
 
-Pixel::Pixel(const Bin1D& alpha_bin, const Bin1D& phi_bin)
-    : m_alpha(alpha_bin.lowerBound())
-    , m_phi(phi_bin.lowerBound())
-    , m_dalpha(alpha_bin.binSize())
+Pixel::Pixel(const Bin1D& phi_bin, const Bin1D& alpha_bin)
+    : m_phi(phi_bin.lowerBound())
+    , m_alpha(alpha_bin.lowerBound())
     , m_dphi(phi_bin.binSize())
+    , m_dalpha(alpha_bin.binSize())
 {
     auto solid_angle_value = std::abs(m_dphi * (std::sin(m_alpha + m_dalpha) - std::sin(m_alpha)));
     m_solid_angle = solid_angle_value <= 0.0 ? 1.0 : solid_angle_value;
@@ -35,7 +35,7 @@ Pixel* Pixel::createZeroSizePixel(double x, double y) const
 {
     const double phi = m_phi + x * m_dphi;
     const double alpha = m_alpha + y * m_dalpha;
-    return new Pixel(Bin1D::At(alpha), Bin1D::At(phi));
+    return new Pixel(Bin1D::At(phi), Bin1D::At(alpha));
 }
 
 R3 Pixel::getK(double x, double y, double wavelength) const
diff --git a/Base/Axis/Pixel.h b/Base/Axis/Pixel.h
index 5438c06c0c0fead033b27913ebbc3f51468752f0..7b1db209b97d9751ebc5823eef829a8aa2043011 100644
--- a/Base/Axis/Pixel.h
+++ b/Base/Axis/Pixel.h
@@ -26,7 +26,7 @@ class Bin1D;
 
 class Pixel {
 public:
-    Pixel(const Bin1D& alpha_bin, const Bin1D& phi_bin);
+    Pixel(const Bin1D& phi_bin, const Bin1D& alpha_bin);
 
     Pixel* clone() const;
     Pixel* createZeroSizePixel(double x, double y) const;
@@ -35,10 +35,10 @@ public:
     double solidAngle() const;
 
 private:
-    const double m_alpha;
     const double m_phi;
-    const double m_dalpha;
+    const double m_alpha;
     const double m_dphi;
+    const double m_dalpha;
     mutable double m_solid_angle;
 };
 
diff --git a/Device/Detector/Detector2D.cpp b/Device/Detector/Detector2D.cpp
index 2a3e6abe7ef2f96748b483c2b24c51b361e2f8fc..dea99449c6f10b64db2ffebafb345d4b39f0188d 100644
--- a/Device/Detector/Detector2D.cpp
+++ b/Device/Detector/Detector2D.cpp
@@ -57,7 +57,7 @@ Pixel* Detector2D::createPixel(size_t index) const
     const Bin1D alpha_out =
         Bin1D::FromTo(atan(alpha_in.lowerBound() / ru), atan(alpha_in.upperBound() / ru));
 
-    return new Pixel(alpha_out, phi_out);
+    return new Pixel(phi_out, alpha_out);
 }
 
 size_t Detector2D::indexOfSpecular(const Beam& beam) const
diff --git a/Device/Detector/OffspecDetector.cpp b/Device/Detector/OffspecDetector.cpp
index 16b3309a1575d2e7eec5a90bab60ac4bc3258e81..6b047ec910af9e78c52252bc5e3dc3d8fccd704a 100644
--- a/Device/Detector/OffspecDetector.cpp
+++ b/Device/Detector/OffspecDetector.cpp
@@ -79,7 +79,8 @@ Pixel* OffspecDetector::createPixel(size_t index) const
 
     const Bin1D alpha_bin = alpha_axis.bin(alpha_index);
     const Bin1D phi_bin = phi_axis.bin(phi_index);
-    return new Pixel(alpha_bin, phi_bin);
+
+    return new Pixel(phi_bin, alpha_bin);
 }
 
 size_t OffspecDetector::indexOfSpecular(double alpha, double phi) const
diff --git a/Device/Detector/SphericalDetector.cpp b/Device/Detector/SphericalDetector.cpp
index 771467a5427533512ab5458e0742506045e4e47b..1ca703021dfc8904a8708d8e98974cbce64cf4c5 100644
--- a/Device/Detector/SphericalDetector.cpp
+++ b/Device/Detector/SphericalDetector.cpp
@@ -51,7 +51,8 @@ Pixel* SphericalDetector::createPixel(size_t index) const
 
     const Bin1D alpha_bin = alpha_axis.bin(alpha_index);
     const Bin1D phi_bin = phi_axis.bin(phi_index);
-    return new Pixel(alpha_bin, phi_bin);
+
+    return new Pixel(phi_bin, alpha_bin);
 }
 
 size_t SphericalDetector::indexOfSpecular(const Beam& beam) const