From 46bf4f3d995a7d92d3243dba604e0a43030c50b4 Mon Sep 17 00:00:00 2001
From: Ger van Diepen <diepen@astron.nl>
Date: Thu, 20 Jul 2006 09:20:27 +0000
Subject: [PATCH] Bugid: 711 Do not use scale/offset anymore in MeqDomain

---
 CEP/BB/BBS/src/MNS/MeqDomain.cc               | 24 +++++------
 CEP/BB/BBS/src/MNS/MeqDomain.h                | 40 ++++++-------------
 CEP/BB/BBS/src/MNS/MeqPolc.cc                 |  4 +-
 .../include/BBSKernel/MNS/MeqDomain.h         | 40 ++++++-------------
 CEP/BB/BBSKernel/src/MNS/MeqDomain.cc         | 24 +++++------
 CEP/BB/BBSKernel/src/MNS/MeqDomain.h          | 40 ++++++-------------
 CEP/BB/BBSKernel/src/MNS/MeqPolc.cc           |  4 +-
 7 files changed, 64 insertions(+), 112 deletions(-)

diff --git a/CEP/BB/BBS/src/MNS/MeqDomain.cc b/CEP/BB/BBS/src/MNS/MeqDomain.cc
index 75f810f13b6..e32087abd1e 100644
--- a/CEP/BB/BBS/src/MNS/MeqDomain.cc
+++ b/CEP/BB/BBS/src/MNS/MeqDomain.cc
@@ -27,33 +27,33 @@
 namespace LOFAR {
 
 MeqDomain::MeqDomain()
-: itsOffsetX (0),
-  itsScaleX  (1),
-  itsOffsetY (0),
-  itsScaleY  (1)
+: itsStartX (0),
+  itsEndX   (1),
+  itsStartY (0),
+  itsEndY   (1)
 {}
 
 MeqDomain::MeqDomain (double startX, double endX,
 		      double startY, double endY)
+: itsStartX (startX),
+  itsEndX   (endX),
+  itsStartY (startY),
+  itsEndY   (endY)
 {
   ASSERTSTR (startX < endX, "MeqDomain: startX " << startX <<
 	     " must be < endX " << endX);
   ASSERTSTR (startY < endY, "MeqDomain: startY " << startY <<
 	     " must be < endY " << endY);
-  itsOffsetX = (endX + startX) * .5;
-  itsScaleX  = (endX - startX) * .5;
-  itsOffsetY = (endY + startY) * .5;
-  itsScaleY  = (endY - startY) * .5;
 }
 
 MeqDomain::MeqDomain (const ParmDB::ParmDomain& pdomain)
 {
   ASSERTSTR (pdomain.getStart().size() == 2,
 	     "BBS only supports 2-dim funklets and domains");
-  itsOffsetX = (pdomain.getEnd()[0] + pdomain.getStart()[0]) * .5;
-  itsScaleX  = (pdomain.getEnd()[0] - pdomain.getStart()[0]) * .5;
-  itsOffsetY = (pdomain.getEnd()[1] + pdomain.getStart()[1]) * .5;
-  itsScaleY  = (pdomain.getEnd()[1] - pdomain.getStart()[1]) * .5;
+  itsStartX = pdomain.getStart()[0];
+  itsEndX   = pdomain.getEnd()[0];
+  itsStartY = pdomain.getStart()[1];
+  itsEndY   = pdomain.getEnd()[1];
 }
 
 ParmDB::ParmDomain MeqDomain::toParmDomain() const
diff --git a/CEP/BB/BBS/src/MNS/MeqDomain.h b/CEP/BB/BBS/src/MNS/MeqDomain.h
index 66417173687..8ba9521ccd3 100644
--- a/CEP/BB/BBS/src/MNS/MeqDomain.h
+++ b/CEP/BB/BBS/src/MNS/MeqDomain.h
@@ -56,47 +56,31 @@ public:
   // Convert to a ParmDomain.
   ParmDB::ParmDomain toParmDomain() const;
 
-  // Get offset and scale value.
-  double offsetX() const
-    { return itsOffsetX; }
-  double scaleX() const
-    { return itsScaleX; }
-  double offsetY() const
-    { return itsOffsetY; }
-  double scaleY() const
-    { return itsScaleY; }
-
-  // Transform a value to its normalized value.
-  double normalizeX (double value) const
-    { return (value - itsOffsetX) / itsScaleX; }
-  double normalizeY (double value) const
-    { return (value - itsOffsetY) / itsScaleY; }
-
   // Get the start, end, and step of the domain.
   double startX() const
-    { return itsOffsetX - itsScaleX; }
+    { return itsStartX; }
   double endX() const
-    { return itsOffsetX + itsScaleX; }
+    { return itsEndX; }
   double sizeX() const
-    { return 2*itsScaleX; }
+    { return itsEndX - itsStartX; }
   double startY() const
-    { return itsOffsetY - itsScaleY; }
+    { return itsStartY; }
   double endY() const
-    { return itsOffsetY + itsScaleY; }
+    { return itsEndY; }
   double sizeY() const
-    { return 2*itsScaleY; }
+    { return itsEndY - itsStartY; }
 
   bool operator== (const MeqDomain& that) const
-  { return itsOffsetX == that.itsOffsetX  &&  itsScaleX == that.itsScaleX
-       &&  itsOffsetY == that.itsOffsetY  &&  itsScaleY == that.itsScaleY; }
+  { return itsStartX == that.itsStartX  &&  itsEndX == that.itsEndX
+       &&  itsStartY == that.itsStartY  &&  itsEndY == that.itsEndY; }
 
   friend std::ostream& operator<< (std::ostream&, const MeqDomain&);
 
 private:
-  double itsOffsetX;
-  double itsScaleX;
-  double itsOffsetY;
-  double itsScaleY;
+  double itsStartX;
+  double itsEndX;
+  double itsStartY;
+  double itsEndY;
 };
 
 // @}
