I added depth of field to the camera class. There are two parameters that affect the depth of field using this interface; focal distance and lens radius.
The focal distance corresponds to the distance of the focal plane which will have an infinite depth of field and is the same as the pinhole camera. This means that objects at the focal distance will be in focus.
The lens radius corresponds the the aperture which samples are generated on. The larger the radius the more peturbed the ray is and gives a shallower depth of field.
Below the gifs show the affect of changing one of the parameters while keeping the other one fixed.