Środowisko programistyczne GEANT4

Podobne dokumenty
GEANT4. Leszek Adamczyk. Przykład budowy aplikacji Interfejs użytkownika Wizualizacje

Środowisko programistyczne GEANT4

Środowisko programistyczne GEANT4

GEANT4. Leszek Adamczyk. Interfejs użytkownika -2 Geometria -2

MentorGraphics ModelSim

Środowisko programistyczne GEANT4

Tablet bezprzewodowy QIT30. Oprogramowanie Macro Key Manager

Technologie Informacyjne - Linux 2

Pracownia komputerowa. Dariusz wardecki, wyk II

Pracownia Komputerowa wykład III

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

POLSKI. Macro Key Manager Podręcznik użytkownika

Windows 10 - Jak uruchomić system w trybie

Środowisko programistyczne GEANT4

Makropolecenia w PowerPoint Spis treści

Pracownia Komputerowa wykład III

Wprowadzenie do biblioteki klas C++

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Środowisko programistyczne GEANT4

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Python wstęp. Michał Bereta

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Ćwiczenie 1. Przygotowanie środowiska JAVA

Programowanie Systemów Wbudowanych

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

ANALIZA DANYCH SHOWERA. Narzędzia na wiązkę dla Shower Operatora

Programowanie w Javie

imei CYFROWE PRZETWARZANIE SYGNAŁÓW Laboratorium Temat: Tworzenie aplikacji w środowisku LabWindows/CVI Instytut Metrologii, Elektroniki i Informatyki

Język Java część 2 (przykładowa aplikacja)

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Wprowadzenie do SAS. Wprowadzenie. Historia SAS. Struktura SAS 8. Interfejs: SAS Explorer. Interfejs. Część I: Łagodny wstęp do SAS Rafał Latkowski

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.

Środowisko programistyczne GEANT4

Dodatki. Dodatek A Octave. Język maszyn

Programowanie obiektowe zastosowanie języka Java SE

WPROWADZENIE DO JĘZYKA JAVA

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.

Wstęp do systemów wielozadaniowych laboratorium 14 Środowisko i aliasy

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Ćwiczenie Nr 4 Administracja systemem operacyjnym z rodziny Microsoft Windows

Twoje potrzeby. Nasze rozwiązania.

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Instrukcja korzystania z Virtual Box-a i SQLPLUS-a

NS-2. Krzysztof Rusek. 26 kwietnia 2010

tworzenie katalogów Aby utworzyć nowy katalog wpisz: mkdir katalog1 Ta komenda utworzy katalog o nazwie katalog1.

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania interfejsu automatyzacji OLE w systemie CAx

Specjalnościowy Obowiązkowy Polski Semestr 5

Programowanie w języku Python. Grażyna Koba

Mirror Tool.

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Diagnostyka pamięci RAM

Tworzenie oprogramowania

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Instrukcja Instalacji. Instalacja lokalna

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania

INFORMATOR TECHNICZNY WONDERWARE. Odczytywanie danych z arkusza Excel za pomocą zapytań SQL do aplikacji InTouch

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK.

PROGRAM DO ARCHIWIZACJI NOŚNIKÓW KOPII ELEKTRONICZNEJ

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Skrypty BASH a. Systemy Operacyjne 2. Mateusz Hołenko. 4 października 2012

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Utworzenie pliku. Dowiesz się:

Pracownia Komputerowa wyk ad III

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Inżynieria Wytwarzania Systemów Wbudowanych

Ćwiczenie IT11 Publikacja projektu, pliki tymczasowe

Język Java część 2 (przykładowa aplikacja)

Języki skryptowe w programie Plans

1 Przygotował: mgr inż. Maciej Lasota

SPIS TREŚCI: KARTY GRAFICZNE... 15

VBA praca z makrami w Excelu

Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym

Programowanie obiektowe

Instrukcja obsługi notowań koszykowych w M@klerPlus

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Git, Bitbucket, IntelliJ IDEA

Zakład Systemów Rozproszonych

INFORMATYKA TECHNICZNA Metody wprowadzania obiektów w programie AutoCAD za pomocą języka AutoLISP

