IMP.bff
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
DecayConvolution Class Reference

#include <DecayConvolution.h>

Inheritance diagram for DecayConvolution:
Inheritance graph
Collaboration diagram for DecayConvolution:
Collaboration graph

Public Types

enum  ConvolutionType {
  FAST_PERIODIC_TIME , FAST_TIME , FAST_PERIODIC , FAST ,
  FAST_AVX , FAST_PERIODIC_AVX
}
 

Public Member Functions

void set_irf (DecayCurve *v)
 
DecayCurveget_irf ()
 
void set_irf_shift_channels (double v)
 
double get_irf_shift_channels () const
 
void set_irf_background_counts (double v)
 
double get_irf_background_counts () const
 
DecayCurveget_corrected_irf ()
 
void set_convolution_method (int v)
 The method used for convolution.
 
int get_convolution_method () const
 
void set_excitation_period (double v)
 
double get_excitation_period () const
 
double get_mean_lifetime (DecayCurve *decay)
 
void set (int convolution_method=FAST_PERIODIC_TIME, double excitation_period=100, double irf_shift_channels=0.0, double irf_background_counts=0)
 
 DecayConvolution (DecayLifetimeHandler *lifetime_handler=nullptr, DecayCurve *instrument_response_function=nullptr, int convolution_method=FAST, double excitation_period=100, double irf_shift_channels=0.0, double irf_background_counts=0, int start=0, int stop=-1, bool active=true)
 
 ~DecayConvolution () override
 
void add (DecayCurve *out) override
 
- Public Member Functions inherited from DecayModifier
virtual DecayCurveget_data ()
 
bool is_active () const
 
void set_active (bool v)
 
void set (DecayCurve *data, int start=0, int stop=-1, bool active=true)
 
void resize (size_t n, double v=0.0)
 
 DecayModifier (DecayCurve *data=nullptr, int start=0, int stop=-1, bool active=true)
 
 ~DecayModifier ()
 
- Public Member Functions inherited from DecayRange
void set_start (int v)
 Set the start index of the decay range.
 
size_t get_start (DecayCurve *d=nullptr) const
 Get the start index of the decay range.
 
void set_stop (int v)
 Set the stop index of the decay range.
 
size_t get_stop (DecayCurve *d=nullptr) const
 Get the stop index of the decay range.
 
void set_range (std::vector< int > v)
 Set the range using a vector of indices.
 
std::vector< int > get_range (DecayCurve *d=nullptr)
 Get the range as a vector of indices.
 
void set (int start=0, int stop=-1)
 Set the start and stop indices of the decay range.
 
 DecayRange (int start, int stop)
 Constructor.
 
virtual ~DecayRange ()=default
 Destructor.
 

Static Public Member Functions

static void compute_corrected_irf (DecayCurve *irf, DecayCurve *corrected_irf, double irf_shift_channels, double irf_background_counts)
 
static double compute_mean_lifetime (std::vector< double > irf_histogram, std::vector< double > decay_histogram, double micro_time_resolution)
 

Additional Inherited Members

- Protected Attributes inherited from DecayModifier
DecayCurvedata = nullptr
 
DecayCurvedefault_data = nullptr
 

Member Enumeration Documentation

◆ ConvolutionType

Enumerator
FAST_PERIODIC_TIME 
FAST_TIME 
FAST_PERIODIC 
FAST 
FAST_AVX 
FAST_PERIODIC_AVX 

Constructor & Destructor Documentation

◆ DecayConvolution()

DecayConvolution::DecayConvolution ( DecayLifetimeHandler lifetime_handler = nullptr,
DecayCurve instrument_response_function = nullptr,
int  convolution_method = FAST,
double  excitation_period = 100,
double  irf_shift_channels = 0.0,
double  irf_background_counts = 0,
int  start = 0,
int  stop = -1,
bool  active = true 
)
inline

◆ ~DecayConvolution()

DecayConvolution::~DecayConvolution ( )
inlineoverride

Member Function Documentation

◆ add()

void DecayConvolution::add ( DecayCurve out)
inlineoverridevirtual

Modify the DecayCurve object.

Parameters
outThe DecayCurve object to be modified.

Implements DecayModifier.

◆ compute_corrected_irf()

static void DecayConvolution::compute_corrected_irf ( DecayCurve irf,
DecayCurve corrected_irf,
double  irf_shift_channels,
double  irf_background_counts 
)
inlinestatic

◆ compute_mean_lifetime()

static double DecayConvolution::compute_mean_lifetime ( std::vector< double >  irf_histogram,
std::vector< double >  decay_histogram,
double  micro_time_resolution 
)
inlinestatic

Compute a mean lifetime by the moments of the decay and the instrument response function.

The computed lifetime is the first lifetime determined by the method of moments (Irvin Isenberg, 1973, Biophysical journal).

Parameters
irf_histogram
decay_histogram
micro_time_resolution
Returns

◆ get_convolution_method()

int DecayConvolution::get_convolution_method ( ) const
inline

◆ get_corrected_irf()

DecayCurve & DecayConvolution::get_corrected_irf ( )
inline

◆ get_excitation_period()

double DecayConvolution::get_excitation_period ( ) const
inline

◆ get_irf()

DecayCurve * DecayConvolution::get_irf ( )
inline

◆ get_irf_background_counts()

double DecayConvolution::get_irf_background_counts ( ) const
inline

◆ get_irf_shift_channels()

double DecayConvolution::get_irf_shift_channels ( ) const
inline

◆ get_mean_lifetime()

double DecayConvolution::get_mean_lifetime ( DecayCurve decay)
inline

◆ set()

void DecayConvolution::set ( int  convolution_method = FAST_PERIODIC_TIME,
double  excitation_period = 100,
double  irf_shift_channels = 0.0,
double  irf_background_counts = 0 
)
inline

◆ set_convolution_method()

void DecayConvolution::set_convolution_method ( int  v)
inline

The method used for convolution.

0 - fconv_per_cs_time_axis 1 - fconv_cs_time_axis 2 - fconv_per 3 - fconv 4 - fconv with AVX optimization 5 - fconv_per with AVX optimization

◆ set_excitation_period()

void DecayConvolution::set_excitation_period ( double  v)
inline

◆ set_irf()

void DecayConvolution::set_irf ( DecayCurve v)
inline

◆ set_irf_background_counts()

void DecayConvolution::set_irf_background_counts ( double  v)
inline

◆ set_irf_shift_channels()

void DecayConvolution::set_irf_shift_channels ( double  v)
inline

The documentation for this class was generated from the following file: