Coherent WaveBurst
Reference Guide
CWB Documentation
Main Page
Namespaces
All Classes
Files
gitlab
ROOT
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
SOFT
cWB
library
master_0bc430d
wat
SymmObjArray.cc
Go to the documentation of this file.
1
#include "
SymmObjArray.hh
"
2
3
#include "
SymmArray.hh
"
4
#include "
SymmArraySSE.hh
"
5
6
ClassImp(
SymmObjArray
<
SymmArraySSE<float>
>)
7
8
template <class
T
>
9
SymmObjArray
<
T
>::
SymmObjArray
(
unsigned
int
n
)
10
{ Size = 2*n+1;
//mind the plus
11
rec =
new
T
[Size];
12
zero = rec+
n
;
13
if
(rec == 0 )
printf
(
"SymmObjArray::SymmObjArray : memory not allocated\n"
);
14
}
15
16
template
<
class
T>
17
SymmObjArray<T>::SymmObjArray
(
const
SymmObjArray
&
a
)
18
{ zero = rec = 0;
19
*
this
=
a
;
20
}
21
22
template
<
class
T>
23
SymmObjArray<T>
&
SymmObjArray<T>::operator=
(
const
SymmObjArray
& other)
24
{ Resize0(other.
Size
);
25
for
(
int
i
=0;
i
<Size; ++
i
) rec[
i
]= other.
rec
[
i
];
26
zero = rec + Size/2;
27
return
*
this
;
28
}
29
30
template
<
class
T>
31
SymmObjArray<T>::~SymmObjArray
()
32
{
delete
[] rec;
33
}
34
35
template
<
class
T>
36
void
SymmObjArray<T>::Resize
(
unsigned
int
sz)
37
{ Resize0(sz = 2*sz+1);
38
}
39
40
template
<
class
T>
41
void
SymmObjArray<T>::Resize0
(
unsigned
int
sz)
42
{
delete
[] rec;
43
Size = sz;
44
rec =
new
T
[Size];
45
zero = rec + Size/2;
46
}
47
48
template
<
class
T>
49
void
SymmObjArray<T>::Write
(FILE*
f
)
50
{ fwrite(&Size,
sizeof
(
int
), 1, f);
51
for
(
int
i
=0;
i
<Size; ++
i
)rec[
i
].
Write
(f);
52
}
53
54
template
<
class
T>
55
void
SymmObjArray<T>::Read
(FILE*
f
)
56
{
int
newSize;
57
fread(&newSize,
sizeof
(
int
), 1, f);
58
if
(Size)
delete
[] rec;
59
Size = newSize;
60
rec =
new
T
[Size];
61
zero = rec + Size/2;
62
for
(
int
i
=0;
i
<Size; ++
i
)rec[
i
].Read(f);
63
}
64
65
template
class
SymmObjArray< SymmArray<int>
>;
66
template
class
SymmObjArray< SymmArray<float>
>;
67
template
class
SymmObjArray< SymmArray<double>
>;
68
69
template
class
SymmObjArray< SymmArraySSE<int>
>;
70
template
class
SymmObjArray< SymmArraySSE<float>
>;
71
template
class
SymmObjArray< SymmArraySSE<double>
>;
cwb_online.f
tuple f
Definition:
cwb_online.py:91
printf
printf("total live time: non-zero lags = %10.1f \n", liveTot)
a
wavearray< double > a(hp.size())
n
int n
Definition:
cwb_net.C:10
SymmObjArray.hh
SymmArraySSE.hh
SymmObjArray::rec
T * rec
Definition:
SymmObjArray.hh:27
SymmObjArray::Read
void Read(FILE *f)
Definition:
SymmObjArray.cc:55
SymmArraySSE< float >
i
i drho i
Definition:
cwb_epparameters.C:85
Write
tlive_fix Write()
SymmObjArray::~SymmObjArray
virtual ~SymmObjArray()
Definition:
SymmObjArray.cc:31
SymmObjArray::Resize
void Resize(unsigned int sz)
Definition:
SymmObjArray.cc:36
SymmObjArray::Resize0
void Resize0(unsigned int sz)
Definition:
SymmObjArray.cc:41
T
double T
Definition:
testWDM_4.C:11
SymmObjArray::SymmObjArray
SymmObjArray(unsigned int n=0)
Definition:
SymmObjArray.cc:9
SymmArray.hh
SymmObjArray
Definition:
SymmObjArray.hh:12
SymmObjArray::operator=
SymmObjArray & operator=(const SymmObjArray &other)
Definition:
SymmObjArray.cc:23
SymmObjArray::Write
void Write(FILE *f)
Definition:
SymmObjArray.cc:49
SymmObjArray::Size
int Size
Definition:
SymmObjArray.hh:26