Symfonia Mała Księgowość 2013 Specyfikacja zmian

PAMIĘĆ OPERACYJNA...107

Transkrypt:

Środowisko programistyczne GEANT4 Leszek Adamczyk Wydział Fizyki i Informatyki Stosowanej Akademia Górniczo-Hutnicza Wykłady w semestrze zimowym 2013/2014

Sterowanie symulacja GEANT4 umożliwia sterowanie wykonaniem aplikacji na trzy sposoby: z poziomu kodu c++ (w programie main) za pomoca interwejsu użytkownika (UI) z poziomu makr (poleceń UI zapisane w plikach tekstowych) Pobranie wskaźnika do menegera UI G4UImanager* UI = G4UImanager::GetUIpointer(); Przekazanie sterowania do UI G4String macro = argv[1]; UI->ApplyCommand("/control/execute "+macro); Uruchomienie programu My run.mac interakcyjnie (poleceń UI przechwytywane przez interfejs) Proszę wykonać ćwiczenie 1 z warsztatów nr 2

Interfejs użytkownika (UI) GEANT4 umożliwia prace z różnymi interfejsami: znakowy(terminal tcsh); z elementami graficznymi opartymi o widżety: Motif, Athena, Qt, Windows; w pełni graficzny (GAG). Istnieje narzędzie G4UIExecutive które automatycznie uruchamia wybrany interfejs na podstawie zmiennych środowiskowych. Instancja nakładki na UI G4UIExecutive * ui = new G4UIExecutive(argc,argv); Przekazanie sterowania do UI ui->sessionstart(); Uruchamiany jest pierwszy interfejs który ma zdefiniowana zmienna środowiskowa: G4UI_USE_XX (XX= QT, XM, WIN32, GAG, TCSH)

UI : polecenia Polecenie UI składa się z: /pełnej/ścieżki/dostępu/polecenia parametrów /run/beamon 3 Parametry moga być typu logicznego, liczba całkowita, rzeczywista lub ciagiem znaków ; Parametry oddzielamy spacja; Parametry można omijać (przyjmowana jest wtedy wartość domyślna) Używamy! gdy pierwszy parametr ma wartość domyślna a drugi zadana /dir/command! 2

UI : polecenia systemowe Interfejs znakowy posiada wbudowane polecenia charakterystyczne dla Unix a: cd, pwd, ls history pokazuje poprzednio wykonane polecenia!id ponowne wykonanie polecenia o numerze id; działaja klawisze strzałek i backspace (tylko tcsh) help <polecenie> - opis i składnia polecenia exit zakończenie pracy Powyższe polecenia dostępne tylko interaktywnie, nie moga być wykonane z poziomu programu w c++ ani wewnatrz makra.

UI : katalogi poleceń Idle> ls Command directory path : / Sub-directories : /control/ UI control commands. /units/ Available units. /process/ Process Table control commands. /persistency/ Control commands for Persistency package /geometry/ Geometry control commands. /tracking/ TrackingManager and SteppingManager control commands. /event/ EventManager control commands. /cuts/ Commands for G4VUserPhysicsList. /run/ Run control commands. /random/ Random number status control commands. /particle/ Particle control commands. /gun/ Particle Gun control commands. /material/ Commands for materials /gui/ UI interactors commands. Commands : po instancji menegera wizualizacji pojawi się katalog /vis/ mozna zdefiniować własne polecenia np. w katalogu /My/ link do opisu wbudowanych poleceń UI na stronie warsztatów.

UI : makra Makra sa plikami zawierajacymi polecenia UI Polecenia w makrze musza posiadać pełna ścieżkę dostępu (brak poleceń cd,...); # oznacza komentarz Makra można wykonać na dwa sposoby: z poziomu interfejsu użytkownika lub z innego makra /control/execute <nazwa_makra> z poziomu kodu c++: G4UImanager * UI = G4UImanager::GetUIpointer(); UI->ApplyCommand("/control/execute <nazwa_makra>");

