Diana Software
QVectorCView.cc
Go to the documentation of this file.
1 #include "QVectorCView.hh"
2 #include <iostream>
3 
4 QObjectImp(Diana::QVectorCView);
5 QObjectImp(Diana::QVectorCConstView);
6 
8 
9 QVectorCView::QVectorCView(QVectorC& in, size_t start, size_t size)
10 {
11  if(start+size > in.Size()) DianaThrow( "QVectorCView not allowed");
12  fVectorC = new QVectorC(in,false);
13  fVectorC->fData = in.fData+start*in.fStride*2;
14  fVectorC->fSize = size;
15 }
16 
18 {
19  if(fVectorC) delete fVectorC;
20  fVectorC = NULL;
21 }
22 
23 QVectorCConstView::QVectorCConstView(const QVectorC& in, size_t start, size_t size)
24 {
25  if(start+size > in.Size()) DianaThrow( "QVectorCView not allowed" );
26  fVectorC = new QVectorC(in,false);
27  fVectorC->fData = in.fData+start*in.fStride*2;
28  fVectorC->fSize = size;
29 }
30 
32 {
33  if(fVectorC) delete fVectorC;
34  fVectorC = NULL;
35 }
36 
#define DianaThrow(obj)
Definition: QDianaDebug.hh:26
#define Q_END_NAMESPACE
Definition: QDiana.hh:22
#define Q_BEGIN_NAMESPACE
Definition: QDiana.hh:20
QObjectImp(Diana::QVectorCView)
virtual ~QVectorCConstView()
destructor
Definition: QVectorCView.cc:31
QVectorC * fVectorC
Definition: QVectorCView.hh:75
QVectorC * fVectorC
Definition: QVectorCView.hh:42
virtual ~QVectorCView()
destructor: do not destroy the input QVectorC
Definition: QVectorCView.cc:17
Interface for complex vectors in Diana analysis.
Definition: QVectorC.hh:25
UInt_t Size() const
size of QVector
Definition: QVectorC.hh:82