SLAC PEP-II
BABAR
SLAC<->RAL
Babar logo
HEPIC E,S & H Databases PDG HEP preprints
Organization Detector Computing Physics Documentation
Personnel Glossary Sitemap Search Hypernews
Unwrap page!
Comp. Search
Who's who?
Meetings
FAQ Homepage
Archive
Environment
Administration
New User Info.
Web Info/Tools
Monitoring
Training
Tools & Utils
Programming
C++ Standard
SRT, AFS, CVS
QA and QC
Remedy
Histogramming
Operations
PromptReco
Simulation Production
Online SW
Dataflow
Detector Control
Evt Processing
Run Control
Calibration
Databases
Offline
Workbook
Coding Standards
Simulation
Reconstruction
Prompt Reco.
BaBar Grid
Data Distribution
Beta & BetaTools
Kanga & Root
Analysis Tools
RooFit Toolkit
Data Management
Data Quality
Event display
Event Browser
Code releases
Databases
Check this page for HTML 4.01 Transitional compliance with the
W3C Validator
(More checks...)

BABAR Programming Page

20 December 1995


The intention of this page is to bring together the various references and pointers relating to compiled programming languages and object technology. If you see an error or would like to add something, please send your ideas to me,

Tom Glanzman (dragon@slac.stanford.edu)

[ Computing Home Page | BABAR Home Page | SLAC Home Page}

Getting Started

  • Overview of getting help, editors, compilers, and debuggers under UNIX
  • Class notes for BaBar C++ classes
  • Selected Bibliography of C, C++ and Fortran books, and Chris Day's private selection
  • Annotated bibliography of books about UNIX and programming (from misc.books.technical)
  • Recommendations for naming and numbering conventions and what units to use when writing BaBar software.
  • Updated Guidelines for writing BABAR software
  • Directory of useful coding examples (not yet available)
  • SLAC's /usr/local/doc directory of on-line documentation and FAQs
  • Who to ask about programming languages within the BABAR collaboration
  • On-line tutorials and information on specific programming topics:

  • Code examples from John J. Barton and Lee R. Nackman's text "Scientific and Engineering C++: An Introduction with Advanced Techniques and Examples"
  • C++ Coronado tutorial (additional pointers)
  • C Tutorials
  • Fortran90 Tutorial articles (by Mike Metcalf at CERN)
  • Fortran90 for FORTRAN 77 programmers, Tutorial (by Einarsson and Shokin, 111 pp. text)
  • tcl/tk man pages (tcl/tk is a scripting language with GUI capability)
  • Perl information (scripting language>
  • OOP slides from David Quarrie's Oct '94 talk
  • OOP slides from Paul Kunz's Feb '94 talk
  • emacs text editor tutorial (by Free Software Foundation)
  • Frequently Asked Questions (FAQs) for OOP , C++ ,STL , C , and Fortran
  • Other programming references

  • Draft C++ Standard (in PostScript as of 3 May 1995)
  • C++ Virtual Library (at DESY)
  • FreeHEP -- library of HEP contributed software
  • NETLIB - Library of Numerical Analysis software (maintained at ORNL)
  • Advanced Topics

  • Topics on software engineering
  • Coding Templates

    .cc
    C++ code
    .hh
    C++ class definition
    .icc
    C++ inline member functions (included in the .hh file)
    .c
    C code
    .h
    C or C++ header file
    .idl
    IDL (Interface Definition Language)
    .f90
    Fortran 90 code
    .f
    FORTRAN77 code
    .inc
    FORTRAN77/Fortran 90 include files
  • Template Directory containing both long and short templates ($BFROOT/doc/Programming/Templates)
  • Formal Coding Standard Candidates (Rules and Recommendations)

    Note that these coding standards are under consideration only and are intended primarily for programmers working in "core" areas, such as the on-line system, the analysis shell framework or the data model. Casual programmers are directed to the above overview for programming guidelines.

  • Standards Directory (draft standards for "core" software)
  • C++ (88 pp., PostScript)
  • C (28 pp., PostScript)
  • CDF Software Guidelines (FORTRAN77)
  • STAR Software Guidelines (FORTRAN77, Fortran 90, and C)