1. CMake
1.1 how to make http://code.icecube.wisc.edu/projects/icecube/wiki/CMake > mkdir src > svn co http://code.icecube.wisc.edu/projects/icecube/browser/meta-projects/ehe/branches/trunk-IC22 src > setenv I3_PORTS /proj/soft/I3/i3ports (assuming csh) > mkdir build > cd build > $I3_PORTS/bin/cmake ../src > make (at $I3_BUILD directory) 1.2 how to run a script (environment setting) * The point is env-shell.sh make a "new shell", which means that environment written in .cshrc * will be read again and it can overwrite some icetray related environment variables. 1.2.1 ./env-shell.sh You can run your script with a spawned new shell 1.2.2 ./env-shell.sh python *.py You can run your script with arguments of env-shell.sh (1.2.3 .login file) If you have some troubles with the environment variables, try not to set icetray related variables at your .cshrc. Instead, you may define it at .login file. 1.3 some tweak to run 1.3.1 photonics > cd $I3_BUILD > ln -s /disk0/data/photonics/AHAmodel/ tables > ln -s tables/level1_table.list > ln -s tables/level2_table.list 1.3.2 juliet jar file > cd $I3_SRC/juliet/java_lib > jar xvf JULIeT_version3_0_cls.jar 1.3.3 juliet data file > cd $I3_SRC/juliet/java_lib > ln -s /data/iceCube/JULIeT data 1.3.4 juliet compile javac -classpath $I3_SRC/juliet/java_lib/classes/ -d $I3_SRC/juliet/java_lib/classes/ -sourcepath $I3_SRC/juliet/java_lib/sources/ sources/iceCube/uhe/neutrinoModel/PropagatingNeutrinoFlux.java Same to PropagatingAtmMuonFlux.java. 1.3.5 romeo-data (this will be changed soon) > cd $I3_BUILD/romeo > make romeo-rsync 1.4 CMakeLists.txt 1.5 make rebuild_cache * You will type "make rebuild_cache" at $I3_BUILD, if you add some projects or classes in $I3_SRC directory. > cd $I3_BUILD > make rebuild_cache2. I3MCTree
2.1 example (SC-generator) > #include "dataclasses/physics/I3MCTreeUtils.h" > using namespace I3MCTreeUtils; > I3Particle cascade; > I3MCTreePtr mcTree(new I3MCTree); > AddPrimary(mcTree, cascade); 2.2 more example (weighting-module/private/weighting-module/checker/I3WeightCheckerJuliet.cxx ) 2.2 juliet specific I3JulieetPrimaryParams.h: additional info for primary particle (one I3Particle) I3JulietParams.h: additonal info for juliet particles (tree) I3JulietUtils.h: utility for I3JulietParams See weighting-module/private/weighting-module/weigher/I3WeigherModuleJuliet.cxx. > #include "juliet-interface/I3JulietUtils.h" > #include "juliet-interface/I3JulietParams.h" (in function FillMCWeightDict) > I3JulietParamsTreeConstPtr juliet_params_tree_ptr > = frame->Get(inputJulietParamsTreeName_); > > I3JulietParams i3juliet_inice_track_params > = GetJulietParams(juliet_params_tree, i3juliet_inice_track[0].GetMajorID(), > i3juliet_inice_track[0].GetID()); 3. track
http://code.icecube.wisc.edu/projects/icecube/