New BOOST Framework and CVS repository Deng zi
New BOOST Framework and CVS repository Deng zi yan 2004. 03. 09
Old BOOST Framework • • • /include: all the header files in boost /src: all the source files in boost /xml: geometry data for subdetectors /gmk: makefiles used in boost /doc: documents Need to setenv BOOSTROOT(where the boost directory is) • Inconvenient when subdetector developers check-in codes
The changes • • • Divide boost codes into several parts Rewrite makefile Need not setenv BOOSTROOT Open cvspserver on besfarm Setup cvs repository Add Bes. Geometry. Configuration(by liuhm) – Choose which subdetector to be constructed
BOOST framework • /exe: include main source boost. cc and GNUmakefile, you should gmake from here to build the executable • /bes: include action classes, manager classes, boost detector construction, beam pipe, and magnetic • /phy: include various physics processes • /gen: include generator information • /mdc, /emc, /tof, /muc: detailed subdetector construction, hit, sensitive detector, and digitization • /gmk: include all the makefiles used in boost • /doc: documents for boost, README, FAQ • /dat: include geometry data for all subdetectors • /mac: include macro files, vis. mac, run. mac
about gmake in boost • 'gmake' in the ‘/exe' subdirectory can do all the compiling and build the executable. • 'gmake' will create three directories in your G 4 WORKDIR: /bin, /tmp, /boostlib • 'gmake' in other subdirectories which have GNUmakefile, will compile the source files in this directory and create shared and static libs: lib. BOOST*. so lib. BOOST*. a
About BOOSTROOT • 'BOOSTROOT' is used in both GNUmakefiles and source codes. You need not set this environment in. tcshrc • 'gmake' will create a file 'boost. ini' in $(G 4 WORKDIR)/tmp/$(G 4 SYSTEM). Information about BOOSTROOT is saved in this file • Anywhere you checkout boost from cvs, BOOSTROOT will automatically be set to $(pwd)/boost • You can run boost anywhere
About environment in. tcshrc • What you need to do is only to source ~dengzy/. boostenv, all the environment needed for boost is set • G 4 WORKDIR will be set to your $HOME directory by default • If you want to change your G 4 WORKDIR, you should setenv G 4 WORKDIR before source ~dengzy/. boostenv
About cvs • Setenv CVSROOT : pserver: your_cvs_username@besfarm 7: /d 9/dengzy/cvsboost • Readers: anonymous(no passwd) • Writers: cvsliuhm, cvsdengzy, cvsfucd, cvsyuany, cvsyouzy • Access from any linux system within IHEP is permitted • All directories in cvs repository with mode rwxr-xr-x. developers can change repository only though cvs command • setenv CVSEDITOR emacs(or vi): set default cvs editor • Only after you are satisfactory with your changes on your part of boost, and no error in gmake and running, you can commit your changes to cvs repository
Ascii I/O • C struct : not compatible • C++: Ascii. Data. h dmplib. h Ascii. Data. cxx • Write makefile to create lib. Ascii. Dmp. so • Write boost hit information to Ascii. Dmp_out. dat
Ascii I/O • Already can write information of: tof, mdc, emc, kine • Mdc: no drift time information • Emc: too many hits. Digitization sum up all the energy deposit in one event, not energy deposit in one crystal • No Muc information
- Slides: 10