Ćwiczenie 1
1.
Proszę przekazać sterowanie aplikacją My do interfejsu
użytkownika poprzez wykonanie makra którego nazwa przekazana jest
jako argument programu głównego
2. Napisać makro np. run.mac i wpisać do niego
polecenie /run/beamOn 3
3. Prosze skompilować i uruchomić aplikacje
bin/Linux-g++/My
run.mac
Wskazówki:
- Zmian dokonujemy w pliku My.cc
- Proszę dodać plik nagłówkowy G4UImanager.hh
oraz G4String.hh
- Zamiast polecenia runManager->BeamOn
przekazujemy sterowanie do UI:
G4String macro
= argv[1];
UI->ApplyCommand("/control/execute "+macro);
- Proszę pamietać o pobraniu wskażnika do UI manager'a
Ćwiczenie 2
1.
Proszę
zmodyfikować program główny w taki sposób aby wywołany bez
parametrów
przekazywał sterowanie aplikacją My do
interfejsu użytkownika.
Natomiast wywołany z parametrem (zakładamy że jest to nazwa makra)
wykonywał
to makro bezpośrednio z poziomu kodu c++
2. Proszę skompilować aplikację My
3. Proszę uruchomić makro interakcyjnie z poziomu interfejsu
użytkownika
Polecenie /control/execute
run.mac można wykonać poprzez menu help lub wpisując je w
polu session.
Wskazówki:
- Zmian dokonujemy w pliku My.cc
- Proszę dodać plik nagłówkowy G4UIExecutive.hh
- Proszę wykorzystać parametry programu głównego
int main(int argc,char** argv)
argc==1
oznacza brak parametrów
if (argc > 1) to argv[1] jest nazwą makra do
wykonania
Ćwiczenie 3
1.
Proszę
zmodyfikować program główny w taki sposób aby zainicjalizować
wizualizację.
2. Proszę skompilować aplikację My.
3. Proszę uruchomić aplikację My i z poziomu interfejsu
użytkownika wydać polecenia:
ls /vis
/vis/open OGLIQt
/vis/drawVolume
Wskazówki:
- Zmian dokonujemy w pliku My.cc korzystamy z klasy G4VisExecutive
- Proszę dodać plik nagłówkowy G4VisExecutive.hh
-
Instancje menegera wizualizacji należy dokonać PRZED przekazaniem
sterowania do interfejsu użytkownika
- Jego unicestwienia dokonujemy po opuszczeniu interfejsu
użytkownika.
Dalsze wskazówki pod linkiem do klasy G4VisExecutive
Ćwiczenie 4
1.
Proszę poprawić kod używając zmiennych środowiskowych
2. Proszę skompilować program z różnymi ustawienia zmiennych
środowiskowych, np. export G4UI_USE=0
Wskazówki:
- Przyjęło się aby wizualizacja i otwieranie interfejsu
graficznego było dodatkowo warunkowane już na poziomie kompilacji
zdefiniowaniem zmiennych środowiskowych
- Zdefiniowanie zmiennej środowiskowej
G4VIS_USE warunkuje wizualizacją, a zmiennej
środowiskowej G4UI_USE
warunkuje dodaniem interfejsu interaktywnego
- W kodzie c++ używamy komend preprocesora:
#ifdef G4UI_USE
kod c++
#endif
Ćwiczenie 5
1.
Proszę o skopiować do swojego katalogu plik run.mac
2. Proszę wykonać dwa zmane nam polecenia z poziomu UI:
/vis/open OGLIQt
/control/execute run.mac
3. W osobnym okienku proszę wyedytowć plik run.mac. Ćwiczenie polega na
odkomentowaniu odpowiednich poleceń w pliku run.mac (na polecenie
prowadzącego ćwiczeń) oraz ponownego wykonaniu makra:
/control/execute run.mac
Wskazówki:
- Zmian dokonujemy w pliku run.mac
- Aby móc zmienić styl wizualizacji na wireframe, należy z kodu zródłowego usunąć wymuszenie stylu
setForceSolid dla obiektu beamPipeAttributes
Aby tego dokonać należy w przedostatniej linijce
pliku src/MyDetectorConstruction.cc
zakomentowć linijkę:
beamPipeAttributes->SetForceSolid(true);
- Proszę opuścić aplikację My, skompilować ją, ponownie
uruchomić i wykonć z poziomu UI
/vis/open OGLIQt
/control/execute run.mac
-
Aby utworzyć tymaczasowe pliki HepRep i DAWN należy wykonać z
poziomu UI
/vis/open HepRepFile
/control/execute run.mac
/vis/open
DAWNFILE
/control/execute run.mac