Public Member Functions | |
QVector () | |
default constructor | |
QVector (size_t size) | |
constructor with its size | |
QVector (const QVector &orig) | |
copy constructor | |
QVector (const QVector &orig, size_t size, size_t ioff=0) | |
copy only some of the elements | |
QVector (const QMatrix &mat) | |
constructor from QMatrix | |
virtual | ~QVector () |
destructor | |
size_t | Size () const |
size of QVector | |
void | Initialize (double val=0) |
initialize elements (default to 0) | |
double & | operator[] (size_t i) |
retrieve an element | |
double & | operator() (size_t i) |
double | operator[] (size_t i) const |
retrieve an element | |
double | operator() (size_t i) const |
const QVector & | operator= (const QVector &orig) |
copy the content of another vector | |
QVector | operator- () const |
revert sign to all components | |
const QVector & | Mult (const QVector &other) |
multiplication element by element | |
const QVector & | Div (const QVector &other) |
multiplication element by element | |
const QVector & | operator*= (double t) |
multiplication by scalar | |
const QVector & | operator/= (double v) |
divide by scalar | |
const QVector & | operator+= (const QVector &v) |
add a QVector | |
const QVector & | operator-= (const QVector &v) |
subtract a QVector | |
double | operator* (const QVector &other) const |
scalar product | |
QVector | operator+ (const QVector &other) const |
sum vector | |
QVector | operator- (const QVector &other) const |
subtract vector | |
QVector | operator* (double t) const |
multiply by scalar | |
QVector | operator/ (double t) const |
divide by scalar | |
QMatrix | T () |
transpose | |
const QVector & | Shift (int nstep) |
Cyclic shift of vector. | |
const QVector & | ShiftReal (double fstep) |
Cyclic shift of vector by a real number, first shift by the integer part of fstep then linear interpolation between samples is performed. | |
const QVector & | Differentiate () |
make vector derivative | |
QVector | Derivative2P (const double delta=1.) const |
compute derivative with 2 point interpolation, uses Differentiate() | |
QVector | Derivative2PF (const double delta=1.) const |
compute derivative with forward 2 point interpolation | |
QVector | Derivative3P (const double delta=1.) const |
compute derivative with 3 point interpolation, symmetric | |
QVector | Derivative3PB (const double delta=1.) const |
compute derivative with 3 point interpolation, backward mode | |
QVector | Derivative3PF (const double delta=1.) const |
compute derivative with 3 point interpolation, forward mode | |
QVector | Derivative5P (const double delta=1.) const |
compute derivative with 5 point interpolation, symmetric | |
QVector | Derivative5PB (const double delta=1.) const |
compute derivative with 5 point interpolation, backward mode | |
QVector | DerivativeEulero (const double delta=1.) const |
compute derivative with Eulero interpolation, backward mode | |
const QVector & | Sort (bool asc=true) |
sort this vector | |
const QVector & | Integrate (double constTerm=0) |
Integrate vector. | |
void | Resize (size_t newsize) |
resize a QVector | |
void | Append (double val) |
append | |
double | Norma () const |
norma | |
double | Sum (size_t nelem, size_t first=0) const |
sum elements | |
double | GetRMS (size_t nelem, size_t first=0) const |
Get RMS. | |
double | GetMedian () const |
Get median. | |
double | GetMedianAbsoluteDeviation () const |
Get median absolute deviation. | |
double | GetMax () const |
get maximum element | |
double | GetMin () const |
get minimum element | |
int | GetMaxIndex (size_t nelem, size_t first) const |
get maximum element position between first and first + nelem | |
int | GetMinIndex (size_t nelem, size_t first) const |
get minimum element position between first and first + nelem | |
size_t | GetMaxIndex () const |
get maximum element index | |
size_t | GetMinIndex () const |
get minimum element index | |
double * | GetArray () const |
get an array of doubles, owned by the caller! | |
const double * | GetConstArray () const |
get a pointer to the content | |
void | SetArray (const double *orig, size_t size) |
get a constant pointer to the content | |
void | Clear () |
clear the vector | |
void | Consolidate () |
Reduce the amount of allocated memory to the used one. | |
std::string | sqlString () const |
Protected Member Functions | |
QVector (const gsl_vector *vec) | |
constructor from gsl_vector | |
QVector (const QVector &orig, bool dataOwner) | |
void | SetMathRange (size_t start, size_t size) |
Set effective mathematical range. | |
Protected Attributes | |
gsl_vector * | fVec |
underlying gsl_vector, possibly larger than actually used memory (for resource optimization | |
gsl_vector * | fMathVec |
actual portion of utilized for mathematical purposes | |
bool | fDataOwner |
if this vector onws its data | |
Private Member Functions | |
void | InitCopy (const QVector &orig, bool copyData) |
Friends | |
class | QVectorView |
class | QVectorConstView |
class | QMatrix |
QVector::QVector | ( | size_t | size | ) |
constructor with its size
size | start size of QVector |
References fDataOwner, fMathVec, fVec, and SetMathRange().
QVector::QVector | ( | const QVector & | orig, | |
size_t | size, | |||
size_t | ioff = 0 | |||
) |
copy only some of the elements
orig | original QVector | |
size | number of elements to copy | |
ioff | first element to copy |
References fDataOwner, fMathVec, fVec, and SetMathRange().
QVector::QVector | ( | const QMatrix & | mat | ) |
constructor from QMatrix
build a vector out of a QMatrix taking only the first column
mat | QMatrix of origin |
References fDataOwner, fMathVec, fVec, QMatrix::GetNRow(), QMatrix::m, and SetMathRange().
QVector::QVector | ( | const gsl_vector * | vec | ) | [protected] |
constructor from gsl_vector
vec | gsl_vector of origin |
References fDataOwner, fMathVec, fVec, and SetMathRange().
size_t QVector::Size | ( | ) | const [inline] |
size of QVector
References fMathVec.
Referenced by Append(), Consolidate(), QFFT::CutSides(), QOffset::Derivative(), Derivative2PF(), Derivative3P(), Derivative3PB(), Derivative3PF(), Derivative5P(), Derivative5PB(), DerivativeEulero(), Differentiate(), QFFT::FFTAntiSym(), QFFT::FFTSym(), QFitter::Fit(), QOBAmplitude::GetAmplitude(), GetArray(), QOBAmplitude::GetIdealPulseAmplitude(), GetMedian(), GetMedianAbsoluteDeviation(), QVectorC::GetModulus(), QVectorC::GetPhase(), QFFT::GetWindow(), Integrate(), QOffset::MakeTGraph(), QMatrix::QMatrix(), QOBAmplitude::QOBAmplitude(), QOffset::Resample(), Resize(), QOffset::SetIdealPulse(), QOffset::SetOffset(), Shift(), ShiftReal(), QVectorC::SingleVector(), QVectorC::Size(), sqlString(), T(), QOBAmplitude::TransformToFreq(), and QFFT::ZeroPad().
void QVector::Initialize | ( | double | val = 0 |
) |
initialize elements (default to 0)
val |
References fMathVec.
Referenced by QOBAmplitude::GetAmplitude(), QOBAmplitude::QOBAmplitude(), Resize(), and QOBAmplitude::TransformToFreq().
double & QVector::operator[] | ( | size_t | i | ) |
double QVector::operator[] | ( | size_t | i | ) | const |
copy the content of another vector
orig | original QVector |
References fDataOwner, fMathVec, fVec, and SetMathRange().
multiplication element by element
v[i]=v1[i]*v2[i]
other |
References fMathVec.
multiplication element by element
v[i]=v1[i]/v2[i]
other |
References fMathVec.
const QVector & QVector::operator*= | ( | double | t | ) |
multiplication by scalar
t |
References fMathVec.
Referenced by operator/=().
const QVector & QVector::operator/= | ( | double | v | ) |
double QVector::operator* | ( | const QVector & | other | ) | const |
sum vector
other | right element |
subtract vector
other | right element |
QVector QVector::operator* | ( | double | t | ) | const |
multiply by scalar
t | right element |
QVector QVector::operator/ | ( | double | t | ) | const |
divide by scalar
t | right element |
QMatrix QVector::T | ( | ) |
transpose
a transposed vector is a matrix with a single row
References QMatrix::SetRow(), and Size().
const QVector & QVector::Shift | ( | int | nstep | ) |
Cyclic shift of vector.
nstep | if > 0 shift right, if < 0 shift left |
References Size().
Referenced by ShiftReal().
const QVector & QVector::ShiftReal | ( | double | fstep | ) |
const QVector & QVector::Sort | ( | bool | asc = true |
) |
const QVector & QVector::Integrate | ( | double | constTerm = 0 |
) |
void QVector::Resize | ( | size_t | newsize | ) |
resize a QVector
newsize |
References fDataOwner, fVec, Initialize(), SetMathRange(), and Size().
Referenced by Append(), Clear(), QOffset::Derivative(), QFitter::Fit(), QOBAmplitude::GetAmplitude(), QFFT::GetWindow(), QOBAmplitude::QOBAmplitude(), QOffset::Resample(), QOffset::ResampleIdealPulse(), and SetArray().
void QVector::Append | ( | double | val | ) |
append
add one more element at the end of the vector
val |
References operator[](), Resize(), and Size().
double QVector::Norma | ( | ) | const |
norma
double QVector::GetRMS | ( | size_t | nelem, | |
size_t | first = 0 | |||
) | const |
const double* QVector::GetConstArray | ( | ) | const [inline] |
void QVector::SetArray | ( | const double * | orig, | |
size_t | size | |||
) |
get a constant pointer to the content
copy the content of an array into the vector
orig | original array | |
size | number of elements in the array |
References Resize().
std::string QVector::sqlString | ( | ) | const |
@ brief return string needed to dump vector into sql DB
References Size().
void QVector::SetMathRange | ( | size_t | start, | |
size_t | size | |||
) | [protected] |
Set effective mathematical range.
start | first element | |
size | number of elements |
References fMathVec, and fVec.
Referenced by Consolidate(), operator=(), QVector(), QVectorConstView::QVectorConstView(), QVectorView::QVectorView(), and Resize().