  The Gaudi architecture and framework are designed to provide a common
infrastructure and environment for simulation, filtering, reconstruction and
analysis applications. In this context, a Detector Description Service was
developed in LHCb in order to also provide easy and coherent access to the
description of the experimental apparatus. This service centralizes every
information about the detector, including geometry, materials, alignment,
calibration, structure and controls. From the proof of concept given by the
first functional implementation of this service late 2000, the Detector
Description Service has grown and has become one of the major components of the
LHCb software, shared among all applications, including simulation,
reconstruction, analysis and visualization.
  We describe here the full and functional implementation of the service. We
stress the easiness of customization and extension of the detector description
by the user, on the seamless integration with condition databases in order to
handle time dependent data and on the choice of XML as a persistency back-end
for LHCb Detector data. We show how the detector description can be shared but
still contains application specific data and keeps at the same time several
levels of granularity. We present several external tools which provide
additional value to the Detector Description Service like a dedicated, easy to
use XML editor and different geometry checkers. We finally give hints on how
this service could evolve to be part of a common effort between all LHC
experiments that would aim at defining common Detector description tools at the
level of the LCG project.
