.. java:import:: java.io Serializable StateSystem =========== .. java:package:: ch.epfl.leb.sass.models.photophysics :noindex: .. java:type:: public class StateSystem implements Serializable Class which describes a Markovian fluorophore state model. This class provides transition rates and mean lifetimes for Markovian models based on current laser illumination intensity. :author: stefko Fields ------ current_laser_power ^^^^^^^^^^^^^^^^^^^ .. java:field:: protected double current_laser_power :outertype: StateSystem Laser power value for which the currently stored lifetime values are calculated. Constructors ------------ StateSystem ^^^^^^^^^^^ .. java:constructor:: public StateSystem(int N_states, double[][][] M_scaling) :outertype: StateSystem Initialize the state system. :param N_states: number of states :param M_scaling: double[][][] matrix of dimensions N x N x A. A can be different for each position in the matrix. This matrix can be interpreted as follows: double[] P = M_scaling[i][j]; k_ij(I) = P[0] + P[1]*I + P[2]*I^2 + ... P[n]*I^n; k_ij(I) is transition rate between i-th and j-th state under laser illumination intensity I. The first row of this matrix is considered the active state, the last row is considered the bleached state. Methods ------- getMeanTransitionLifetime ^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public final double getMeanTransitionLifetime(int from, int to) :outertype: StateSystem :param from: index of initial state :param to: index of final state :return: mean transition lifetime from one state to another getNStates ^^^^^^^^^^ .. java:method:: public int getNStates() :outertype: StateSystem :return: number of states of this model getTransitionRate ^^^^^^^^^^^^^^^^^ .. java:method:: public final double getTransitionRate(int from, int to) :outertype: StateSystem :param from: index of initial state :param to: index of final state :return: transition rate from one state to another isBleachedState ^^^^^^^^^^^^^^^ .. java:method:: public boolean isBleachedState(int state) :outertype: StateSystem Returns true if the state is the bleached state (the last state of the model) :param state: id of current state :return: state == (N_states - 1) isOnState ^^^^^^^^^ .. java:method:: public boolean isOnState(int state) :outertype: StateSystem Returns true if the state is the active state (the 0-th state) :param state: id of current state :return: (state==0) recalculate_lifetimes ^^^^^^^^^^^^^^^^^^^^^ .. java:method:: public final void recalculate_lifetimes(double laser_power) :outertype: StateSystem Recalculates each element of the transition matrix, based on the scaling matrix provided at initialization. double[] P = M_scaling[i][j]; k_ij(I) = P[0] + P[1]*I + P[2]*I^2 + ... P[n]*I^n; k_ij(I) is transition rate between i-th and j-th state under laser illumination intensity I. :param laser_power: illumination intensity I to recalculate for