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.