TrialCompute

class TrialCompute

Implement the perturbation and calculation of acceptance.

Subclassed by feasst::ComputeAddAVB, feasst::ComputeAddAVBDivalent, feasst::ComputeAddMultiple, feasst::ComputeBeta, feasst::ComputeGCA, feasst::ComputeMorph, feasst::ComputeMoveCluster, feasst::ComputeRemoveAVB, feasst::ComputeRemoveAVBDivalent, feasst::ComputeRemoveMultiple, feasst::TrialComputeAdd, feasst::TrialComputeGrow, feasst::TrialComputeGrowAdd, feasst::TrialComputeGrowRemove, feasst::TrialComputeMove, feasst::TrialComputeRemove

Public Functions

TrialCompute(const argtype &args = argtype())

args:

  • new_only: do not compute the Rosenbluth of the old configuration (default: false).

void compute_rosenbluth(const int old, Criteria *criteria, System *system, Acceptance *acceptance, std::vector<TrialStage*> *stages, Random *random)

Perform the stages on the system and compute the acceptance.

Parameters
  • old: Set to 1 for “old” system and “0” for new.

virtual void perturb_and_acceptance(Criteria *criteria, System *system, Acceptance *acceptance, std::vector<TrialStage*> *stages, Random *random) = 0

Perform the Perturbations and determine acceptance.

bool is_new_only() const

Return true if the trial computes new configuration only.