Alternaria
fit cylinders and ellipsoids to fungus
Spore_split_merge_2_apical_move Class Reference

#include <alternaria_moves.h>

Inheritance diagram for Spore_split_merge_2_apical_move:
Collaboration diagram for Spore_split_merge_2_apical_move:

List of all members.

Public Member Functions

 Spore_split_merge_2_apical_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 a Spore_transition_apical_move.
bool run_1 (Sampler_move_parameters *params) throw (jwscxx::base::Exception)
 Runs the apical-to-spore jump move and either accepts or rejects.
bool run_2 (Sampler_move_parameters *params) throw (jwscxx::base::Exception)
 Runs the spore-to-apical 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_density *density, const Spore *spore) throw (jwscxx::base::Arg_error)
 Creates the first split proposal.
static void propose_2nd_split (Apical_hypha **proposal_out, double *log_prob_out, const Apical_hypha *split_1) throw (jwscxx::base::Arg_error)
 Creates the second split proposal.
static void propose_merge (Spore **proposal_out, double *log_prob_out, const Structure *parent, const Spore_density *density, const Apical_hypha *hypha_1, const Apical_hypha *hypha_2) throw (jwscxx::base::Arg_error)
 Creates the merge proposal.

Detailed Description

MCMC Sampler move that proposes splitting/merging 2 Apical_hypha from/into a Spore.

Definition at line 204 of file alternaria_moves.h.


Constructor & Destructor Documentation

Spore_split_merge_2_apical_move::Spore_split_merge_2_apical_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 a Spore_transition_apical_move.

Definition at line 210 of file alternaria_moves.h.


Member Function Documentation

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

Runs the apical-to-spore jump move and either accepts or rejects.

========================================================================= ----------------- Spore_split_merge_2_apical_move ---------------------

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

Implements Sampler_jump_move.

Definition at line 624 of file alternaria_moves.cpp.

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

Runs the spore-to-apical 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 715 of file alternaria_moves.cpp.

void Spore_split_merge_2_apical_move::propose_1st_split ( Apical_hypha **  proposal_out,
double *  log_prob_out,
const Apical_hypha_density density,
const Spore spore 
) 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.
densityDensity over Apical_hypha.
sporeStructure to split.

Definition at line 813 of file alternaria_moves.cpp.

void Spore_split_merge_2_apical_move::propose_2nd_split ( Apical_hypha **  proposal_out,
double *  log_prob_out,
const Apical_hypha split_1 
) throw (jwscxx::base::Arg_error) [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 971 of file alternaria_moves.cpp.

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

Creates the merge proposal.

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

Definition at line 1072 of file alternaria_moves.cpp.


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