DDASToys for NSCLDAQ 6.5.0
fit_extensions.h
Go to the documentation of this file.
1/*
2 This software is Copyright by the Board of Trustees of Michigan
3 State University (c) Copyright 2017.
4
5 You may use this software under the terms of the GNU public license
6 (GPL). The terms of this license are described at:
7
8 http://www.gnu.org/licenses/gpl.txt
9
10 Authors:
11 Ron Fox
12 Jeromy Tompkins
13 Aaron Chester
14 FRIB
15 Michigan State University
16 East Lansing, MI 48824-1321
17*/
18
24#ifndef FIT_EXTENSIONS_H
25#define FIT_EXTENSIONS_H
26
27#include <cstdint>
28#include <cstring>
29
31namespace ddastoys {
32
38 double position = 0;
39 double amplitude = 0;
40 double steepness = 0;
41 double decayTime = 0;
42};
43
48struct fit1Info { // Info from single pulse fit:
50 double chiSquare = 0;
51 double offset = 0;
52 unsigned iterations = 0;
53 unsigned fitStatus = 0;
54};
55
60struct fit2Info { // Info from double pulse fit:
62 double chiSquare = 0;
63 double offset = 0;
64 unsigned iterations = 0;
65 unsigned fitStatus = 0;
66};
67
73struct HitExtensionLegacy { // Data added to hits with traces:
76};
77
82struct HitExtension { // Data added to hits with traces:
85 double singleProb = 0;
86 double doubleProb = 0;
87
93 HitExtension() = default;
102 singleProb(0), doubleProb(0) {}
103};
104
110 uint32_t s_size = sizeof(uint32_t);
111};
112
120 uint32_t s_size = sizeof(FitInfoLegacy);
121};
122
127struct FitInfo {
129 uint32_t s_size = sizeof(FitInfo);
130};
131
132} // namespace ddastoys
133
134#endif
Legacy fit extension that knows its size. This is the fit info struct for DDASToys pre-6....
Definition: fit_extensions.h:118
uint32_t s_size
sizeof(FitInfoLegacy)
Definition: fit_extensions.h:120
HitExtensionLegacy s_extension
The hit extension data.
Definition: fit_extensions.h:119
A fit extension that knows its size.
Definition: fit_extensions.h:127
uint32_t s_size
sizeof(FitInfo)
Definition: fit_extensions.h:129
HitExtension s_extension
The hit extension data.
Definition: fit_extensions.h:128
Legacy data structure appended to each fit hit. This is the hit extension struct for DDASToys pre-6....
Definition: fit_extensions.h:73
fit2Info twoPulseFit
Double-pulse fit information.
Definition: fit_extensions.h:75
fit1Info onePulseFit
Single-pulse fit information.
Definition: fit_extensions.h:74
The data structure appended to each fit hit.
Definition: fit_extensions.h:82
HitExtension(const HitExtensionLegacy &leg)
Construct from legacy extension.
Definition: fit_extensions.h:100
fit2Info twoPulseFit
Double-pulse fit information.
Definition: fit_extensions.h:84
HitExtension()=default
Default constructor - Needed because we have a custom constructor from the legacy class and we don't ...
double doubleProb
Probability of double pulse.
Definition: fit_extensions.h:86
fit1Info onePulseFit
Single-pulse fit information.
Definition: fit_extensions.h:83
double singleProb
Probability of single pulse.
Definition: fit_extensions.h:85
Describes a single pulse without an offset. Zero-initialized.
Definition: fit_extensions.h:37
double decayTime
Exponential decay constant.
Definition: fit_extensions.h:41
double amplitude
Pulse amplitude.
Definition: fit_extensions.h:39
double position
Where the pulse is.
Definition: fit_extensions.h:38
double steepness
Logistic steepness factor.
Definition: fit_extensions.h:40
Full fitting information for the single pulse.
Definition: fit_extensions.h:48
double chiSquare
Chi-square value of the fit.
Definition: fit_extensions.h:50
unsigned iterations
Iterations for fit to converge.
Definition: fit_extensions.h:52
double offset
Constant offset.
Definition: fit_extensions.h:51
unsigned fitStatus
Fit status from GSL.
Definition: fit_extensions.h:53
PulseDescription pulse
Description of the pulse parameters.
Definition: fit_extensions.h:49
Full fitting information for the double pulse.
Definition: fit_extensions.h:60
double offset
Shared constant offset.
Definition: fit_extensions.h:63
PulseDescription pulses[2]
The two pulses.
Definition: fit_extensions.h:61
double chiSquare
Chi-square value of the fit.
Definition: fit_extensions.h:62
unsigned fitStatus
Fit status from GSL.
Definition: fit_extensions.h:65
unsigned iterations
Iterations needed to converge.
Definition: fit_extensions.h:64
A null fit extension is a single 32-bit word.
Definition: fit_extensions.h:109
uint32_t s_size
sizeof(uint32_t)
Definition: fit_extensions.h:110