function T = computeTimeSpentInInteractionRegion(this, r)
%     INPUT:
%     r : N x 3 array. N is the number of time steps
%     OUTPUT
%     T : gives the distribution of time spent in the interaction region
%     USAGE:
%     T = this.computeTimeSpentInInteractionRegion(r)
    T = 0;
    CoolingBeamObj       = this.Beams{cellfun(@(x) strcmpi(x.Alias, 'Blue'), this.Beams)};
    NumberOfTimeSteps    = int64(this.SimulationTime/this.TimeStep);
    for n = 1:(NumberOfTimeSteps - 1)
        dr = Helper.calculateDistanceFromPointToLine(r(n+1, :), [0 0 0], [0 0 1]);
        if dr < CoolingBeamObj.Radius
            A = 1;
        else
            A = 0;
        end
        T = T + A * this.TimeStep;
    end
end