Commit ff6df742 authored by legoc's avatar legoc
Browse files

initial commit

parents
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>LstDataProcess128</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
<dictionary>
<key>?name?</key>
<value></value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.append_environment</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
<value>all</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildArguments</key>
<value></value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildCommand</key>
<value>make</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildLocation</key>
<value>${workspace_loc:/LstDataProcess/Debug}</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
<value>clean</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.contents</key>
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
<value>false</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
<value>all</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.stopOnError</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
<value>true</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>
Version 1.0.0, 2012-10-10
-----------------------------------------------------------
- initial version
Version 1.0.1, 2012-10-16
-----------------------------------------------------------
- fix bug while converting ADC energy to calibrated energy
- fix bug appearing when 'long' is defined on 32 bits, not 64 bits
- change '.lst' to ".lst" for the check of the file format for the "loop" command of the .runlist file
- add isTrig(Event) function to CoincidenceOffline. This function returns true if the current event can be used as a trigger.
=> change condition to enter the coincidence loop accordingly
=> add the test isTrig inside the coincidence loop
- add _maxEvent member to CoincidenceOffline for maximum number of event allowed in a coincidence
=> add test of the size of the array filled in the root tree. Array size should not be larger than _maxEvent
- add output directory option (default: current directory)
- change root tree name from rootTree_xxxxx to Lst2RootTree
- add "#include <unistd.h>" to LiveReader.cpp
Version 1.0.2, 2012-10-23
-----------------------------------------------------------
- fix bug when value of crate is incoherent with the number of declared crates
- corrected default value for AM_CXXFLAGS when --enable-debug is not set
Version 1.1.0, 2012-10-31
-----------------------------------------------------------
- "clean" unused members and functions in CoincidenceOffline.h
- change input check in order to process .lst_x files
- added Detector struct to store detector setup from XPConfig.txt
- added anti-compton and timeShift to XPConfig.txt
- added common applications
- fix rollover offset bug: rollover offset incrementing in wrong way when more than 1 crate was defined.
- added option to write a tree containing all single events (debugging purpose) and binary matrix in dataview format. This option should not be turned ON during "normal" lst2root processing.
- added QA (Quality Assurance) directory to the output file containing histograms to check the quality of the datataking:
=> Rates vs ADC Id.
=> TimeStamp vs Event Id.
=> single ADC spectra
=> calibrated single ADC spectra
=> multiplicity distribution
=> coincidence matrix in ROOT format (TH2, 4096*4096)
- update README files
Version 1.1.1, 2012-11-07
-----------------------------------------------------------
- added status member to Event struct
- added compton suppression in Coincidence and CoincidenceOffline algorithms
- added the following QA histos:
=> single compton cleaned ADC spectra
=> Time difference vs couple ADC1-ADC2 TH2 to check time alignment
- fix TH2 coincidence matrix filling bug
- added isToBeFilled function to check if the event can be filled in the coincidence
- fix channel index bug in Lst2RootTree
Version 1.1.2, 2012-12-07
-----------------------------------------------------------
- fix TH2 relative time filling bug
- fix compton suppression mapping bug
Version 1.1.3, 2012-12-20
-----------------------------------------------------------
- corrected src/algorithms/root/Makefile.am
Version 1.1.4, 2013-01-22
-----------------------------------------------------------
- fix TH2 relative time filling bug
- fix compton suppression mapping bug
- added QA class
- move all QA histogram filling/storing into the QA class
- fix memory leak
- added System (CPU performances) and Events (summuray of events read/not inserted, ...) QA histograms
- change usage: added multiplicity parameter
Version 1.1.5, 2013-02-6
-----------------------------------------------------------
- fix bug for old gcc versions
Version 1.1.6, ???
-----------------------------------------------------------
- fill only Germanium detectors in coincidence matrix
- add acquisition time print
-
This diff is collapsed.
SUBDIRS = src
Follow the next steps to generate a new source package for GNU automake release:
- change the version number in the configure.ac file in the build directory:
example with version number 1.2.3
AC_INIT([lstdataprocess], [1.2.3])
LIBRARY_VERSION=1:2:3
- run the package.sh script in the scripts directory:
example with version number 1.2.3 and output directory destdir
./package.sh 1.2.3 destdir
\ No newline at end of file
To compile and install the library:
./build.sh
cd build
../configure --prefix=DESTDIR --enable-nomad=(yes|no) --enable-root=(yes|no) --enable-nappli=(yes|no)
make install
By default DESTDIR is /usr/local and requires root privileges.
To configure with full optimization:
../configure CXXFLAGS=-O3 ...
To configure with debug information:
../configure CPPFLAGS=-DDEBUG CXXFLAGS="-g3 -O0" ...
#! /bin/sh
libtoolize --force
aclocal -I m4 --install
autoconf
automake --gnu --add-missing
if [ ! -d build ]
then
mkdir build;
fi
\ No newline at end of file
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
# Copyright (C) 2006 Free Software Foundation, Inc.
# This configure.ac script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
AC_INIT([lstdataprocess], [1.2.1])
LIBRARY_VERSION=1:2:1
AM_INIT_AUTOMAKE([subdir-objects])
AC_PROG_CC
AC_PROG_CXX
AC_LANG(C++)
AC_PROG_LIBTOOL
AC_CONFIG_MACRO_DIR([m4])
AC_ARG_ENABLE(nomad,
[ --enable-nomad compile Nomad applications],
[case "${enableval}" in
yes) nomad=true ;;
no) nomad=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-nomad) ;;
esac],[nomad=false])
AM_CONDITIONAL([NOMAD], [test "$nomad" = true])
AC_ARG_ENABLE(root,
[ --enable-root compile Root applications],
[case "${enableval}" in
yes) root=true ;;
no) root=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-root) ;;
esac],[root=false])
AM_CONDITIONAL([ROOT], [test "$root" = true])
AC_ARG_ENABLE(cameo,
[ --enable-cameo compile Cameo applications],
[case "${enableval}" in
yes) cameo=true ;;
no) cameo=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-cameo) ;;
esac],[cameo=false])
AM_CONDITIONAL([CAMEO], [test "$cameo" = true])
AC_SUBST(LIBRARY_VERSION)
ROOT_LDFLAGS=`root-config --glibs`
AC_SUBST(ROOT_LDFLAGS)
ROOT_CFLAGS=`root-config --cflags`
AC_SUBST(ROOT_CFLAGS)
AX_BOOST_BASE([1.41],, [AC_MSG_ERROR([Boost 1.41 required])])
AC_CAMEO
LST_CXXFLAGS="$BOOST_CPPFLAGS \
$ZMQ_CFLAGS \
$PROTOBUF_CFLAGS \
$CAMEO_CFLAGS"
LST_LDFLAGS="$BOOST_LDFLAGS \
$ZMQ_LDFLAGS \
$PROTOBUF_LDFLAGS \
$CAMEO_LDFLAGS"
LST_LIBS="$BOOST_THREAD_LIB \
$ZMQ_LIB \
$PROTOBUF_LIB \
$CAMEO_LIBS"
AC_SUBST(LST_CXXFLAGS)
AC_SUBST(LST_LDFLAGS)
AC_SUBST(LST_LIBS)
top_srcdir=.
AC_CONFIG_FILES([
Makefile
src/Makefile
src/lstdpp128/Makefile
src/lstdpp128/algorithms/Makefile
src/lstdpp128/algorithms/nomad/Makefile
src/lstdpp128/algorithms/root/Makefile
src/lstdpp128/apps/Makefile
src/lstdpp128/apps/common/Makefile