ToneMapCurve documentation

Is there a sample or more documentation for Argus::IAutoControlSettings::setToneMapCurve?

Something like below.

{
		float toneval[129]=
			{0.000000,
			0.056696,
			0.112414,
			.
                        .
			.
			.
			.
			.
			.
			.
			.
			0.999022,
			1.000000};
		std::vector<float> curves(129,0);
		uint32_t curve_size;
	    IAutoControlSettings *iAutoControlSettings =
	        interface_cast<IAutoControlSettings>(iRequest->getAutoControlSettings());

	    curve_size = iAutoControlSettings->getToneMapCurveSize(RGB_CHANNEL_R);
	    iAutoControlSettings->setToneMapCurveEnable(true);
	    for(int cnt = 0; cnt < curve_size;cnt++)
		{
			curves[cnt] = toneval[cnt];
			iAutoControlSettings->setToneMapCurve(RGB_CHANNEL_R, curves);
			iAutoControlSettings->setToneMapCurve(RGB_CHANNEL_G, curves);
			iAutoControlSettings->setToneMapCurve(RGB_CHANNEL_B, curves);

		}

Ok thanks.

Also, if I have a color correction matrix like this:

{
    2.0, 0.0, 0.0,
    0.0, 1.0, 0.0,
    0.0, 0.0, 1.0
}

Will all the red values alone be multiplied by 2? Or will it affect the other colors.