100 likes | 345 Views
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
E N D
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 BesGeometryConfiguration(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 G4WORKDIR: /bin, /tmp, /boostlib • 'gmake' in other subdirectories which have GNUmakefile, will compile the source files in this directory and create shared and static libs: libBOOST*.so libBOOST*.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 $(G4WORKDIR)/tmp/$(G4SYSTEM). 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 • G4WORKDIR will be set to your $HOME directory by default • If you want to change your G4WORKDIR,you should setenv G4WORKDIR before source ~dengzy/.boostenv
About cvs • Setenv CVSROOT :pserver:your_cvs_username@besfarm7:/d9/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++:AsciiData.h dmplib.h AsciiData.cxx • Write makefile to create libAsciiDmp.so • Write boost hit information to AsciiDmp_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