#ifndef _SIGNALVECTOR_H_ #define _SIGNALVECTOR_H_ #include #include /** Vector symmetry */ enum Symmetry { NONE = 0, ABSSYM = 1 }; class signalVector: public Vector { public: /** Default constructor */ signalVector(size_t size = 0); /** Construct with head room */ signalVector(size_t size, size_t start); /** Construct from existing buffer data (buffer not managed) */ signalVector(complex *data, size_t start, size_t span); /** Construct by from existing vector */ signalVector(const signalVector &vector); /** Construct by from existing vector and append head-tail room */ signalVector(const signalVector &vector, size_t start, size_t tail = 0); /** Override base assignment operator to include start offsets */ void operator=(const signalVector& vector); /** Return head room */ size_t getStart() const; size_t updateHistory(); Symmetry getSymmetry() const; void setSymmetry(Symmetry symmetry); bool isReal() const; void isReal(bool real); bool isAligned() const; void setAligned(bool aligned); private: bool real; bool aligned; Symmetry symmetry; }; #endif /* _SIGNALVECTOR_H_ */