Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
LEFEBVREJP email
radix
Commits
8f3aa801
Commit
8f3aa801
authored
Oct 09, 2018
by
Purves, Murray
Browse files
Fixing energy calibration calculations in spectrumspestream
parent
285607d1
Pipeline
#16175
passed with stages
in 8 minutes and 51 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
radixio/spectrumspestream.i.hh
View file @
8f3aa801
...
...
@@ -112,7 +112,7 @@ bool SpectrumSPEStream<data_type>::read_from(const std::string &file)
// End of this spectrum - populate SpectrumData object
radix_line
(
" Adding spectrum..."
);
mData
->
addSpectrumData
(
id
,
""
,
""
,
dateTime
,
""
,
liveTime
,
totalTime
,
0.
f
,
energyCalOffset
,
energyCalGain
,
0.
f
,
0.
f
,
energyCalOffset
,
energyCalGain
,
0.
f
,
0.
f
,
0.
f
,
0.
f
,
0.
f
,
totalEntries
,
countsByChannel
);
result
=
true
;
break
;
...
...
@@ -223,9 +223,14 @@ bool SpectrumSPEStream<data_type>::write_to(const std::string &file) const
fprintf
(
stream
,
"$ENER_FIT:
\n
"
);
// Calculate energy fit vars
float
energyFit1
=
energyCalOffset
+
(
0.5
/
float
(
numberOfChannels
)
*
energyCalGain
);
energyCalOffset
+
(
(
0.5
/
float
(
numberOfChannels
)
)
*
energyCalGain
);
float
energyFit2
=
energyCalGain
/
float
(
numberOfChannels
);
float
energyFit3
=
0.
f
;
radix_line
(
" Calculated energy fit:
\n
1: "
<<
energyFit1
<<
"
\n
2: "
<<
energyFit2
<<
"
\n
3: "
<<
energyFit3
);
radix_line
(
" From initial values:
\n
gain: "
<<
energyCalGain
<<
"
\n
offset: "
<<
energyCalOffset
);
fprintf
(
stream
,
" %10.6e %10.6e %10.6e
\n
"
,
energyFit1
,
energyFit2
,
energyFit3
);
...
...
@@ -382,7 +387,7 @@ void SpectrumSPEStream<data_type>::readEnerFit(std::ifstream &stream,
energyFit3
=
stof
(
parts
[
2
]);
}
// Calculate calibration terms from this
energyCalGain
=
energyFit2
/
float
(
totalEntries
);
energyCalGain
=
energyFit2
*
float
(
totalEntries
);
energyCalOffset
=
energyFit1
-
((
0.5
/
float
(
totalEntries
))
*
energyCalGain
);
radix_line
(
" energy calibration:"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment