import math


def calculate_shield_attenuation(macroscopic_cross_section, thickness, initial_intensity):
    """
    This function calculates the change in particle rate given a shield of a
    specific thickness.

    input: macroscopic_cross_section [1/cm], thickness [cm], initial_intensity
           [particles/second]
    output: particle intensity [particles/second]
    """
    particle_intensity = initial_intensity * math.exp(-1.0 * thickness * macroscopic_cross_section)
    return particle_intensity