Интернет магазин китайских планшетных компьютеров



Компьютеры - ROOT (CERN)

03 июня 2011


Оглавление:
1. ROOT (CERN)
2. Применения ROOT



пакет объектно-ориентированных программ и библиотек, разработанных в Европейском центре ядерных исследований. Пакет был разработан специально для использования в качестве платформы обработки экспериментальных данных физики высоких энергий и содержит специфичные для этой области продукты, однако также может быть использованы для анализа других данных, например, в астрономии.

Описание

CERN поддерживал свою программную библиотеку, написанную на языке Фортран 77; разработка и поддержка была прекращена в 2003 году в пользу ROOT, написанного на C++.

Разработка ROOT была инициирована сотрудниками CERNа Рене Брюном и Фонсом Рэйдмэйкерсом в 1994 году. Некоторые части пакета опубликованы под лицензией LGPL, некоторые — под GPL, таким образом весь проект базируется на свободном программном обеспечении. Он предоставляет кроссплатформенный интерфейс к графической подсистеме и операционной системе используя механизмы абстракции данных. Частями абстрактной платформы являются:

  • графический интерфейс пользователя,
  • графический интерфейс разработки,
  • классы-контейнеры,
  • система средств самоизменения программ,
  • скриптовый язык на основе C++,
  • командный интерпретатор,
  • система сериализации объектов,
  • система долговременного сохранения данных.

Пакеты, включённые в ROOT, содержат:

  • средства для создания гистограмм и графиков функций для визуализации и анализа вероятностных распределений и функций;
  • средства «подгонки» теоретических кривых под экспериментальные данные и минимизации функций;
  • инструменты статистического анализа;
  • инструменты матричной алгебры;
  • средства для четырёхвекторных вычислений;
  • стандартные математические функции;
  • инструменты многовариантного анализа данных, то есть использования нейронных сетей;
  • средства обработки изображений, используемые, например, для анализа астрономических снимков;
  • средства доступа к распределённым данным;
  • инструменты распределённых вычислений, параллелизации обработки данных;
  • средства сериализации и долговременного сохранения объектов;
  • инструменты доступа к базам данных;
  • средства геометрической 3D-визуализации;
  • инструменты для создания файлов в различных графических форматах, таких как PostScript, JPEG, SVG;
  • двусторонние интерфейсы к языкам Python и Ruby;
  • интерфейсы к Монте-Карло-генераторам событий физики элементарных частиц.

Ключевой возможностью пакета ROOT является специальный контейнер данных, называемый деревом, вместе с его подмножествами ветвями и листьями. Дерево может быть представлено как удобное средство чтения и записи данных в файле. Следующий элемент данных, записанный в файле, может быть получен инкрементированием индекса дерева. Такой подход позволяет избежать проблем с выделением памяти при создании объектов, и даёт возможность дереву выступать в качестве «лёгкого» контейнера при буферизации данных.

ROOT разрабатывался как высокопроизводительная вычислительная библиотека, необходимая для обработки данных Большого Адронного Коллайдера, поток которых достигает нескольких петабайт в год. С 2009 года ROOT используется в подавляющем большинстве экспериментов физики высоких энергий; абсолютное большинство современных результатов и иллюстраций в этой области науки получено именно с использованием ROOT.

Включение в пакет интерпретатора C++ CINT значительно увеличило гибкость пакета, так как позволило использовать средства ROOT в интерактивном режиме или посредством написания скриптов, что сделало его похожим на MATLAB.

Основная критика ROOT связана с утверждениями о том, что для начинающих пользователей достаточно сложно освоить этот продукт, его широкие возможности и средства. Периодически эти проблемы обсуждаются пользователями и разработчиками ROOT в специальном списке рассылки.



Просмотров: 2738


<<< StrongDC++