  We present a novel, cell-local shock detector for use with discontinuous
Galerkin (DG) methods. The output of this detector is a reliably scaled,
element-wise smoothness estimate which is suited as a control input to a shock
capture mechanism. Using an artificial viscosity in the latter role, we obtain
a DG scheme for the numerical solution of nonlinear systems of conservation
laws. Building on work by Persson and Peraire, we thoroughly justify the
detector's design and analyze its performance on a number of benchmark
problems. We further explain the scaling and smoothing steps necessary to turn
the output of the detector into a local, artificial viscosity. We close by
providing an extensive array of numerical tests of the detector in use.
