From Łukasz Graczykowski
            (Difference between revisions)
                                                
            
			
			
			
			
		
		|   |   | 
| Line 8: | Line 8: | 
|  | * dokumentacja wersji rozwojowej (master): [https://root.cern.ch/doc/master/ https://root.cern.ch/doc/master/] |  | * dokumentacja wersji rozwojowej (master): [https://root.cern.ch/doc/master/ https://root.cern.ch/doc/master/] | 
|  | * dokumentacja ostatniej wersji stabilnej (6.22): [https://root.cern/doc/v622/ https://root.cern/doc/v622/] |  | * dokumentacja ostatniej wersji stabilnej (6.22): [https://root.cern/doc/v622/ https://root.cern/doc/v622/] | 
| - | * dokumentacja wersji zainstalowanej w laboratorium (5.32.00): [https://root.cern.ch/root/html532/ https://root.cern.ch/root/html532/] - ostatnia wersja ze starym interpreterem | + | * dokumentacja wersji zainstalowanej w laboratorium (5.32.00): [https://root.cern.ch/root/html532/ https://root.cern.ch/root/html532/] <\br> ostatnia wersja ze starym interpreterem | 
|  |  |  |  | 
|  | == Zadanie == |  | == Zadanie == | 
Revision as of 13:44, 24 February 2021
  Dokumentacja 
Dokumentacja środowiska ROOT:
  Zadanie 
1. Należy napisać makro, które:
-  tworzy obiekt fun1typuTF1reprezentujący funkcjęsin(x)(patrz klasaTMath)
-  tworzy obiekt fun2typuTF1reprezentujący funkcjęcos(x)
-  tworzy okno z 4 panelami (rozkład paneli 2x2) - patrz klasa TCanvasi metodaDivide
-  rysuje obiekt fun1na 1 panelu,fun2na 2 panelu, oraz obie funkcje jednocześnie na 3 panelu
-  zmieni kolor linii funkcji fun2na niebieski - patrz metodaSetLineColori klasaTColor
2. Wyobraźmy sobie, że rzucamy niesymetryczną sześcienną kostką do gry. Wyniki podsumowuje poniższa tabelka:
| Ilość oczek | 1 | 2 | 3 | 4 | 5 | 6 | 
| Ilość rzutów | 2 | 1 | 5 | 4 | 10 | 12 | 
Modyfikujemy dalej makro:
-  tworzymy histogram (patrz klasa TH1D) wypełniając kolejne biny (odpowiadające kolejnym ilościom oczek) wartościami z tabelki (ilość rzutów) - histogram należy narysować na panelu 4
-  należy stworzyć wykres - graf (patrz klasa TGraph) zgodnie z wartościami z tabelki.
-  zmienić styl punktów grafu na kółko (patrz metoda SetMarkerStyleoraz klasaTAttMarker)
-  narysować graf w oddzielnym oknie
  Uwagi 
-  Uwaga! Aby środowisko ROOT można było uruchomić na własnym koncie użytkownika w laboratorium, należy w pliku $HOME/.bashrcdopisać następujące linijki (jeśli nie były dodane na zajęciach z PTI):
 export ROOTSYS=/opt/root
 export PATH=$PATH:$ROOTSYS/bin
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib 
-  środowisko ROOT jest zainstalowane lokalnie na każdym komputerze - nie jest dostępne na serwerze
-  w środowisku ROOT piszemy makra, które mają rozszerzenie .c, .C, .cpp, lub .cxx
-  makro zawiera w sobie kod w języku C++ interpretowany linijka po linijce
-  w zasadzie nie musimy załączać żadnych bibliotek 
-  przykład 1:
{
    double x = 5;
    cout<<x<<endl;
}
-  wywołanie makra: uruchamiamy środowisko (komenda root), wpisujemy.x macro.C
-  makro może zawierać również funkcje, przykład 2:
int macro()
{
    double x = 5;
    cout<<x<<endl;
    return 1;
}
-  nazwa makra musi być taka sama jak nazwa funkcji w makrze (by można było je uruchomić komendą .x macro.C)
-  w makrach może być więcej funkcji - przy standardowym uruchomieniu wywołana zawsze będzie ta funkcja, której nazwa zgadza się z nazwą makra (odpowiednik funkcji mainw standardowym C++)
  Wynik 
Wykresy:
 
