LCDetectors
Overview
LCDetectors contains detector data for the org.lcsim framework. Each detector has a directory in the detectors directory of LCDetectors. This directory contains a compact description, various properties files, an LCDD file, and other detector data. These directories are zipped and placed in canonical locations on the LCSIM website. The org.lcsim conditions system can download the zip files from the WWW based on the tag in the LCIO file. This information is used for detector description in the reconstruction framework.
LCSIM WWW
LCDetectors is periodically replicated to the org.lcsim website.
Detector zip resource files are kept at the base URL http://www.lcsim.org/detectors.
For instance, the sdjan03 zip file is at http://www.lcsim.org/detectors/sdjan03.zip.
There also exist directories for each detector. The sdjan03 directory is http://www.lcsim.org/detectors/sdjan03/. The LCDD file for sdjan03 is kept at http://www.lcsim.org/detectors/sdjan03/sdjan03.lcdd and the compact file is kept at http://www.lcsim.org/detectors/sdjan03/compact.xml.
A list of all the current detector tags can be downloaded from http://www.lcsim.org/detectors/taglist.txt.
Getting LCDetectors from CVS
LCDetectors is kept at the SLAC CVS. Instructions to checkout.
cvs login -d :pserver:anonymous@cvs.freehep.org:/cvs/lcd cvs co LCDetectors
To update an existing installation as new detectors are added you will need to specify that new directories should be built (-d), old ones should be pruned (-P) and any tags should be reset (-A).
cvs update -PdA
GeomConverter
You will also need to checkout and build the GeomConverter project. Here are the quick build instructions.
cvs -d :pserver:anonymous@cvs.freehep.org:/cvs/lcd co GeomConverter cd GeomConverter mvn clean install
You will also need the the Maven 2 build tool.
Build Commands
The following instructions assume that the current directory is LCDetectors checkout dir.
First, start by setting the name of the detector you are working with in the environment (bash).
export DETECTOR=sdjan03
The DETECTOR variable is used for all make commands that use a single detector.
Handy Hint
If you are performing one action for a number of detectors sequentially you can also define the detector
directly on the command line, e.g.
make [target] DETECTOR=sdjan03
Build the zip file locally for the current DETECTOR. The zip file will be placed at detectors/$DETECTOR.zip
make zip
Create LCDD file for DETECTOR. The LCDD file will be placed at detectors/$DETECTOR/$DETECTOR.lcdd
make lcdd
Create HepRep file for DETECTOR. The LCDD file will be placed at *detectors/$DETECTOR/detector.heprep
make heprep
Build the LCDD file and zip file for DETECTOR.
make build
Remake the taglist and update to WWW (if on SLAC Linux).
make taglist
Rebuild all the detectors in place.
make build_all
Update the WWW with new detectors.
make update_www
Commit a new taglist to CVS.
make taglist_commit
Update your LCDetectors module.
make cvs_update
Update all the detectors on lcsim WWW from your local copies.
make update_all
Make all the LCDD files locally.
make lcdd_all
Make all the zip files locally.
make zip_all
Update DETECTOR's zip file to lcsim WWW from local copy, if needed.
make update
To make a new detector from the detectors/template files, first set DETECTOR equal to a new detector name.
export DETECTOR=mynewdet
Then execute this command to create the directory structure and blank compact.xml file.
make new
Custom Detectors
You can configure org.lcsim to use your own custom detector configurations. The org.lcsim conditions system needs to know how to translate from the tag in the LCIO file to a zip file or directory containing the detector information. Point org.lcsim to a detector from your local LCDetectors copy with an alias, similar to the following.
sdjan03: file:/my/LCDetectors/detectors/sdjan03/
Refer to the Conditions Database Overview writeup under "Detector Alias File" for additional details about using custom detectors.