Skip to content

Commit 16c819c

Browse files
committed
Change "Bortel" to "ExGauss", or "Exp*Gauss" everywhere.
1 parent 1d72f8b commit 16c819c

File tree

3 files changed

+50
-5
lines changed

3 files changed

+50
-5
lines changed

InterSpec_resources/static_text/peak_editor_help.xml

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,52 @@ you may have made since the last time you clicked the apply, or refit buttons.
6060
<div style="padding-top: 10px">
6161
The <b>Accept</b> button applies any changes you have made, and closes the dialog.
6262
</div>
63-
</ul>
63+
</ul>
64+
65+
66+
<h3>Peak Skew Descriptions</h3>
67+
There are currently three skew distributions that modify the lower energy tail of Gaussian peaks,
68+
and two skew distributions that modify both the lower and upper energy tails of the Gaussians.
69+
70+
<ul>
71+
<li>
72+
<b>Exp*Gauss</b>: Convolution of Gaussian with an left-hand exponential multiplied by a
73+
step function that goes to zero above the peak mean.<br />
74+
See:<br/>
75+
&nbsp;&nbsp;&nbsp;&nbsp;Analytical function for fitting peaks in alpha-particle spectra from Si detectors<br/>
76+
&nbsp;&nbsp;&nbsp;&nbsp;International Journal of Radiation Applications and Instrumentation. Part A. Applied Radiation and Isotopes<br/>
77+
&nbsp;&nbsp;&nbsp;&nbsp;Volume 38, Issue 10, 1987, Pages 831-837<br/>
78+
&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://doi.org/10.1016/0883-2889(87)90180-8" target="_blank">https://doi.org/10.1016/0883-2889(87)90180-8</a><br/>
79+
<br/>
80+
Although in the paper two exponentials are used, for gamma-spectroscopy a single exponential
81+
appears to usually be sufficient, so <em>InterSpec</em> only implements a single exponential.
82+
</li>
83+
<li>
84+
<b>GaussExp</b>: An exponential tail stitched to a Gaussian core.<br />
85+
See:<br />
86+
&nbsp;&nbsp;&nbsp;&nbsp;A simple alternative to the Crystal Ball function.<br />
87+
&nbsp;&nbsp;&nbsp;&nbsp;Souvik Das, arXiv:1603.08591<br />
88+
&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://arxiv.org/abs/1603.08591" target="_blank">https://arxiv.org/abs/1603.08591</a>
89+
</li>
90+
<li>
91+
<b>Crystal Ball</b>: A Gaussian core portion and a power-law low-end tail, below a threshold.<br />
92+
See:<br />
93+
&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://en.wikipedia.org/wiki/Crystal_Ball_function" target="_blank">https://en.wikipedia.org/wiki/Crystal_Ball_function</a><br/>
94+
<br/>
95+
Uses two skew parameters.<br/>
96+
<ol>
97+
<li><b>&alpha;</b>: defines the threshold (how many gaussian sigma away from the mean for the modified-tail to start).</li>
98+
<li><b>n</b>: defines the power-law.
99+
</ol>
100+
</li>
101+
<li>
102+
<b>ExpGaussExp</b>: A double-sided version of the <em>GaussExp</em> distribution, with separate parameters for the lower and upper tails.
103+
</li>
104+
<li>
105+
<b>Double Sided Crystal Ball</b>: A double-sided version of the <em>Crystal Ball</em> distribution, with separate <b>&alpha;</b> and <b>n</b> for the lower and upper tails.
106+
</li>
107+
</ul>
108+
64109
<h3>Example Use Cases</h3>
65110
<div style="padding-top: 10px">
66111
The following are typical reasons to refer to the <b>Peak Editor</b> tool.

src/PeakDef.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1294,7 +1294,7 @@ const char *PeakDef::to_string( const SkewType type )
12941294
switch( type )
12951295
{
12961296
case PeakDef::NoSkew: return "NoSkew";
1297-
case PeakDef::Bortel: return "Bortel"; //Might change to "ExGauss"
1297+
case PeakDef::Bortel: return "ExGauss"; //Could instead use "Bortel"
12981298
case PeakDef::GaussExp: return "GaussExp";
12991299
case PeakDef::CrystalBall: return "CrystalBall"; //Might change to "CB"
13001300
case PeakDef::ExpGaussExp: return "ExpGaussExp";
@@ -1922,7 +1922,7 @@ rapidxml::xml_node<char> *PeakDef::toXml( rapidxml::xml_node<char> *parent,
19221922
switch( m_skewType )
19231923
{
19241924
case NoSkew: val = "NoSkew"; break;
1925-
case Bortel: val = "Bortel"; break;
1925+
case Bortel: val = "ExGauss"; break;
19261926
//case Doniach: val = "Doniach"; break;
19271927
case CrystalBall: val = "CrystalBall"; break;
19281928
case DoubleSidedCrystalBall: val = "DoubleSidedCrystalBall"; break;
@@ -2827,7 +2827,7 @@ std::string PeakDef::gaus_peaks_to_json(const std::vector<std::shared_ptr<const
28272827
break;
28282828

28292829
case Bortel:
2830-
answer << q << "Bortel" << q << ",";
2830+
answer << q << "ExGauss" << q << ",";
28312831
break;
28322832

28332833
case CrystalBall:

src/PeakEdit.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ void PeakEdit::init()
504504
m_skewType->addItem( "None" );
505505
break;
506506
case PeakDef::Bortel:
507-
m_skewType->addItem( "Bortel" );
507+
m_skewType->addItem( "Exp*Gauss" );
508508
break;
509509
case PeakDef::CrystalBall:
510510
m_skewType->addItem( "Crystal Ball" );

0 commit comments

Comments
 (0)