TrialMove is the core class for defining trial moves in McSimulation. It is an abstract class containing the minimal necessary functions for performing a trial move:

* Attempt() - This function performs the actual move

* UpdateMaxStepSize? - This function updates maximum step size (for the moves for which this quantity is meaningful). This function should be called from within the Attempt function in an appropriate manner * SetStepSizeUpdateFrequency? - The frequency at which the maximum step size is updated depends on the definition of the TrialMove and might differ between different trial moves. One can change the default frequency using this function

* SetAdjustMaxStepSize?(): One can define a TrialMove where maximum step size is not adjusted throughout the simulation using this function. (Default value is 'true' and maximum step size is automatically adjusted.)

* SetParticleIndex? - One might want to define a TrialMove which does not include all particles in the system. For instance, in the simulation of a mixture, one might wish to rotate some types of particles and not rotate some others. One can pass the indices of the particles which should be used in the trial move using this function. (Every TrialMove includes all particles by default, unless otherwise specified in the definition of the TrialMove.)

This class also has appropriate Set/Get functions for passing/retrieving the member classes/parameters of the simulation.

==External Links==