class TransformDistance extends AWeightedTrigometricDistance {

	@Override
	public double distance(final double[] a, final double[] b) {
		double[] transformA = this.transform.transform(a);
		double[] transformB = this.transform.transform(b);
		return this.getA() * this.timeSeriesDistance.distance(a, b) + this.getB() * this.baseTransformDistance.distance(transformA, transformB);
	}

	public  TransformDistance(final double alpha, final IVectorTransform transform, final IDistanceMetric timeSeriesDistance, final IDistanceMetric transformDistance);
	public  TransformDistance(final double alpha, final IDistanceMetric timeSeriesDistance, final IDistanceMetric transformDistance);
	public  TransformDistance(final double alpha, final IVectorTransform transform, final IDistanceMetric distance);
	public  TransformDistance(final double alpha, final IDistanceMetric distance);

}