Konfiguracja IDE

ROOT to potężne, ale dosyć skomplikowane oprogramowanie. Posiada setki klas, a każda z nich dziesiątki metod. Stąd początkowy użytkownik, może czuć się zagubiony, co więcej mnogość funkcji stanowi czasem problem i dla kogoś doświadczonego. Dlatego dobrze jest skonfigurować sobie IDE, tak żeby pomagało nam pisać kod.

W przypadku konfiguracji opisanej tutaj założyłem, że użytkownik zainstalował ROOTa razem z środowiskiem FairROOT w katalogu /opt/FairGroup/FairSoftInst. Za środowisko w którym pracujemy wybrałem Eclipse. I tutaj ważna uwaga - Eclipse domyślnie wspiera język Java, do pracy z ROOTem napisanym w C++ należy "doinstalować język C++" lub po prostu zainstalować eclipse-cdt.

Projekt do uruchamiania makr.

Najpierw wybieramy New->Project->C++ project (Makefile project).

Następnie klikamy na projekt w project explorerze i Properties:

Teraz kolejno C/C++ General -> Paths and Symbols i w GNU C++ wybieramy ścieżkę do headerów ROOTa, w przypadku mojej instalacji z użyciem FairSoft będzie to katalog /opt/FairGroup/FairSoftInst/include/root6 (rys .1).

Rys. 1. Tak powinno wyglądać okno do konfiguracji ścieżek do headerów.

Teraz piszemy skrypt który uruchamiał będzie nasze makro np.:

#!/bin/bash
export PATH=/opt/FairGroup/FairSoftInst_19/bin:/opt/FairGroup/FairSoftInst_19/bin:$PATH
export LD_LIBRARY_PATH=/opt/FairGroup/FairSoftInst_19/lib:/opt/FairGroup/FairRootInst_18_2_0/lib:/opt/FairGroup/FairSoftInst_19/lib/root

root -l tutorial.C

Widać tutaj, że w makrze ustawiam zmienną PATH oraz LD_LIBRARY_PATH - są one niezbędne w przypadku instalacji ROOTa ze źródeł. Musimy teraz wejść do katalogu i naszemu skryptowi nadać prawa do wykonywania (nie wiem czemu ale wyklikanie z eclipse nic nie daje). Następnie wchodzimy w "run external configuration"  i wybieramy new external configuration, tutaj wybieramy w location nasz skrypt a w working directory nasz folder z projektem (rys. 2).

Rys. 2. Okno w którym konfigurujemy skrypt który będzie uruchamiany.

Teraz po kliknięciu ikonki uruchom zostaje skrypt który uruchomi nasze makro. Zapewne jest lepsza opcja, ale tylko tą udało mi się znaleźć na szybko :). Zasadniczo ze względu na to, że zwykle przełączamy się między dziesiątkami prostych makr, w większości wypadków Eclipse używam tylko do pisania kodu a nie do jego uruchamiania.