Inheritance diagram for QVector:

This class is intended for use as mathematical vectors, not as container vector (like std::vector). However ther is a memory management very similar to std::vector, e.g. when resizing the memory i never released except if the method Consolidate() is used. Every class written within the CUORE framework should use this class instead of C arrays or STL vectors
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 | Derivative3P (const double delta=1.) const | 
| compute derivative with 3 point interpolation, error is (delta^2) / 6 * f'''(xi);  | |
| QVector | Derivative5P (const double delta=1.) const | 
| compute derivative with 5 point interpolation, error is (delta^4)/ 30 * f'''''(xi);  | |
| 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 contentcopy the content of an array into the vector   | |
| 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 | ) | 
| 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 | 
| QVector::QVector | ( | const QMatrix & | mat | ) | 
| QVector::QVector | ( | const gsl_vector * | vec | ) |  [protected] | 
        
constructor from gsl_vector
| vec | gsl_vector of origin | 
| void QVector::Initialize | ( | double |  val = 0           | 
          ) | 
initialize elements (default to 0)
| val | 
| double & QVector::operator[] | ( | size_t | i | ) | 
| double QVector::operator[] | ( | size_t | i | ) | const | 
multiplication element by element
v[i]=v1[i]*v2[i]
| other | 
multiplication element by element
v[i]=v1[i]/v2[i]
| other | 
| const QVector & QVector::operator *= | ( | double | t | ) | 
multiplication by scalar
| t | 
| const QVector & QVector::operator/= | ( | double | v | ) | 
divide by scalar
| t | 
| double QVector::operator * | ( | const QVector & | other | ) | const | 
scalar product
| other | right element | 
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
| const QVector & QVector::Shift | ( | int | nstep | ) | 
Cyclic shift of vector.
| nstep | if > 0 shift right, if < 0 shift left | 
| const QVector & 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.
| fstep | if > 0 shift right, if < 0 shift left | 
| const QVector & QVector::Sort | ( | bool |  asc = true           | 
          ) | 
sort this vector
| asc | if true ascending if false descending | 
| const QVector & QVector::Integrate | ( | double |  constTerm = 0           | 
          ) | 
Integrate vector.
| constTerm | integral constant to be added | 
| void QVector::Resize | ( | size_t | newsize | ) | 
| void QVector::Append | ( | double | val | ) | 
append
add one more element at the end of the vector
| val | 
| double QVector::Norma | ( | ) | const | 
norma
 
| double QVector::GetRMS | ( | size_t | nelem, | |
| size_t |  first = 0 | |||
| ) | const | 
Get RMS.
| nelem | number of elements | |
| first | first element | 
| const double* QVector::GetConstArray | ( | ) |  const [inline] | 
        
get a pointer to the content
Warning! if the current vector is resized you are not granted that this pointer will point to the QVector array.
| void QVector::SetArray | ( | const double * | orig, | |
| size_t | size | |||
| ) | 
get a constant pointer to the contentcopy the content of an array into the vector
| orig | original array | |
| size | number of elements in the array | 
| std::string QVector::sqlString | ( | ) | const | 
@ brief return string needed to dump vector into sql DB
| void QVector::SetMathRange | ( | size_t | start, | |
| size_t | size | |||
| ) |  [protected] | 
        
Set effective mathematical range.
| start | first element | |
| size | number of elements | 
 1.5.1