IMP logo
IMP Reference Guide  develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
IMP::bff::DecayConvolution Class Reference

Compute convolved decay. More...

#include <IMP/bff/DecayConvolution.h>

+ Inheritance diagram for IMP::bff::DecayConvolution:

Detailed Description

Compute convolved decay.

Definition at line 31 of file DecayConvolution.h.

Public Types

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

Public Member Functions

 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)
 
void add (DecayCurve *out) override
 
int get_convolution_method () const
 
DecayCurveget_corrected_irf ()
 
double get_excitation_period () const
 
DecayCurveget_irf ()
 
double get_irf_background_counts () const
 
double get_irf_shift_channels () 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)
 
void set_convolution_method (int v)
 The method used for convolution. More...
 
void set_excitation_period (double v)
 
void set_irf (DecayCurve *v)
 
void set_irf_background_counts (double v)
 
void set_irf_shift_channels (double v)
 
- Public Member Functions inherited from IMP::bff::DecayModifier
 DecayModifier (DecayCurve *data=nullptr, int start=0, int stop=-1, bool active=true)
 
 ~DecayModifier ()
 
virtual DecayCurveget_data ()
 
bool is_active () const
 
void resize (size_t n, double v=0.0)
 
void set (DecayCurve *data, int start=0, int stop=-1, bool active=true)
 
void set_active (bool v)
 
- Public Member Functions inherited from IMP::bff::DecayRange
 DecayRange (int start, int stop)
 Constructor. More...
 
virtual ~DecayRange ()=default
 Destructor. More...
 
std::vector< int > get_range (DecayCurve *d=nullptr)
 Get the range as a vector of indices. More...
 
size_t get_start (DecayCurve *d=nullptr) const
 Get the start index of the decay range. More...
 
size_t get_stop (DecayCurve *d=nullptr) const
 Get the stop index of the decay range. More...
 
void set (int start=0, int stop=-1)
 Set the start and stop indices of the decay range. More...
 
void set_range (std::vector< int > v)
 Set the range using a vector of indices. More...
 
void set_start (int v)
 Set the start index of the decay range. More...
 
void set_stop (int v)
 Set the stop index of the decay range. More...
 
void show (std::ostream &out=std::cout) const
 

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 IMP::bff::DecayModifier
DecayCurvedata = nullptr
 
DecayCurvedefault_data = nullptr
 

Member Function Documentation

void IMP::bff::DecayConvolution::add ( DecayCurve out)
overridevirtual

Modify the DecayCurve object.

Parameters
outThe DecayCurve object to be modified.

Implements IMP::bff::DecayModifier.

Definition at line 342 of file DecayConvolution.h.

+ Here is the call graph for this function:

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

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

Definition at line 80 of file DecayConvolution.h.

void IMP::bff::DecayConvolution::set_convolution_method ( int  v)

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

Definition at line 277 of file DecayConvolution.h.


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