Adding Multiple Impulse Responses

Hi!
I am implementing a loader of several impulse responses and am faced with the problem of adding several impulses from different buffers into 1.
Tell me how best to implement the addition of impulses
P.S.
It is known in advance that all pulses have 1 channel and a sampling frequency of 44100

void IRloaderAudioProcessorEditor::SumImpulseResponse(
    const juce::AudioBuffer<float>& impulse1,
    const juce::AudioBuffer<float>& impulse2, 
    const juce::AudioBuffer<float>& impulse3, 
    const juce::AudioBuffer<float>& impulse4, 
    juce::AudioBuffer<float>& result)
{
    float gain = 0.25f;

    jassert(impulse1.getNumChannels() == impulse2.getNumChannels() &&
        impulse1.getNumChannels() == impulse3.getNumChannels() &&
        impulse1.getNumChannels() == impulse4.getNumChannels() &&
        impulse1.getNumSamples() == impulse2.getNumSamples() &&
        impulse1.getNumSamples() == impulse3.getNumSamples() &&
        impulse1.getNumSamples() == impulse4.getNumSamples());

    result.setSize(impulse1.getNumChannels(), impulse1.getNumSamples());

    for (int channel = 0; channel < impulse1.getNumChannels(); ++channel)
    {
        result.addFromWithRamp(channel, 0, impulse1.getReadPointer(channel), impulse1.getNumSamples(), gain, 0.0f);
        result.addFromWithRamp(channel, 0, impulse2.getReadPointer(channel), impulse2.getNumSamples(), gain, 0.0f);
        result.addFromWithRamp(channel, 0, impulse3.getReadPointer(channel), impulse3.getNumSamples(), gain, 0.0f);
        result.addFromWithRamp(channel, 0, impulse4.getReadPointer(channel), impulse4.getNumSamples(), gain, 0.0f);
    }
}