class PerturbBranch : public feasst::PerturbMove

Similar to PerturbDistanceAngle, except that it is performed twice to form a branch, with topology as described in SelectBranch.

Public Functions

void precompute(TrialSelect *select, System *system)

Same as PerturbDistanceAngle, but for two sets of angles/bonds. Also, obtain the angle parameters between the two mobile branch sites.

void place_in_branch(const double distance, const double angle, const double branch_angle, System *system, TrialSelect *select, Random *random)

Place second mobile site in branch as described in SelectBranch.

void move(System *system, TrialSelect *select, Random *random)

Move the selection of the system.