Commit b92277eb authored by Simon Spannagel's avatar Simon Spannagel
Browse files

Merge branch 'v1.0.3_cherrypicking' into 'v1.0-stable'

v1.0.3 cherrypicking

See merge request !272
parents 1906a0ae 254b0008
Pipeline #1532438 canceled with stages
in 7 minutes and 29 seconds
#!/bin/bash
if [ "$(uname)" == "Darwin" ]; then
if [ $(sw_vers -productVersion | awk -F '.' '{print $1 "." $2}') == "10.14" ]; then
OS=mac1014
COMPILER_TYPE=clang
COMPILER_VERSION=clang100
else
echo "Bootstrap only works on macOS Mojave (10.14)"
exit 1
fi
else
echo "This script is only meant for Mac"
exit 1
fi
# Determine is you have CVMFS installed
if [ ! -d "/cvmfs" ]; then
echo "No CVMFS detected, please install it."
exit 1
fi
if [ ! -d "/cvmfs/clicdp.cern.ch" ]; then
echo "No clicdp CVMFS repository detected, please add it."
exit 1
fi
# Choose build type
if [ -z ${BUILD_TYPE} ]; then
BUILD_TYPE=opt
fi
# General variables
CLICREPO=/cvmfs/clicdp.cern.ch
BUILD_FLAVOUR=x86_64-${OS}-${COMPILER_VERSION}-${BUILD_TYPE}
#--------------------------------------------------------------------------------
# CMake
#--------------------------------------------------------------------------------
export CMAKE_HOME=${CLICREPO}/software/CMake/3.14.3/${BUILD_FLAVOUR}
export PATH=${CMAKE_HOME}/bin:$PATH
#--------------------------------------------------------------------------------
# ROOT
#--------------------------------------------------------------------------------
export ROOTSYS=${CLICREPO}/software/ROOT/6.18.00/${BUILD_FLAVOUR}
export PYTHONPATH="$ROOTSYS/lib:$PYTHONPATH"
export PATH="$ROOTSYS/bin:$PATH"
export DYLD_LIBRARY_PATH="$ROOTSYS/lib:$DYLD_LIBRARY_PATH"
#--------------------------------------------------------------------------------
# Ninja
#--------------------------------------------------------------------------------
export Ninja_HOME=${CLICREPO}/software/Ninja/1.9.0/${BUILD_FLAVOUR}
export PATH="$Ninja_HOME:$PATH"
#--------------------------------------------------------------------------------
# Eigen
#--------------------------------------------------------------------------------
export Eigen_HOME=${CLICREPO}/software/Eigen/3.3.7/${BUILD_FLAVOUR}
export Eigen3_DIR=${Eigen_HOME}/share/eigen3/cmake/
......@@ -7,8 +7,15 @@ if [ "$(uname)" == "Linux" ]; then
elif [ "$( cat /etc/*-release | grep CentOS )" ]; then
OS=centos7
else
echo "Cannot detect OS, falling back to SLC6"
OS=slc6
echo "Cannot detect OS, falling back to CentOS7"
OS=centos7
fi
elif [ "$(uname)" == "Darwin" ]; then
if [ $(sw_vers -productVersion | awk -F '.' '{print $1 "." $2}') == "10.15" ]; then
OS=mac1015
else
echo "Bootstrap only works on macOS Catalina (10.15)"
exit 1
fi
else
echo "Unknown OS"
......@@ -21,26 +28,49 @@ if [ ! -d "/cvmfs" ]; then
exit 1
fi
if [ ! -d "/cvmfs/clicdp.cern.ch" ]; then
echo "No clicdp CVMFS repository detected, please add it."
if [ ! -d "/cvmfs/sft.cern.ch" ]; then
echo "No SFT CVMFS repository detected, please make sure it is available."
exit 1
fi
if [ ! -d "/cvmfs/sft.cern.ch" ]; then
echo "No sft CVMFS repository detected, please add it."
if [ ! -d "/cvmfs/geant4.cern.ch" ]; then
echo "No Geant4 CVMFS repository detected, please make sure it is available."
exit 1
fi
# Determine which LCG version to use
if [ "$(uname)" == "Darwin" ]; then
DEFAULT_LCG="LCG_97python3"
else
DEFAULT_LCG="LCG_96b"
fi
if [ -z ${LCG_VERSION} ]; then
echo "No explicit LCG version set, using ${DEFAULT_LCG}."
LCG_VERSION=${DEFAULT_LCG}
fi
# Determine which compiler to use
if [ -z ${COMPILER_TYPE} ]; then
COMPILER_TYPE="gcc"
if [ "$(uname)" == "Darwin" ]; then
COMPILER_TYPE="llvm"
echo "No compiler type set, falling back to AppleClang."
else
echo "No compiler type set, falling back to GCC."
COMPILER_TYPE="gcc"
fi
fi
if [ ${COMPILER_TYPE} == "gcc" ]; then
COMPILER_VERSION="gcc7"
COMPILER_VERSION="gcc8"
echo "Compiler type set to GCC, version ${COMPILER_VERSION}."
fi
if [ ${COMPILER_TYPE} == "llvm" ]; then
COMPILER_VERSION="llvm40"
if [ "$(uname)" == "Darwin" ]; then
COMPILER_VERSION="clang110"
else
COMPILER_VERSION="clang8"
fi
echo "Compiler type set to LLVM, version ${COMPILER_VERSION}."
fi
# Choose build type
......@@ -49,70 +79,15 @@ if [ -z ${BUILD_TYPE} ]; then
fi
# General variables
CLICREPO=/cvmfs/clicdp.cern.ch
SFTREPO=/cvmfs/sft.cern.ch
export BUILD_FLAVOUR=x86_64-${OS}-${COMPILER_VERSION}-${BUILD_TYPE}
#--------------------------------------------------------------------------------
# Compiler
#--------------------------------------------------------------------------------
if [ ${COMPILER_TYPE} == "gcc" ]; then
source ${CLICREPO}/compilers/gcc/7.1.0/x86_64-${OS}/setup.sh
fi
if [ ${COMPILER_TYPE} == "llvm" ]; then
source ${CLICREPO}/compilers/llvm/4.0.0/x86_64-${OS}/setup.sh
fi
#--------------------------------------------------------------------------------
# Python
#--------------------------------------------------------------------------------
export PYTHONDIR=${CLICREPO}/software/Python/2.7.13/${BUILD_FLAVOUR}
export PATH=${PYTHONDIR}/bin:$PATH
export LD_LIBRARY_PATH=${PYTHONDIR}/lib:${LD_LIBRARY_PATH}
#--------------------------------------------------------------------------------
# CMake
#--------------------------------------------------------------------------------
export CMAKE_HOME=${CLICREPO}/software/CMake/3.8.1/${BUILD_FLAVOUR}
export PATH=${CMAKE_HOME}/bin:$PATH
#--------------------------------------------------------------------------------
# ROOT
#--------------------------------------------------------------------------------
export ROOTSYS=${CLICREPO}/software/ROOT/6.08.06/${BUILD_FLAVOUR}
export PYTHONPATH="$ROOTSYS/lib:$PYTHONPATH"
export PATH="$ROOTSYS/bin:$PATH"
export LD_LIBRARY_PATH="$ROOTSYS/lib:$LD_LIBRARY_PATH"
export CMAKE_PREFIX_PATH="$ROOTSYS:$CMAKE_PREFIX_PATH"
#--------------------------------------------------------------------------------
# Ninja
# Source full LCG view
#--------------------------------------------------------------------------------
export Ninja_HOME=${CLICREPO}/software/Ninja/1.7.2/${BUILD_FLAVOUR}
export PATH="$Ninja_HOME:$PATH"
#--------------------------------------------------------------------------------
# Eigen
#--------------------------------------------------------------------------------
export Eigen_HOME=${CLICREPO}/software/Eigen/3.3.3/${BUILD_FLAVOUR}/
export Eigen3_DIR=${Eigen_HOME}/share/eigen3/cmake/
export CMAKE_PREFIX_PATH="$Eigen3_DIR:$CMAKE_PREFIX_PATH"
#--------------------------------------------------------------------------------
# Doxygen
#--------------------------------------------------------------------------------
export Doxygen_HOME=${SFTREPO}/lcg/releases/doxygen/1.8.11-ae1d3/${BUILD_FLAVOUR}/bin/
export PATH="$Doxygen_HOME:$PATH"
#--------------------------------------------------------------------------------
# Git
#--------------------------------------------------------------------------------
export LCG_VIEW=${SFTREPO}/lcg/views/${LCG_VERSION}/${BUILD_FLAVOUR}/setup.sh
source ${LCG_VIEW} || echo "yes"
export Git_HOME=${CLICREPO}/software/git/2.13.2/${BUILD_FLAVOUR}
export PATH=${Git_HOME}/bin:${PATH}
# Fix LCIO path for LCG_96, cmake configs are not properly placed:
export LCIO_DIR=$(dirname $(dirname $(readlink $(which lcio_event_counter))))
......@@ -18,34 +18,14 @@ cmp:slc6-gcc:
stage: compilation
tags:
- docker
image: clicdp/slc6-base
image: gitlab-registry.cern.ch/sft/docker/slc6:latest
script:
- export COMPILER_TYPE="gcc"
- source .gitlab-ci.d/init_x86_64.sh
- source .gitlab-ci.d/load_deps.sh
- mkdir build
- cd build
- cmake -GNinja -DCMAKE_BUILD_TYPE=RELEASE -DROOT_DIR=$ROOTSYS -DEigen3_DIR=$Eigen3_DIR ..
- ninja
- ninja install
artifacts:
paths:
- build
- bin
- lib
expire_in: 3 hour
cmp:slc6-llvm:
stage: compilation
tags:
- docker
image: clicdp/slc6-base
script:
- export COMPILER_TYPE="llvm"
- source .gitlab-ci.d/init_x86_64.sh
- mkdir build
- cd build
- cmake -GNinja -DCMAKE_BUILD_TYPE=RELEASE -DROOT_DIR=$ROOTSYS -DEigen3_DIR=$Eigen3_DIR ..
- cmake -GNinja -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_BUILD_TYPE=RELEASE -DROOT_DIR=$ROOTSYS -DEigen3_DIR=$Eigen3_DIR ..
- ninja
- ninja install
artifacts:
......@@ -59,14 +39,14 @@ cmp:cc7-gcc:
stage: compilation
tags:
- docker
image: clicdp/cc7-base
image: gitlab-registry.cern.ch/sft/docker/centos7:latest
script:
- export COMPILER_TYPE="gcc"
- source .gitlab-ci.d/init_x86_64.sh
- source .gitlab-ci.d/load_deps.sh
- mkdir build
- cd build
- cmake -GNinja -DCMAKE_BUILD_TYPE=RELEASE -DROOT_DIR=$ROOTSYS -DEigen3_DIR=$Eigen3_DIR ..
- cmake -GNinja -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_BUILD_TYPE=RELEASE -DROOT_DIR=$ROOTSYS -DEigen3_DIR=$Eigen3_DIR ..
- ninja
- ninja install
artifacts:
......@@ -88,7 +68,7 @@ cmp:cc7-docker:
script:
- mkdir build
- cd build
- cmake3 -DBUILD_EventLoaderEUDAQ2=ON -DCMAKE_BUILD_TYPE=RELEASE -DROOT_DIR=$ROOTSYS -DEigen3_DIR=$Eigen3_DIR ..
- cmake3 -DCMAKE_CXX_FLAGS="-Werror" -DBUILD_EventLoaderEUDAQ2=ON -DCMAKE_BUILD_TYPE=RELEASE -DROOT_DIR=$ROOTSYS -DEigen3_DIR=$Eigen3_DIR ..
- make
- make install
artifacts:
......@@ -102,13 +82,13 @@ cmp:cc7-llvm:
stage: compilation
tags:
- docker
image: clicdp/cc7-base
image: gitlab-registry.cern.ch/sft/docker/centos7:latest
script:
- export COMPILER_TYPE="llvm"
- source .gitlab-ci.d/init_x86_64.sh
- mkdir build
- cd build
- cmake -GNinja -DCMAKE_BUILD_TYPE=RELEASE -DROOT_DIR=$ROOTSYS -DEigen3_DIR=$Eigen3_DIR ..
- cmake -GNinja -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_BUILD_TYPE=RELEASE -DROOT_DIR=$ROOTSYS -DEigen3_DIR=$Eigen3_DIR ..
- ninja
- ninja install
artifacts:
......@@ -118,16 +98,16 @@ cmp:cc7-llvm:
- lib
expire_in: 3 hour
cmp:mac1014-clang:
cmp:mac1015-clang:
stage: compilation
tags:
- mac
script:
- source .gitlab-ci.d/init_mac.sh
- source .gitlab-ci.d/init_x86_64.sh
- source .gitlab-ci.d/load_deps.sh
- mkdir build
- cd build
- cmake -GNinja -DCMAKE_BUILD_TYPE=RELEASE -DROOT_DIR=$ROOTSYS -DCMAKE_USE_RELATIVE_PATHS=TRUE -DEigen3_DIR=$Eigen3_DIR ..
- cmake -GNinja -DCMAKE_CXX_FLAGS="-Werror" -DCMAKE_BUILD_TYPE=RELEASE -DROOT_DIR=$ROOTSYS -DCMAKE_USE_RELATIVE_PATHS=TRUE -DEigen3_DIR=$Eigen3_DIR ..
- ninja
- ninja install
artifacts:
......@@ -164,43 +144,13 @@ tst:telescope:
# Format and Lint Checking #
############################
# SLC 6
fmt:slc6-llvm-format:
stage: formatting
tags:
- docker
dependencies:
- cmp:slc6-llvm
image: clicdp/slc6-base
script:
- export COMPILER_TYPE="llvm"
- source .gitlab-ci.d/init_x86_64.sh
- cd build/
- ninja check-format
fmt:slc6-llvm-lint:
stage: formatting
tags:
- docker
dependencies:
- cmp:slc6-llvm
image: clicdp/slc6-base
script:
- export COMPILER_TYPE="llvm"
- source .gitlab-ci.d/init_x86_64.sh
- cd build/
- ninja check-lint
# CentOS 7
fmt:centos7-llvm-format:
stage: formatting
tags:
- docker
dependencies:
- cmp:cc7-llvm
image: clicdp/cc7-base
image: gitlab-registry.cern.ch/sft/docker/centos7:latest
script:
- export COMPILER_TYPE="llvm"
- source .gitlab-ci.d/init_x86_64.sh
......@@ -213,7 +163,7 @@ fmt:cc7-llvm-lint:
- docker
dependencies:
- cmp:cc7-llvm
image: clicdp/cc7-base
image: gitlab-registry.cern.ch/sft/docker/centos7:latest
script:
- export COMPILER_TYPE="llvm"
- source .gitlab-ci.d/init_x86_64.sh
......@@ -230,7 +180,7 @@ cmp:doxygen:
stage: documentation
tags:
- docker
image: clicdp/cc7-base
image: gitlab-registry.cern.ch/sft/docker/centos7:latest
dependencies: []
script:
- source .gitlab-ci.d/init_x86_64.sh
......@@ -273,7 +223,7 @@ pkg:slc6-gcc:
stage: packaging
tags:
- docker
image: clicdp/slc6-base
image: gitlab-registry.cern.ch/sft/docker/slc6:latest
only:
- tags
- schedules
......@@ -297,7 +247,7 @@ pkg:cc7-gcc:
stage: packaging
tags:
- docker
image: clicdp/cc7-base
image: gitlab-registry.cern.ch/sft/docker/centos7:latest
only:
- tags
- schedules
......
......@@ -65,7 +65,9 @@ ENDIF()
# Set up the RPATH so executables find the libraries even when installed in non-default location
SET(CMAKE_MACOSX_RPATH TRUE)
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
SET(CMAKE_SKIP_INSTALL_RPATH FALSE)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR})
# Add the automatically determined parts of the RPATH which point to directories outside the build tree to the install RPATH
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
......@@ -76,6 +78,11 @@ IF("${IsSystemDir}" STREQUAL "-1")
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
ENDIF("${IsSystemDir}" STREQUAL "-1")
IF(APPLE)
SET(CMAKE_INSTALL_NAME_DIR "@rpath")
SET(CMAKE_INSTALL_RPATH "@loader_path/../lib") # self relative LIBDIR
ENDIF()
# Include corry cmake functions
INCLUDE("cmake/corryvreckan.cmake")
......@@ -84,7 +91,7 @@ INCLUDE("cmake/corryvreckan.cmake")
#########################################
# Set standard build flags
SET(COMPILER_FLAGS -pedantic -Wall -Wextra -Wcast-align -Wcast-qual -Wconversion -Wuseless-cast -Wctor-dtor-privacy -Wzero-as-null-pointer-constant -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wnoexcept -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wsign-conversion -Wsign-promo -Wstrict-null-sentinel -Wswitch-default -Wundef -Werror -Wshadow -Wformat-security -Wdeprecated -fdiagnostics-color=auto -Wheader-hygiene)
SET(COMPILER_FLAGS -pedantic -Wall -Wextra -Wcast-align -Wcast-qual -Wconversion -Wuseless-cast -Wctor-dtor-privacy -Wzero-as-null-pointer-constant -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wnoexcept -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wsign-conversion -Wsign-promo -Wstrict-null-sentinel -Wswitch-default -Wundef -Wshadow -Wformat-security -Wdeprecated -fdiagnostics-color=auto -Wheader-hygiene)
INCLUDE("cmake/compiler-flag-checks.cmake")
......@@ -122,11 +129,11 @@ IF(NOT ROOT_FOUND)
ENDIF()
# Downgrade to C++14 if ROOT is not build with C++17 support
IF(ROOT_CXX_FLAGS MATCHES ".*std=c\\+\\+17.*")
IF(ROOT_CXX_FLAGS MATCHES ".*std=c\\+\\+1[7z].*")
IF(NOT SUPPORT_STD_CXX17)
MESSAGE(FATAL_ERROR "ROOT was built with C++17 support but current compiler doesn't support it")
ENDIF()
ELSEIF(ROOT_CXX_FLAGS MATCHES ".*std=c\\+\\+1[14].*")
ELSEIF(ROOT_CXX_FLAGS MATCHES ".*std=c\\+\\+1[14y].*")
SET(CMAKE_CXX_STANDARD 14)
ELSEIF(ROOT_CXX_FLAGS MATCHES ".*std=c\\+\\+.*")
MESSAGE(FATAL_ERROR "ROOT was built with an unsupported C++ version: ${ROOT_CXX_FLAGS}")
......@@ -150,6 +157,11 @@ CORRYVRECKAN_SETUP_EIGEN_TARGETS()
SET(CORRYVRECKAN_DEPS_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS})
SET(CORRYVRECKAN_DEPS_LIBRARIES Eigen3::Eigen ROOT::Core ROOT::GenVector ROOT::Geom ROOT::RIO ROOT::Hist ROOT::Minuit ROOT::Minuit2)
# Add the LCG view as dependency if set:
IF(DEFINED ENV{LCG_VIEW})
ADD_RUNTIME_DEP($ENV{LCG_VIEW})
ENDIF()
# Add "thisroot.sh" as runtime dependency for setup.sh file:
ADD_RUNTIME_DEP(thisroot.sh)
......
MIT License
Copyright (c) 2017 CERN and the Corryvreckan authors
Copyright (c) 2017-2020 CERN and the Corryvreckan authors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
......
......@@ -3,5 +3,5 @@ Welcome to the Doxygen code reference of Corryvreckan. This is not an introducti
</div>
<div style="max-width: 1000px; margin-bottom: 10px">
This documentation describes the all the classes and functions that are part of the framework. It is automatically generated from the source code and is kept up to date with the latest changes to the software. The corresponding version where this reference belongs to is shown in the page header.
This documentation describes all the classes and functions that are part of the framework. It is automatically generated from the source code and is kept up to date with the latest changes to the software. The corresponding version where this reference belongs to is shown in the page header.
</div>
......@@ -287,6 +287,7 @@ All supported rotations are extrinsic active rotations, i.e. the vector itself i
\item The intrinsic time resolution of the detector should be specified using the \parameter{time_resolution} parameter with units of time. This can be used to apply detector specific time cuts in modules. This parameter is only required when using relative time cuts in the analysis.
\item The \parameter{time_offset} can be used to shift the reference time frame of an individual detector to e.g.\ account for time of flight effects between different detector planes by adding a fixed offset.
\item The \parameter{material_budget} defines the material budget of the sensor layer in fractions of the radiation length, including support. If no value is defined a default of zero is assumed. A given value has to be larger than zero.
\item The \parameter{calibration_file} parameter can be used to supply an additional file with data relevant for the detector calibration. Since this data and its interpretation is detector-specific, the framework does not open or parse the file but simply provide its path to modules implementing calibration of this specific detector data.
\item Pixels to be masked in the offline analysis can be placed in a separate file specified by the \parameter{mask_file} parameter, which is explained in detail in Section~\ref{sec:masking}.
\item A region of interest in the given detector can be defined using the \parameter{roi} parameter. More details on this functionality can be found in Section~\ref{sec:roi}.
\end{itemize}
......
......@@ -80,6 +80,9 @@ $ git clone https://gitlab.cern.ch/corryvreckan/corryvreckan.git
$ cd corryvreckan
\end{verbatim}
For an installation on \command{lxplus}, the environment variables need to be set by running \dir{source etc/setup_lxplus.sh} before proceeding with the installation as described below.
The same script needs to be sourced any time after logging back into \command{lxplus} in order for the \command{corry} executable to be added to the \parameter{PATH} variable.
\subsection{Configuration via CMake}
\label{sec:cmake_config}
\corry uses the CMake build system to configure, build, and install the core framework as well as all modules.
......
......@@ -9,6 +9,14 @@ ABSOLUTE_PATH=`dirname $(readlink -f ${BASH_SOURCE[0]})`
# Load default configuration
source $ABSOLUTE_PATH/../.gitlab-ci.d/init_x86_64.sh
# Add <path-to-corryvreckan> to PATH
CORRY_PATH=$( cd "$ABSOLUTE_PATH/../bin" ; pwd -P )
export PATH=$CORRY_PATH:$PATH
# Check if corry executable exists
if [ -f "$ABSOLUTE_PATH/../bin/corry" ]; then
# Add <path-to-corryvreckan> to PATH
CORRY_PATH=$( cd "$ABSOLUTE_PATH/../bin" ; pwd -P )
export PATH=$CORRY_PATH:$PATH
else
echo "Could not find corry exectuable. Please complete the installation by executing:"
echo "$ mkdir build && cd build"
echo "$ cmake .."
echo "$ make install -j <number_of_cores>"
fi
/** @file
* @brief Implementation of interface to the core framework
* @copyright Copyright (c) 2017 CERN and the Corryvreckan authors.
* @copyright Copyright (c) 2017-2020 CERN and the Corryvreckan authors.
* This software is distributed under the terms of the MIT License, copied verbatim in the file "LICENSE.md".
* In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an
* Intergovernmental Organization or submit itself to any jurisdiction.
......
/** @file
* @brief Interface to the core framework
* @copyright Copyright (c) 2017 CERN and the Corryvreckan authors.
* @copyright Copyright (c) 2017-2020 CERN and the Corryvreckan authors.
* This software is distributed under the terms of the MIT License, copied verbatim in the file "LICENSE.md".
* In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an
* Intergovernmental Organization or submit itself to any jurisdiction.
......
/**
* @file
* @brief Implementation of clipboard storage
*
* @copyright Copyright (c) 2017-2020 CERN and the Corryvreckan authors.
* This software is distributed under the terms of the MIT License, copied verbatim in the file "LICENSE.md".
* In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an
* Intergovernmental Organization or submit itself to any jurisdiction.
*/
#include "Clipboard.hpp"
#include "exceptions.h"
#include "objects/Object.hpp"
......
/**
* @file
* @brief Store objects for exachange between modules on the clipboard
* @copyright Copyright (c) 2017 CERN and the Corryvreckan authors.
*
* @copyright Copyright (c) 2017-2020 CERN and the Corryvreckan authors.
* This software is distributed under the terms of the MIT License, copied verbatim in the file "LICENSE.md".
* In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an
* Intergovernmental Organization or submit itself to any jurisdiction.
......
/**
* @file
* @brief Template implementation of clipboard
*
* @copyright Copyright (c) 2017-2020 CERN and the Corryvreckan authors.
* This software is distributed under the terms of the MIT License, copied verbatim in the file "LICENSE.md".
* In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an
* Intergovernmental Organization or submit itself to any jurisdiction.
*/
namespace corryvreckan {
......
......@@ -2,7 +2,7 @@
* @file
* @brief Collection of all configuration exceptions
*
* @copyright Copyright (c) 2017 CERN and the Corryvreckan authors.
* @copyright Copyright (c) 2017-2020 CERN and the Corryvreckan authors.
* This software is distributed under the terms of the MIT License, copied verbatim in the file "LICENSE.md".
* In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an
* Intergovernmental Organization or submit itself to any jurisdiction.
......
/**
* @file
* @brief Implementation of config manager
* @copyright Copyright (c) 2017 CERN and the Corryvreckan authors.
*
* @copyright Copyright (c) 2017-2020 CERN and the Corryvreckan authors.
* This software is distributed under the terms of the MIT License, copied verbatim in the file "LICENSE.md".
* In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an
* Intergovernmental Organization or submit itself to any jurisdiction.
......
/**
* @file
* @brief Interface to the main configuration and its normal and special sections
* @copyright Copyright (c) 2017 CERN and the Corryvreckan authors.
*
* @copyright Copyright (c) 2017-2020 CERN and the Corryvreckan authors.
* This software is distributed under the terms of the MIT License, copied verbatim in the file "LICENSE.md".
* In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an
* Intergovernmental Organization or submit itself to any jurisdiction.
......
/**
* @file
* @brief Implementation of config reader
* @copyright Copyright (c) 2017 CERN and the Corryvreckan authors.
* @copyright Copyright (c) 2017-2020 CERN and the Corryvreckan authors.
* This software is distributed under the terms of the MIT License, copied verbatim in the file "LICENSE.md".
* In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an
* Intergovernmental Organization or submit itself to any jurisdiction.
......
/**
* @file
* @brief Provides a reader for configuration files
* @copyright Copyright (c) 2017 CERN and the Corryvreckan authors.
* @copyright Copyright (c) 2017-2020 CERN and the Corryvreckan authors.
* This software is distributed under the terms of the MIT License, copied verbatim in the file "LICENSE.md".
* In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an
* Intergovernmental Organization or submit itself to any jurisdiction.
......
/**
* @file
* @brief Implementation of configuration
* @copyright Copyright (c) 2017 CERN and the Corryvreckan authors.
* @copyright Copyright (c) 2017-2020 CERN and the Corryvreckan authors.
* This software is distributed under the terms of the MIT License, copied verbatim in the file "LICENSE.md".
* In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an
* Intergovernmental Organization or submit itself to any jurisdiction.
......