#include <GausFitCache.h>
|
virtual TF1 * | GetClone (size_t nGaus) |
| Throws an exception (ROOT does not support cloning compiled functions) More...
|
|
virtual unsigned int | MaxGaussians () const |
| Returns the maximum number of Gaussians in a function that we support. More...
|
|
template<> |
Double_t | ngaus (Double_t const *x, Double_t const *params) |
|
| GausFitCache (std::string new_name="GausFitCache") |
| Constructor; optionally set the name of the repository. More...
|
|
virtual | ~GausFitCache () |
| Destructor. More...
|
|
std::string | GetName () const |
| Return the name of this cache. More...
|
|
virtual TF1 * | Get (size_t nFunc) |
| Returns a function sum of nFunc base functions. More...
|
|
virtual std::string | FunctionName (size_t nFunc) const |
| Returns a name for the function with nFunc base functions. More...
|
|
|
static Double_t | gaus (Double_t const *x, Double_t const *params) |
| Single Gaussian function. More...
|
|
template<unsigned int CutOff> |
static Double_t | gaus_trunc (Double_t const *x, Double_t const *params) |
|
template<unsigned int NGaus> |
static Double_t | ngaus (Double_t const *x, Double_t const *params) |
|
template<unsigned int NGaus, unsigned int CutOff> |
static Double_t | ngaus_trunc (Double_t const *x, Double_t const *params) |
| Sum of NGaus Gaussian functions truncated at CutOff sigmas. More...
|
|
Definition at line 148 of file GausFitCache.h.
template<unsigned int NGaus, unsigned int CutOff>
Class around sum of NGaus Gaussian functions truncated at CutOff sigmas.
Definition at line 217 of file GausFitCache.h.
template<unsigned int NGaus>
void hit::details::CompiledGausFitCacheBaseStruct::AppendFunction |
( |
| ) |
|
|
protected |
Adds one function.
Definition at line 396 of file GausFitCache.h.
399 (
new TF1(
FunctionName(NGaus).c_str(), &ngaus<NGaus>, 0., 1., 3*NGaus));
std::vector< TF1 * > funcs
virtual std::string FunctionName(size_t nFunc) const
Returns a name for the function with nFunc base functions.
void hit::details::CompiledGausFitCacheBaseStruct::CannotCreateFunction |
( |
size_t |
nGaus | ) |
const |
|
protected |
Throws an error asserting compiled functions can't be cretead run-time.
Definition at line 104 of file GausFitCache.cxx.
106 throw art::Exception(art::errors::LogicError)
107 <<
name <<
" function cache can't create functions at run-time; " << nFunc
108 <<
"-addend function was requested, but we have only functions with up to "
virtual unsigned int MaxGaussians() const
Returns the maximum number of Gaussians in a function that we support.
std::string name
name of the cache
Double_t hit::details::CompiledGausFitCacheBaseStruct::gaus |
( |
Double_t const * |
x, |
|
|
Double_t const * |
params |
|
) |
| |
|
static |
Single Gaussian function.
- Parameters
-
x | vector; [0] variable value |
params | vector: [0] coefficient of the exponent [1] mean [2] sigma |
- Returns
- the Gaussian evaluated at *x
This function is equivalent to ROOT's "gaus".
Definition at line 91 of file GausFitCache.cxx.
93 return params[0] *
std::exp(-0.5*
sqr((
x[0] - params[1])/params[2]));
process_name opflash particleana ie x
template<unsigned int CutOff>
Double_t hit::details::CompiledGausFitCacheBaseStruct::gaus_trunc |
( |
Double_t const * |
x, |
|
|
Double_t const * |
params |
|
) |
| |
|
static |
Definition at line 405 of file GausFitCache.h.
407 const Double_t
z = (
x[0] - params[1])/params[2];
408 return ((z > -((Double_t) CutOff)) && (z < (Double_t) CutOff))?
process_name opflash particleana ie ie ie z
process_name opflash particleana ie x
TF1 * hit::details::CompiledGausFitCacheBaseStruct::GetClone |
( |
size_t |
nGaus | ) |
|
|
virtual |
Throws an exception (ROOT does not support cloning compiled functions)
Reimplemented from hit::GausFitCache.
Definition at line 97 of file GausFitCache.cxx.
98 throw art::Exception(art::errors::LogicError)
99 <<
"CompiledGausFitCacheBaseStruct: compiled functions can't be cloned";
template<unsigned int NGaus>
void hit::details::CompiledGausFitCacheBaseStruct::InitializeCompiledGausFitVector |
( |
| ) |
|
|
protected |
Returns a vector initialized with multigaussians.
Definition at line 383 of file GausFitCache.h.
385 AppendFunction<NGaus>();
void InitializeCompiledGausFitVector()
Returns a vector initialized with multigaussians.
template<>
void hit::details::CompiledGausFitCacheBaseStruct::InitializeCompiledGausFitVector |
( |
| ) |
|
|
inlineprotected |
virtual unsigned int hit::details::CompiledGausFitCacheBaseStruct::MaxGaussians |
( |
| ) |
const |
|
inlinevirtual |
template<unsigned int NGaus>
static Double_t hit::details::CompiledGausFitCacheBaseStruct::ngaus |
( |
Double_t const * |
x, |
|
|
Double_t const * |
params |
|
) |
| |
|
inlinestatic |
Definition at line 206 of file GausFitCache.h.
207 {
return gaus(
x, params) +
ngaus<NGaus-1>(
x, params + 3); }
static Double_t gaus(Double_t const *x, Double_t const *params)
Single Gaussian function.
process_name opflash particleana ie x
static Double_t ngaus(Double_t const *x, Double_t const *params)
template<>
Double_t hit::details::CompiledGausFitCacheBaseStruct::ngaus |
( |
Double_t const * |
x, |
|
|
Double_t const * |
params |
|
) |
| |
|
inline |
template<unsigned int NGaus, unsigned int CutOff>
static Double_t hit::details::CompiledGausFitCacheBaseStruct::ngaus_trunc |
( |
Double_t const * |
x, |
|
|
Double_t const * |
params |
|
) |
| |
|
inlinestatic |
Sum of NGaus Gaussian functions truncated at CutOff sigmas.
Definition at line 212 of file GausFitCache.h.
213 {
return FuncSum<NGaus, gaus_trunc<CutOff>, 3U>::eval(
x, params); }
process_name opflash particleana ie x
The documentation for this class was generated from the following files: