setSetupCleanupEffectToUpdateFunc(beforeColumnUpdateFunc, afterColumnUpdateFunc) {
        if (beforeColumnUpdateFunc !== undefined && typeof beforeColumnUpdateFunc !== "function") {
            throw new DetailedError("Bad beforeColumnUpdateFunc", {customOperation});
        }
        if (afterColumnUpdateFunc !== undefined && typeof afterColumnUpdateFunc !== "function") {
            throw new DetailedError("Bad afterColumnUpdateFunc", {customOperation});
        }
        this.gate.customBeforeOperation = beforeColumnUpdateFunc;
        this.gate.customAfterOperation = afterColumnUpdateFunc;
        return this;
    }
Sets a setup operation to unconditionally run before executing the operations in a column containing this gate.
@param {undefined|!function(!CircuitEvalContext) : void} beforeColumnUpdateFunc
@param {undefined|!function(!CircuitEvalContext) : void} afterColumnUpdateFunc
@returns {!GateBuilder}