Alternaria
fit cylinders and ellipsoids to fungus
Apical_hypha_split_merge_lateral_move Class Reference

#include <alternaria_moves.h>

Inheritance diagram for Apical_hypha_split_merge_lateral_move:
Collaboration diagram for Apical_hypha_split_merge_lateral_move:

List of all members.

Public Member Functions

 Apical_hypha_split_merge_lateral_move (const char *split_name, const char *merge_name, double split_prob=1.0, double merge_prob=1.0) throw (jwscxx::base::Arg_error)
 Constructs an Apical_hypha_split_merge_lateral_move.
bool run_1 (Sampler_move_parameters *params) throw (jwscxx::base::Exception)
 Runs the split jump move and either accepts or rejects.
bool run_2 (Sampler_move_parameters *params) throw (jwscxx::base::Exception)
 Runs the merge jump move and either accepts or rejects.

Static Protected Member Functions

static void propose_1st_split (Apical_hypha **proposal_out, double *log_prob_out, const Apical_hypha *hypha) throw (jwscxx::base::Arg_error)
 Creates the first split proposal.
static void propose_2nd_split (Lateral_hypha **proposal_out, double *log_prob_out, const Apical_hypha *split_1, const Lateral_hypha_density *density)
 Creates the second split proposal.
static void propose_merge (Apical_hypha **proposal_out, double *log_prob_out, const Structure *parent, const Apical_hypha *hypha_1, const Lateral_hypha *hypha_2) throw (jwscxx::base::Arg_error)
 Creates the merge proposal.

Detailed Description

MCMC Sampler move that stochastically proposes splitting or merging an Apical_hypha with one of its Apical_hypha::laterals in an Alternaria_model.

Definition at line 420 of file alternaria_moves.h.


Constructor & Destructor Documentation

Apical_hypha_split_merge_lateral_move::Apical_hypha_split_merge_lateral_move ( const char *  split_name,
const char *  merge_name,
double  split_prob = 1.0,
double  merge_prob = 1.0 
) throw (jwscxx::base::Arg_error) [inline]

Constructs an Apical_hypha_split_merge_lateral_move.

Definition at line 426 of file alternaria_moves.h.


Member Function Documentation

bool Apical_hypha_split_merge_lateral_move::run_1 ( Sampler_move_parameters params) throw (jwscxx::base::Exception) [virtual]

Runs the split jump move and either accepts or rejects.

Parameters:
paramsParameters for the move.
Returns:
If the proposal is accepted, 1; otherwise 0.

Implements Sampler_jump_move.

Definition at line 2390 of file alternaria_moves.cpp.

bool Apical_hypha_split_merge_lateral_move::run_2 ( Sampler_move_parameters params) throw (jwscxx::base::Exception) [virtual]

Runs the merge jump move and either accepts or rejects.

Parameters:
paramsParameters for the move.
Returns:
If the proposal is accepted, 1; otherwise 0.

Implements Sampler_jump_move.

Definition at line 2494 of file alternaria_moves.cpp.

void Apical_hypha_split_merge_lateral_move::propose_1st_split ( Apical_hypha **  proposal_out,
double *  log_prob_out,
const Apical_hypha hypha 
) throw (jwscxx::base::Arg_error) [static, protected]

Creates the first split proposal.

Parameters:
proposal_outResult parameter. The first split hypha proposal.
log_prob_outResult parameter. The log probability of *proposal_out.
hyphaStructure to split.

Definition at line 2599 of file alternaria_moves.cpp.

void Apical_hypha_split_merge_lateral_move::propose_2nd_split ( Lateral_hypha **  proposal_out,
double *  log_prob_out,
const Apical_hypha split_1,
const Lateral_hypha_density density 
) [static, protected]

Creates the second split proposal.

Parameters:
proposal_outResult parameter. The second split hypha proposal.
log_prob_outResult parameter. The log probability of *proposal_out.
split_1First split hypha proposal.

Definition at line 2726 of file alternaria_moves.cpp.

void Apical_hypha_split_merge_lateral_move::propose_merge ( Apical_hypha **  proposal_out,
double *  log_prob_out,
const Structure parent,
const Apical_hypha hypha_1,
const Lateral_hypha hypha_2 
) throw (jwscxx::base::Arg_error) [static, protected]

Creates the merge proposal.

Parameters:
proposal_outResult parameter. The merged hypha proposal.
log_prob_outResult parameter. The log probability of *proposal_out.
parentParent structure of hypha_1.
hypha_1First hypha to merge.
hypha_2Second hypha proposal.

Definition at line 2758 of file alternaria_moves.cpp.


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