diff --git a/CEP/BB/BBS/src/MNS/MeqPolc.cc b/CEP/BB/BBS/src/MNS/MeqPolc.cc
index 05d91aab827..9ee18fbc660 100644
--- a/CEP/BB/BBS/src/MNS/MeqPolc.cc
+++ b/CEP/BB/BBS/src/MNS/MeqPolc.cc
@@ -89,7 +89,7 @@ MeqResult MeqPolc::getResult (const MeqRequest& request,
     int ncy = itsCoeff.ny();
     // Values for x and y are scaled between 0 and 1.
     // Get the step and start values in the domain.
-    double stepx = reqDomain.scaleX() / (domain().scaleX() * ndx);
+    double stepx = reqDomain.sizeX() / (domain().sizeX() * ndx);
     double stx = (reqDomain.startX() - domain().startX()) / domain().sizeX()
                  + stepx/2;
     // Evaluate the expression (as double).
@@ -219,7 +219,7 @@ MeqResult MeqPolc::getAnResult (const MeqRequest& request,
     int ncy = itsCoeff.ny();
     // Values for x and y are scaled between 0 and 1.
     // Get the step and start values in the domain.
-    double stepx = reqDomain.scaleX() / (domain().scaleX() * ndx);
+    double stepx = reqDomain.sizeX() / (domain().sizeX() * ndx);
     double stx = (reqDomain.startX() - domain().startX()) / domain().sizeX()
                  + stepx/2;
     // Evaluate the expression (as double).
diff --git a/CEP/BB/BBSKernel/include/BBSKernel/MNS/MeqDomain.h b/CEP/BB/BBSKernel/include/BBSKernel/MNS/MeqDomain.h
index 66417173687..8ba9521ccd3 100644
--- a/CEP/BB/BBSKernel/include/BBSKernel/MNS/MeqDomain.h
+++ b/CEP/BB/BBSKernel/include/BBSKernel/MNS/MeqDomain.h
@@ -56,47 +56,31 @@ public:
   // Convert to a ParmDomain.
   ParmDB::ParmDomain toParmDomain() const;
 
-  // Get offset and scale value.
-  double offsetX() const
-    { return itsOffsetX; }
-  double scaleX() const
-    { return itsScaleX; }
-  double offsetY() const
-    { return itsOffsetY; }
-  double scaleY() const
-    { return itsScaleY; }
-
-  // Transform a value to its normalized value.
-  double normalizeX (double value) const
-    { return (value - itsOffsetX) / itsScaleX; }
-  double normalizeY (double value) const
-    { return (value - itsOffsetY) / itsScaleY; }
-
   // Get the start, end, and step of the domain.
   double startX() const
-    { return itsOffsetX - itsScaleX; }
+    { return itsStartX; }
   double endX() const
-    { return itsOffsetX + itsScaleX; }
+    { return itsEndX; }
   double sizeX() const
-    { return 2*itsScaleX; }
+    { return itsEndX - itsStartX; }
   double startY() const
-    { return itsOffsetY - itsScaleY; }
+    { return itsStartY; }
   double endY() const
-    { return itsOffsetY + itsScaleY; }
+    { return itsEndY; }
   double sizeY() const
-    { return 2*itsScaleY; }
+    { return itsEndY - itsStartY; }
 
   bool operator== (const MeqDomain& that) const
-  { return itsOffsetX == that.itsOffsetX  &&  itsScaleX == that.itsScaleX
-       &&  itsOffsetY == that.itsOffsetY  &&  itsScaleY == that.itsScaleY; }
+  { return itsStartX == that.itsStartX  &&  itsEndX == that.itsEndX
+       &&  itsStartY == that.itsStartY  &&  itsEndY == that.itsEndY; }
 
   friend std::ostream& operator<< (std::ostream&, const MeqDomain&);
 
 private:
-  double itsOffsetX;
-  double itsScaleX;
-  double itsOffsetY;
-  double itsScaleY;
+  double itsStartX;
+  double itsEndX;
+  double itsStartY;
+  double itsEndY;
 };
 
 // @}
diff --git a/CEP/BB/BBSKernel/src/MNS/MeqDomain.cc b/CEP/BB/BBSKernel/src/MNS/MeqDomain.cc
index 75f810f13b6..e32087abd1e 100644
--- a/CEP/BB/BBSKernel/src/MNS/MeqDomain.cc
+++ b/CEP/BB/BBSKernel/src/MNS/MeqDomain.cc
@@ -27,33 +27,33 @@
 namespace LOFAR {
 
 MeqDomain::MeqDomain()
-: itsOffsetX (0),
-  itsScaleX  (1),
-  itsOffsetY (0),
-  itsScaleY  (1)
+: itsStartX (0),
+  itsEndX   (1),
+  itsStartY (0),
+  itsEndY   (1)
 {}
 
 MeqDomain::MeqDomain (double startX, double endX,
 		      double startY, double endY)
+: itsStartX (startX),
+  itsEndX   (endX),
+  itsStartY (startY),
+  itsEndY   (endY)
 {
   ASSERTSTR (startX < endX, "MeqDomain: startX " << startX <<
 	     " must be < endX " << endX);
   ASSERTSTR (startY < endY, "MeqDomain: startY " << startY <<
 	     " must be < endY " << endY);
-  itsOffsetX = (endX + startX) * .5;
-  itsScaleX  = (endX - startX) * .5;
-  itsOffsetY = (endY + startY) * .5;
-  itsScaleY  = (endY - startY) * .5;
 }
 
 MeqDomain::MeqDomain (const ParmDB::ParmDomain& pdomain)
 {
   ASSERTSTR (pdomain.getStart().size() == 2,
 	     "BBS only supports 2-dim funklets and domains");
-  itsOffsetX = (pdomain.getEnd()[0] + pdomain.getStart()[0]) * .5;
-  itsScaleX  = (pdomain.getEnd()[0] - pdomain.getStart()[0]) * .5;
-  itsOffsetY = (pdomain.getEnd()[1] + pdomain.getStart()[1]) * .5;
-  itsScaleY  = (pdomain.getEnd()[1] - pdomain.getStart()[1]) * .5;
+  itsStartX = pdomain.getStart()[0];
+  itsEndX   = pdomain.getEnd()[0];
+  itsStartY = pdomain.getStart()[1];
+  itsEndY   = pdomain.getEnd()[1];
 }
 
 ParmDB::ParmDomain MeqDomain::toParmDomain() const
diff --git a/CEP/BB/BBSKernel/src/MNS/MeqDomain.h b/CEP/BB/BBSKernel/src/MNS/MeqDomain.h
index 66417173687..8ba9521ccd3 100644
--- a/CEP/BB/BBSKernel/src/MNS/MeqDomain.h
+++ b/CEP/BB/BBSKernel/src/MNS/MeqDomain.h
@@ -56,47 +56,31 @@ public:
   // Convert to a ParmDomain.
   ParmDB::ParmDomain toParmDomain() const;
 
-  // Get offset and scale value.
-  double offsetX() const
-    { return itsOffsetX; }
-  double scaleX() const
-    { return itsScaleX; }
-  double offsetY() const
-    { return itsOffsetY; }
-  double scaleY() const
-    { return itsScaleY; }
-
-  // Transform a value to its normalized value.
-  double normalizeX (double value) const
-    { return (value - itsOffsetX) / itsScaleX; }
-  double normalizeY (double value) const
-    { return (value - itsOffsetY) / itsScaleY; }
-
   // Get the start, end, and step of the domain.
   double startX() const
-    { return itsOffsetX - itsScaleX; }
+    { return itsStartX; }
   double endX() const
-    { return itsOffsetX + itsScaleX; }
+    { return itsEndX; }
   double sizeX() const
-    { return 2*itsScaleX; }
+    { return itsEndX - itsStartX; }
   double startY() const
-    { return itsOffsetY - itsScaleY; }
+    { return itsStartY; }
   double endY() const
-    { return itsOffsetY + itsScaleY; }
+    { return itsEndY; }
   double sizeY() const
-    { return 2*itsScaleY; }
+    { return itsEndY - itsStartY; }
 
   bool operator== (const MeqDomain& that) const
-  { return itsOffsetX == that.itsOffsetX  &&  itsScaleX == that.itsScaleX
-       &&  itsOffsetY == that.itsOffsetY  &&  itsScaleY == that.itsScaleY; }
+  { return itsStartX == that.itsStartX  &&  itsEndX == that.itsEndX
+       &&  itsStartY == that.itsStartY  &&  itsEndY == that.itsEndY; }
 
   friend std::ostream& operator<< (std::ostream&, const MeqDomain&);
 
 private:
-  double itsOffsetX;
-  double itsScaleX;
-  double itsOffsetY;
-  double itsScaleY;
+  double itsStartX;
+  double itsEndX;
+  double itsStartY;
+  double itsEndY;
 };
 
 // @}
diff --git a/CEP/BB/BBSKernel/src/MNS/MeqPolc.cc b/CEP/BB/BBSKernel/src/MNS/MeqPolc.cc
index 05d91aab827..9ee18fbc660 100644
--- a/CEP/BB/BBSKernel/src/MNS/MeqPolc.cc
+++ b/CEP/BB/BBSKernel/src/MNS/MeqPolc.cc
@@ -89,7 +89,7 @@ MeqResult MeqPolc::getResult (const MeqRequest& request,
     int ncy = itsCoeff.ny();
     // Values for x and y are scaled between 0 and 1.
     // Get the step and start values in the domain.
-    double stepx = reqDomain.scaleX() / (domain().scaleX() * ndx);
+    double stepx = reqDomain.sizeX() / (domain().sizeX() * ndx);
     double stx = (reqDomain.startX() - domain().startX()) / domain().sizeX()
                  + stepx/2;
     // Evaluate the expression (as double).
@@ -219,7 +219,7 @@ MeqResult MeqPolc::getAnResult (const MeqRequest& request,
     int ncy = itsCoeff.ny();
     // Values for x and y are scaled between 0 and 1.
     // Get the step and start values in the domain.
-    double stepx = reqDomain.scaleX() / (domain().scaleX() * ndx);
+    double stepx = reqDomain.sizeX() / (domain().sizeX() * ndx);
     double stx = (reqDomain.startX() - domain().startX()) / domain().sizeX()
                  + stepx/2;
     // Evaluate the expression (as double).
-- 
GitLab