UI : aliasy Aliasy w GEANT4 to nazwy zastępcze oraz zmienne makr; Aliasy definiujemy za pomoca polecenia // /control/alias [nazwa] [wartość] np. Idle> /control/alias bo "/run/beamon" Wartość aliasu jest zawsze traktowana jak ciag znaków; Alias jest automatycznie definiowany podczas wywołania poleceń /control/loop /control/foreach Alias może być używany jako składnik polecenia wywoływanego z poziomu UI lub wewnatrz makra. Do tego celu używamy nazwy aliasa w nawiasach pisanych np. Idle> {bo} 3

UI : pętle Polecenia /control/loop i /control/foreach wykonuja makro więcej niż raz: /control/loop [makro] [alias] [pocz] [końc] [kro [alias] alias którego wartość zmienia się przy każdym wywołaniu makra od [pocz] o [krok] Idle> /control/loop run.mac Ekin 2. 10. 2. /control/foreach [makro] [alias] [lista] [alias] alias do kolejnych wartości z listy [lista] [lista] musi być ograniczona () Idle> /control/foreach run.mac Ekin "1. 7. 10." wewn atrz wywoływanego makra np.: /gun/energy {Ekin} GeV

Wizualizacje GEANT4 umożliwia wizualizację: geometrii detektora; trajektorii czastek; depozytów energii; własnych obiektów ( linie, symbole, opisy,...) Wizualizacje umożliwiaja: tworzenie wysokiej jakości rysunków np. do publikacji; wykrywanie błędów w geometrii detektora (np. nakładanie się obszarów); interaktywne uzyskiwania informacji o wizualizowanych obiektach(pędy czastek, depozyty energii);

Wizualizacje: interfejsy GEANT4 posiada interfejsy obsługujace osiem zewnętrznych programów do wizualizacji: OpenGl HepRep DAWN OpenInventor VRML RayTracer gmocren ASCIITree Różne programy odpowiadają różnym potrzebom; Lista poleceń wydawanych z poziomu kodu c++ jest taka sama dla wszystkich programów.

Wizualizacje: OpenGl Daje możliwość uzyskiwania szybkich wizualizacji: trajektorii, hitów, geometrii; Sterowanie tylko za pomoca poleceń interfejsu GEANT4;

Wizualizacje: HepRep Daje możliwość interaktywnej (interfejs graficzny) wizualizacji: trajektorii, hitów, geometrii; Jest narzędziem do wykrywania błędów w geometrii detektora; Sterowanie za pomoca zewnętrznego interfejsu graficznego (wymaga tworzenia plików tymczasowych).

Wizualizacje: Dawn Daje możliwość wizualizacji: trajektorii, hitów, geometrii; Produkuje wysokiej jakości rysunki np. do publikacji Sterowanie za pomoca zewnętrznego programu (wymaga tworzenia plików tymczasowych).

Wizualizacje: interfejsy Sześć interfejsów niewymagajacych zewnętrznych bibliotek jest zawsze dostępnych w każdej instalacji GEANT4: HepRep DAWN VRML RayTracer gmocren ASCIITree Pozostałe wymagaja instalacji bibliotek i ustawienia zmiennych środowiskowych podczas kompilacji jadra GEANT4; w szczególności OpenGL

Wizualizacje: interfejsy Niezależnie od interfejsu, kod źródłowy pozostaje w zasadzie taki sam; Wizualizacje realizujemy za pomoca: interfejsu użytkownika, z poziomu kodu c++ lub za pmoca zewnetrznych programów; Bezpośrednio z poziomu GEANT4 działaja: OpenGL, OpenInventor, RayTracer i ASCIITree; Pozostałe, produkuje pliki umożliwiajace wizualizacje za pomoca zewnętrznych aplikacji: HepRep, DAWN, VRML, gmocren; Można korzystać z kilku interfejsów w tym samym czasie (np. OpenGL/DAWN).

Wizualizacje: Manager Aby wizualizować należy utworzyć i zainicjalizować obiekt klasy wyprowadzonej z klasy G4VVisManager; Można skorzystać z gotowej implementacji G4VisExecutive; Użycie (w programie głównym): Instancja G4VisManager * vismanager = new G4VisExecutive; Inicjalizacja vismanager->initialize(); Unicestwienie delete vismanager; Proszę wykonać ćwiczenie 3