Transceiver52M: Separate signalVector into it's own file

Break out the signalVector object and clean up the interface in the
process.

Signed-off-by: Thomas Tsou <tom@tsou.cc>
diff --git a/Transceiver52M/sigProcLib.h b/Transceiver52M/sigProcLib.h
index ebe7519..41bfdfb 100644
--- a/Transceiver52M/sigProcLib.h
+++ b/Transceiver52M/sigProcLib.h
@@ -18,12 +18,7 @@
 #include "Vector.h"
 #include "Complex.h"
 #include "BitVector.h"
-
-/** Indicated signalVector symmetry */
-enum Symmetry {
-  NONE = 0,
-  ABSSYM = 1
-};
+#include "signalVector.h"
 
 /** Convolution type indicator */
 enum ConvType {
@@ -33,84 +28,6 @@
   UNDEFINED,
 };
 
-/** the core data structure of the Transceiver */
-class signalVector: public Vector<complex> 
-{
-
- private:
-  
-  Symmetry symmetry;   ///< the symmetry of the vector
-  bool realOnly;       ///< true if vector is real-valued, not complex-valued
-  bool aligned;
- 
- public:
-  
-  /** Constructors */
-  signalVector(int dSize=0, Symmetry wSymmetry = NONE):
-    Vector<complex>(dSize),
-    realOnly(false), aligned(false)
-    { 
-      symmetry = wSymmetry; 
-    };
-    
-  signalVector(complex* wData, size_t start, 
-	       size_t span, Symmetry wSymmetry = NONE):
-    Vector<complex>(NULL,wData+start,wData+start+span),
-    realOnly(false), aligned(false)
-    { 
-      symmetry = wSymmetry; 
-    };
-      
-  signalVector(const signalVector &vec1, const signalVector &vec2):
-    Vector<complex>(vec1,vec2),
-    realOnly(false), aligned(false)
-    { 
-      symmetry = vec1.symmetry; 
-    };
-	
-  signalVector(const signalVector &wVector):
-    Vector<complex>(wVector.size()),
-    realOnly(false), aligned(false)
-    {
-      wVector.copyTo(*this); 
-      symmetry = wVector.getSymmetry();
-    };
-
-  signalVector(size_t size, size_t start):
-    Vector<complex>(size + start),
-    realOnly(false), aligned(false)
-    {
-      mStart = mData + start;
-      symmetry = NONE;
-    };
-
-  signalVector(const signalVector &wVector, size_t start, size_t tail = 0):
-    Vector<complex>(start + wVector.size() + tail),
-    realOnly(false), aligned(false)
-    {
-      mStart = mData + start;
-      wVector.copyTo(*this);
-      memset(mData, 0, start * sizeof(complex));
-      memset(mStart + wVector.size(), 0, tail * sizeof(complex));
-      symmetry = NONE;
-    };
-
-  /** start index */
-  int getStartIndex() const { return mStart - mData; };
-
-  /** symmetry operators */
-  Symmetry getSymmetry() const { return symmetry;};
-  void setSymmetry(Symmetry wSymmetry) { symmetry = wSymmetry;}; 
-
-  /** real-valued operators */
-  bool isRealOnly() const { return realOnly;};
-  void isRealOnly(bool wOnly) { realOnly = wOnly;};
-
-  /** alignment markers */
-  bool isAligned() const { return aligned; };
-  void setAligned(bool aligned) { this->aligned = aligned; };
-};
-
 /** Convert a linear number to a dB value */
 float dB(float x);