# OEStarts¶

class OEStarts


The OEStarts is an abstract base class. This class defines an interface for providing various kinds of Starts for overlay optimization calculations. Most methods in this interface are useful for adavnced users that wants to create their own optimization workflow using these starts. For specifying starts for OEOverlay or OEROCS calculations, users merely needs to instentiate the appropriate OEStarts.

The OEStarts class defines the following public methods:
The following classes derive from this class:

## CreateCopy¶

OEStarts* CreateCopy() const


Returns a new instance of an OEStarts with the same parameters as the inherent starts.

### GetNumOfStarts¶

unsigned int GetNumOfStarts() const


Returns the number of starts currently set. In most cases, the number of starts depends on the reference and the fit object to be used for optimization. Both SetupRef and Setup should be called to setup the reference and fit informatrion prior to accessing the number of starts for any specific optimization.

### GetStarts¶

bool GetStarts(double* argQuats) const


Returns the starting quaternions currently set. In most cases, the number of starts depends on the reference and the fit object to be used for optimization. Both SetupRef and Setup should be called to setup the reference and fit informatrion prior to accessing the number of starts for any specific optimization.

The array passed in for obtaining the starting quaternions must have a length of art least 7*(NumStarts).

### Setup¶

unsigned int Setup(const OEChem::OEMolBase& argFitMol, OEChem::OETrans& argTrans)


This method defines the interface for setting up the fit system for the OEStarts derived instance with a molecule. The second argument returns the trnasformation required to be applied on the fit molecule prior to starting any optimization. The return value of the method corresponds to the calculated symmetry type of the fit molecule. The reference system information must be set by calling SetupRef prior to calling Setup.

### SetupRef¶

bool SetupRef(const unsigned int argSymmetry)
bool SetupRef(const OEChem::OEMolBase& argRefMol, const unsigned int argSymmetry)


These method defines the interface for setting up the reference system for the OEStarts derived instance. The knowledge of the reference molecule is required for some variants of the OEStarts, whereas the others just require the symmetry information for the reference system.