private Vector3d getReferenceAxisCylic() {
		if (rotationGroup.getPointGroup().equals("C2")) {
			Vector3d vr = new Vector3d(subunits.getOriginalCenters().get(0));
			vr.sub(subunits.getCentroid());
			vr.normalize();
			return vr;
		}

		// get principal axis vector that is perpendicular to the principal
		// rotation vector
		Vector3d vmin = null;
		double dotMin = 1.0;
		for (Vector3d v: principalAxesOfInertia) {
			if (Math.abs(principalRotationVector.dot(v)) < dotMin) {
				dotMin = Math.abs(principalRotationVector.dot(v));
				vmin = new Vector3d(v);
			}
		}
		if (principalRotationVector.dot(vmin) < 0) {
			vmin.negate();
		}

		return vmin;
	}
private Vector3d getReferenceAxisCylic ( ) { if ( rotationGroup . getPointGroup ( ) . equals ( "C2" ) ) { Vector3d vr = new Vector3d ( subunits . getOriginalCenters ( ) . get ( 0 ) ) ; vr . sub ( subunits . getCentroid ( ) ) ; vr . normalize ( ) ; return vr ; } Vector3d vmin = null ; double dotMin = 1.0 ; for ( Vector3d v : principalAxesOfInertia ) { if ( Math . abs ( principalRotationVector . dot ( v ) ) < dotMin ) { dotMin = Math . abs ( principalRotationVector . dot ( v ) ) ; vmin = new Vector3d ( v ) ; } } if ( principalRotationVector . dot ( vmin ) < 0 ) { vmin . negate ( ) ; } return vmin ; }
Returns the default reference vector for the alignment of Cn structures
@return