CMS 3D CMS Logo

The Reference Manual

This is the CMSSW Reference Manual, the reference documentation of all classes and packages in CMSSW.

This page explains how to write the documentation for your code.

Class Documentation

Classes and methods are documented with properly formatted comments in the code.

Here is a template of a documented .h file, and of a .cc file. The resulting doxygen page is here.

Package Documentation

Each package should contain a very brief description of its content and purpose. Remember that this is a reference, and not a user's guide: tutorials, howtos, etc. are best documented in the CMS Offline Guide and in the WorkBook. Cross links between the CMS Offline Guide and the WorkBook and this manual are a good way to avoid duplication of content.

This documentation should be written in a file [Package]/doc/[Package].doc, according to the template Documentation/ReferenceManualPages/template/Package.doc. The simplest way of doing this is to go to the doc/ directory in your package and then run the script makePackageDoc, which is available in your PATH, once you have done eval `scramv1 runtime -csh`. This script creates the file [Package].doc according to the above template, and automatically includes inside it a list of the classes and modules to be documented.

Documentation on modules can include .cfi files as follows:

\htmlinclude myfile.cfi

Domain Documentation

"Domains", either for subdetectors (Muons, Tracker...) or from a functional point of view (Simulation, Reconstruction...) can be documented in a page directly linked to mainpage. These domain pages should be put in Documentation/ReferenceManualPages.

How to generate your documentation locally

One you have updated your documentation, you can look at how it displays in the following way:


Last updated: @ K. Lassila-Perini