...
- Create a directory where you will run ROOT and
cd
to it. - Download the
CompiledRootAnalysis
template package, e.g.,
wget
http://mgwilson.web.cern.ch/mgwilson/Software/CompiledRootAnalysis_V01.tgz
tar -xzvf CompiledRootAnalysis_V01.tgz
- Edit the top of
CompiledRootAnalysis/scripts/RenamePackage.sh
with a new package name and namespace for the code in
your package; this will be denoted <package> below. CompiledRootAnalysis/scripts/RenamePackage.sh
cd <package>; gmake shlib; gmake apps; gmake setup; cd ..
Note 1: If you want to use MacOS, domake dylib; make macapps
instead.
Note 2: To see what commands are being executed during the compilation, delete the @ symbols preceding the commands
in the GNUmakefile.- Execute the
bin/example
application to see that it runs correctly. - Start a root session to see that the shared library is loaded correctly. All of the classes and methods
compiled in this package are available on the ROOT command line.
...
Athena-dependent package template
Template Compiling and running athena algorithms on the Grid allows one the flexibility to manipulate and analyze data in a specific manner. Here is the setup of a template package for building and running Athena algorithms and toolsathena applications. This template contains the basic infrastructure and scripts for filtering events, writing an ntuple, submitting jobs to the Grid, and downloading and merging the output from the Grid.
Initial setup
First, select a suitable release by referencing the Offline Release Page, and create a work area, for example by downloading this script:
wget
http://mgwilson.web.cern.ch/mgwilson/Scripts/createAtlasWorkArea_15.6.9.8_CERN.sh
.
Anchor | ||||
---|---|---|---|---|
|
General C++ questions and answers
...
float fcn( void* var1, void* var2 ) {
float* f1 = (float*)var1;
float* f2 = (float*)var2;
/* return the product of these two floats */
return (*f1)*(*f2);
}
As you see, in doing this, the programmer assumes all responsibility for making sure that the types and operations
are correct, something normally (and best) done by the compiler.