Ćwiczenie 1
Proszę
zdefiniować
pozostałe materiały:
- Beryllium:
Z = 4
A = 9.012182 g/mol
Density = 1.8480
g/cm3
- Iron:
A = 55.845
g/mol
Density = 7.87 g/cm3
- Silicon:
Z = 14
A = 28.0855
g/mol
Density = 2.33 g/cm3
Wskazówki:
- Materiały definiowane są w funkcji MyDetectorConstruction::DefineMaterials
- Materiały te są jednoskładnikowe, możemy je zatem zdefiniować
bezpośrednio jako obiekty klasy G4Material
- Ostatnia linijka funkcji DefineMaterials:
G4cout <<
*(G4Material :: GetMaterialTable()) << G4endl;
wyświetla
na konsoli informacje o wszystkich zdefiniowanych przez
użytkownika materiałach. Proszę skompilować, uruchomić program
i sprawdzić czy pojawiły się na konsoli poprawne informacje o
trzech nowych materiałach.
Ćwiczenie 2
Materiały
zdefiniowane
przez
użytkownika w MyDetectorConstruction::DefineMaterials() umieszczane
sa w tablicy.
Gdy tworzymy obszary logiczne w funkcji MyDetectorConstruction::SetupGeometry() potrzebne są nam
wskaźniki do tych materiałów.
Wykorzystujemy do tego celu funkcje G4Material::GetMaterial("nazwa_materiału")
np. powietrze
G4Material* air =
G4Material::GetMaterial("Air");
Proszę użyć w funkcji MyDetectorConstruction::SetupGeometry()
definicji powietrza z wewnętrznej bazy GEANT4 NIST
zamiast definicji własnej.
Proszę skierować na terminal informacje o powietrzu zdefiniowanym
w bazie danych NIST
Wskazówki:
-Wskaźnik do materiału powietrze potrzebny jest w
funkcji MyDetectorConstruction::SetupGeometry
-Przykład uzyskania wskaźnika do materiału z bazy GEANT4(NIST)
znajduje się w przewodniku
dla
twórców
aplikacjil
-Prosze nie zapomnieć o pliku nagłówkowym G4NistManager.hh
Ćwiczenie 3
Proszę
zaimplementować
geometrię tarczy berylowej. Tarcza ma kształt walca o promieniu
3,63 cm i długości 6,31 cm należy ją umieścić na osi
wiązki (oś Z) tak aby jej podstawa
zawierała środek układu "world" a tarcza w
całości znajdowała się po dodatniej stronie osi Z
Wskazówki:
-Zmian dokonujemy w funkcji MyDetectorConstruction::SetupGeometry
-Tarcza ma być bryłą G4Tubs
która tworzy obszar logiczny G4LogicalVolume,
obszar fizyczny będzie obszarem klasy G4PVPlacement
-Tarcza umieszczona jest wewnątrz obszaru logicznego "world",
wskaźnik do tego obszaru jest zmienną składową klasy pochodnej
MyDetectorConstruction o nazwie fpWorldLogical.
Proszę sprawdzić czy program się
kompiluje i czy podczas wizualizacji widać tarczę w
spodziewanym miejscu.
Ćwiczenie 4
Proszę
zaimplementować
geometrię detektora krzemowego i okienka stalowego komory w której
znajduje się tarcza. Detektor krzemowy oraz stalowe okienko
są walcami o promieniu 2 cm i długości odpowiednio 0.01 cm i
0.0051 cm. Ich środki leżą na osi wiązki i są umiejscowione
w odległości odpowiednio 2 cm i 1 cm przed tarczą.
Wskazówki:
-Oba obiekty mają być bryłami G4Tubs
które tworzą obszary logiczne G4LogicalVolume,
obszary fizyczne będą obszarami klasy G4PVPlacement
- Proszę sprawdzić czy program się kompiluje i czy podczas
wizualizacji widać wszystkie obiekty
jak na rysunku poniżej:
Ćwiczenie 5
Trzy
nowe
elementy geometrii domyślnie są wizualizowane jako białe.
Proszę zmienić ten schemat. Niech tarcza będzie jasno
niebieska, okienko komory karmazynowe(magenta) a detektor
krzemowy szary.
Wskazówki:
- Atrybuty wizualizacji przypisujemy obszarom logicznym G4LogicalVolume
za pomocą funkcji składowej SetVisAttributes(G4VisAttributes*) .
- Najpierw należy utworzyć obiekt klasy G4VisAttributes
- Nadać mu odpowiednie atrybuty np. kolor za pomocą
funkcji SetColour(const
G4Colour &). Opis klasy tutaj G4Colour
- Przykład znajdziecie Państwo na końcu pliku
MyDetectorConstruction.cc . Tam też należy wprowadzić
zmiany atrybutów wizualizacji tarczy, okienka komory oraz
detektora krzemowego.
- Proszę
sprawdzić czy program się kompiluje i czy podczas wizualizacji
widać wszystkie obiekty jak na rysunku poniżej:
Ćwiczenie 6
Proszę zrobić
wizualizację 10 przypadków oddziaływania elektronów z tarczą
berylową.
Wizualizacją śladów sterujemy z poziomu interfejsu użytkownika.
Proszę sprawdzić czy program się kompiluje i czy podczas wizualizacji widać wszystkie obiekty jak na rysunku poniżej: