From b526152a7de3b5dc35b4e2725b4ed51e44b4a5c2 Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Mon, 10 Oct 2011 12:48:30 +0000
Subject: [PATCH] bug 1362: correctly calculate nr of values per stokes

---
 RTCP/Storage/src/MSWriterHDF5.cc | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/RTCP/Storage/src/MSWriterHDF5.cc b/RTCP/Storage/src/MSWriterHDF5.cc
index 0f246e1581c..ccbd9e4df76 100644
--- a/RTCP/Storage/src/MSWriterHDF5.cc
+++ b/RTCP/Storage/src/MSWriterHDF5.cc
@@ -149,6 +149,8 @@ namespace LOFAR
       itsTransposeLogic.decompose( fileno, sapNr, beamNr, stokesNr, partNr );
 
       unsigned nrBlocks = ceil((parset.stopTime() - parset.startTime()) / parset.CNintegrationTime());
+      unsigned nrValuesPerStokes;
+
 
       switch (outputType) {
         case COHERENT_STOKES: {
@@ -156,6 +158,7 @@ namespace LOFAR
           const char *stokesVars[] = { "I", "Q", "U", "V" };
 
           stokes = stokesVars[stokesNr];
+          nrValuesPerStokes = 1;
 
           itsNrSamples = parset.CNintegrationSteps() / parset.coherentStokesTimeIntegrationFactor();
           break;
@@ -166,6 +169,7 @@ namespace LOFAR
           const char *stokesVars2[] = { "X", "Y" };
 
           stokes = parset.nrCoherentStokes() == 4 ? stokesVars4[stokesNr] : stokesVars2[stokesNr];
+          nrValuesPerStokes = 4 / parset.nrCoherentStokes();
 
           itsNrSamples = parset.CNintegrationSteps();
           break;
@@ -175,8 +179,6 @@ namespace LOFAR
           THROW(StorageException, "MSWriterHDF5 can only handle Coherent Stokes and Beam-formed Data");
       }
 
-      const unsigned nrValuesPerStokes = 4 / parset.nrCoherentStokes();
-
       itsZeroBlock.resize( itsNrSamples * itsNrChannels * nrValuesPerStokes );
 
       LOG_DEBUG_STR("MSWriterHDF5: opening " << filename);
-- 
GitLab