Training

Course “FAIRroot based software for simulation, reconstruction and analysis of physical experiments”

Note

Данный раздёл находится в разработке!

Целевая аудитория: студены и молодые сотрудники - физики, начинающие работать с симуляциями и анализом.

Задача курса – дать понимание структуры, функционала, архитектуры и взаимосвязи существующих пакетов Geant4, ROOT, FAIRroot и конкретные реализации последнего; сформировать умение пользоваться базовым функционалом указанных пакетов, а также умение модифицировать имеющееся описание установок с целью проведения конкретного исследования.

Предварительные требования: знакомство со основными (список прилагается) понятиями C++ и умение читать код

Минимальные требования знаний по С++:

  1. Компилятор GNU g++. Компиляция программы из одного или нескольких исходных файлов.
  2. Инструмент cmake. Ознакомиться с материалом: Структура cmake сценария для сборки библиотеки классов.
  3. Выражения: Основные типы. Инициализация переменных. Арифметические и логические операторы. Инкрементация и декрементация. Указатели. Операторы взятия адреса и разыменования.
  4. Функции: Объявление. Определение. Вызов. Области видимости. Аргументы функции main.
  5. Операторы: Условный оператор. Циклы. Операторы перехода: return, break, continue.
  6. Массивы: Одномерные массивы, указатель на массив. Передача в функцию.
  7. Ввод-вывод из stl. Консольный: cout, cin, cerr. Файловые потоки ввода-вывода.
  8. Классы и объекты. Конструктор, деструктор, конструтктор копирования, методы, атрибуты. private и public. Статические члены класса. Указатель this. Передача объекта в функцию и возвращение из функции.
  9. Наследование. Общее понимание.
  10. Классы vector и map, list и их итераторы из stl.

Методичка по “лайфхакам”

  1. G++. Компиляция исполняемого файла, статической библиотеки и динамической библиотеки. Добавление директорий для #include. Линковка с библиотеками.
  2. Минимальный makefile