Page Menu
Home
HEPForge
Search
Configure Global Search
Log In
Files
F19251055
AbsFilter1DBuilder.cc
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
AbsFilter1DBuilder.cc
View Options
#include
<cassert>
#include
"geners/CPP11_auto_ptr.hh"
#include
"geners/binaryIO.hh"
#include
"geners/IOException.hh"
#include
"npstat/stat/AbsFilter1DBuilder.hh"
#include
"npstat/nm/OrthoPoly1D.hh"
namespace
npstat
{
PolyFilter1D
*
OrthoPolyFilter1DBuilder
::
makeFilter
(
const
double
*
taper
,
const
unsigned
maxDegree
,
const
unsigned
binnum
,
const
unsigned
datalen
)
const
{
assert
(
taper
);
unsigned
filterCenter
;
CPP11_auto_ptr
<
OrthoPoly1D
>
poly
(
this
->
makeOrthoPoly
(
maxDegree
,
binnum
,
datalen
,
&
filterCenter
));
CPP11_auto_ptr
<
PolyFilter1D
>
f
(
new
PolyFilter1D
(
filterCenter
));
const
unsigned
filterLen
=
poly
->
length
();
f
->
resize
(
filterLen
);
poly
->
linearFilter
(
taper
,
maxDegree
,
filterCenter
,
&
(
*
f
)[
0
],
filterLen
);
return
f
.
release
();
}
bool
PolyFilter1D
::
write
(
std
::
ostream
&
os
)
const
{
gs
::
write_pod
(
os
,
peak_
);
gs
::
write_pod_vector
(
os
,
static_cast
<
const
std
::
vector
<
long
double
>&>
(
*
this
));
return
!
os
.
fail
();
}
PolyFilter1D
*
PolyFilter1D
::
read
(
const
gs
::
ClassId
&
id
,
std
::
istream
&
in
)
{
static
const
gs
::
ClassId
current
(
gs
::
ClassId
::
makeId
<
PolyFilter1D
>
());
current
.
ensureSameId
(
id
);
unsigned
peak
=
0U
;
gs
::
read_pod
(
in
,
&
peak
);
PolyFilter1D
*
f
=
0
;
if
(
!
in
.
fail
())
{
f
=
new
PolyFilter1D
(
peak
);
gs
::
read_pod_vector
(
in
,
static_cast
<
std
::
vector
<
long
double
>*>
(
f
));
}
if
(
in
.
fail
())
{
delete
f
;
f
=
0
;
throw
gs
::
IOReadFailure
(
"In npstat::PolyFilter1D::read: "
"input stream failure"
);
}
return
f
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Tue, Sep 30, 5:47 AM (1 d, 10 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6560402
Default Alt Text
AbsFilter1DBuilder.cc (1 KB)
Attached To
Mode
rNPSTATSVN npstatsvn
Attached
Detach File
Event Timeline
Log In to Comment