Geant4
Kısa Bir Tanıtım
Adnan Kılıç -­‐‑ [email protected]
Taylan Yetkin -­‐‑ [email protected]
Ağırlıklı olarak linklerdeki konuşmaların slaytlarından yararlanılmıştır:
h1ps://agenda.infn.it/conferenceDisplay.py?confId=5699
h1ps://hep.kisti.re.kr/indico/conferenceTimeTable.py?confId=51#20121029
Önemli Not:
•Yaklaşık 1.5 saat sürecek bir oturumda Geant4’ün sadece kısa bir tanıtımı yapılabilir. ‣ Daha fazla kaynak kullanarak bu konudaki bilgileriniz ar1ırmalısınız.
•Bu tanıtımdan sonra yaparak öğrenmeye çalışın, sorularınızı çekinmeden bizlere sorun.
•Aşağıdaki link küçük ödevler içermektedir, takip edip yapmaya çalışmanız iyi olacaktır:
h1p://geant4.lngs.infn.it/courseBelfast2013/exercises/introduction/index.html
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 2
Giriş
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 3
Geant4 Ne İşe Yarar? Phys. Le1. B 716 (2012) 30-­‐‑61
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 4
© CERN
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 5
Birincil proton, havadaki sağanak (100 TeV)
m
m
m
kaynak: h1p://www.lip.pt/~jespada/Research/PhysPAO.php
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 6
Deney (Benzetim) İçin Neye İhtiyacımız Var?
•Test edeceğimiz bir fikir/varsayım
•Varsayım ile ilgili fizik bilgisi
•Deney odası
•Algıç
•Parçacık kaynağı
•Tetikleme mekanizması
•Veri toplama mekanizması
•Analiz/çizim gereçleri
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 7
Geant4:
•GEANT3‘ten sonra gelen Geant4 YEF algıç benzetimlerinde kullanılan bir yazılım paketidir.
•Açık kaynak bir paket olup fizik süreçlerinin seçimi, GUI, görüntüleme, analiz paketleri tamamen kullanıcının seçimine bırakılmıştır.
•Nesne yönelimli programlama dil(ler)i ile yazılmıştır.
•Çeşitli fizik alanlarının ihtiyacına yanıt vermek için geliştirilmiştir: Ağır iyon fiziği, CP bozunumu, kozmik ışın fiziği, astrofizik, uzay fiziği ve medikal fizik. •Madde ve parçacık etkileşimlerinin benzetim paketi olan G4 YEF’te çok önemli keşiflerde kullanılmıştır (Higgs bozonu). HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 8
Geant4
h1p://geant4.cern.ch
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 9
Kullanıcı Desteği
h1p://geant4.web.cern.ch/geant4/support/index.shtml
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 10
Kullanıcı Desteği
h1p://geant4.web.cern.ch/geant4/support/index.shtml
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 11
Kullanıcı Forumu
h1p://hypernews.slac.stanford.edu/HyperNews/geant4/cindex
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 12
Geant4 İşbirliği
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 13
Terminoloji/Meslek Argosu
•Koşmak (run), olay (event), iz (track), adım (step), adım noktası (step point) •iz ⇔ gezinge (trajectory), adım ⇔ gezinge noktası •Süreç (process)
‣durağan (at rest), adım boyunca (along step), adımdan sonra (post step) •Kesme (Cut) = üretme eşiği (production threshold) •Hassas algıç (sensitive detector), hesap (score), vuru (hit), vuru topluluğu (hits collection) HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 14
Kısa Bir Geant4 Gezintisi
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 15
Sınıf Bölümleme (Class Category Diagram)
•Geant4 17 bölümden oluşur. ‣ Her bölüm bağımsız olarak sorumlu ÇG tarafından geliştirilir ve bakımı yapılır. ‣ Bölümler arasındaki ayayüzler en tepedeki ÇG tarafından düzenlenir. •Geant4 Çekirdeği
‣ koşu, olay, iz, adım, vuru, gezinge (run, event, track, step, hit, trajectory) yi işler. ‣ Geometrik betimlemeler ve fizik süreçleri için taslaklar sunar. HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 16
Bir Durum Makinesi Olarak Geant4
•Geant4 altı tane uygulama durumuna sahiptir ‣ G4State_PreInit
-­‐‑Malzeme, Geometri, Parçacık ve/veya Fizik Süreçleri başlamaya hazırlanmalı/
tanımlanmalıdır
‣ G4State_Idle
-­‐‑Bir koşuyu başlatmaya hazır
‣ G4State_GeomClosed
-­‐‑Geometri optimize edilmiş ve bir olayı işlemeye hazır hale getirilmiştir ‣ G4State_EventProc
-­‐‑Bir olay işlenmektedir
‣ G4State_Quit
-­‐‑ (Normal) sonlandırma
‣ G4State_Abort
-­‐‑Onulmaz bir hata olmuştur ve program yarıda kesilip çıkılır
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 17
Sıklıkla Karşılaşağınız Tipik Yapı
G4XXX
G4XXXManager
G4UserXXX(ing)Action
MyXXXAction
XXX: Run, Event, Track, Step, ...
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 18
Geant4’te Fizik
•Çok sayıdaki parçacığı ve enerji aralıklarını kapsayan tek bir fizik modeli geliştirmek gerçekçi/mümkün değildir. •Bunun yerine kuramsal çalışmalardan, parametreleştirilmiş ya da deney sonuçlarına dayanan bağıntıların/ilişkilerin bir karışımı ile fiziğin bu geniş alanı ele alınabilir. Tesir kesitleri ve fizik modelleri seçilmiş olan bir sürece keyfi olarak bağlanabilirler (polymorphism mechanism) •Geant4’ün sunmuş olduğu süreçler:
‣ elektromanyetik
‣ hadronik
‣ foton/lepton-­‐‑hadron
‣ optik foton
‣ bozunum
‣ sağanak (shower) oluşumu
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 19
Geant4’un Koşulması
•Gerçek bir deneye benzer olarak Geant4‘ün koşmaya (çalışmaya) başlaması “Beam On” (Demet Geliyor) ile olur. •Koşu süresince kullanıcı ‣algıç düzenlenmesini
‣fiziksel süreçlerin ayarlarını değiştiremez.
•Kavramsal olarak bir koşu aynı algıç ve fizik koşullarını paylaşan olaylar topluluğudur. ‣Bir koşu olay halkasından oluşur. •Bir koşunun başında geometri yön bulma için en uygun biçime getirilir ve tesir kesitleri geometride verilen malzemeler ve kesme değerşeri kullanılarak hesaplanır. •G4RunManager sınıfı bir koşuyu yönetir, koşu G4Run sınıfı ya da bu sınıftan kullanıcı tarafından türetilmiş bir sınıfla temsil edilir.
‣Bir koşu sınıfı koşunun sonucunda özet sonuçları içerebilir.
•G4UserRunAction sınıfı ise kullanıcıların tercih edebileceği bir sınıftır.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 20
G4Run
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 21
G4UserRunAction
G4UserRunAction.hh
extended/analysis/shared/
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 22
Geant4‘te Olay
•Olay Geant4‘te benzetimin temel ünitesidir. •İşleme sürecinin başında, birincil izler (primary tracks) üretilir ve bunlar yığına (stack) konulur.
•Yığındaki izler birer birer alınır ve “izlenir”. Ortaya çıkan ikincil izler de yığına itilir. ‣ “İzleme” yığınlardaki izler bitene kadar devam eder.
•Yığın boşaldığında bir olayın işlenmesi sona erer.
•G4Event sınıfı bir olayı temsil eder. İşlemenin sonucunda şu nesnelere sahiptir: ‣ Birincil köşelerin (primary vertices) ve parçacıkların listesi (girdi olarak) ‣ Vuru ve gezinge toplulukları (çıktı olarak)
•G4EventManager sınıfı bir olayın işlenmesinden sorumludur.
•G4UserEventAction sınıfı ile kullanıcılar bu sınıfa ulaşıp işlem yapabilirler. HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 23
G4Event
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 24
G4UserEventAction
examples/extended/analysis/shared
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 25
Geant4‘te İz
• İz parçacığın “şipşak”ıdır (snapshot). ‣ Sadece güncel durumun fiziksel niceliklerine sahiptir. Bir önceki nicelikleri barındırmaz. ‣ Adım bir iz için “delta” bilgisidir. İz adımların bir toplamı değildir. Ancak iz adımlar tarafından güncellenir. • İz nesnesi şu durumlarda silinir: ‣ dünya hacminin dışına çıktığında,
‣ ortadan yok olduğunda (bozunma, esnek olmayan çarpışma, soğurulma, ...), ‣ sıfır kinetik enerjiye gi1iğinde ilaveten “AtRest” bilgisi istenmediğinde
‣ kullanıcı öldürmek istediğinde • Hiç bir iz nesnesi olay sonunda yaşamaz.
‣ İzlerin kaydı için gezinge sınıfının nesneleri kullanılmalıdır.
• G4TrackingManager sınıfı bir izin işlenmesinden sorumludur, G4Track sınıfı bir izi temsil eder. • G4UserTrackingAction sınıfı ile kullanıcılar bu sınıfa ulaşıp işlem yapabilirler. HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 26
G4Track
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 27
G4UserTrackingAction
G4UserTrackingAction.hh
/examples/extended/hadronic/Hadr04/
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 28
Geant4‘te Adım
•Adım (step) iki noktaya sahiptir:
‣ Ön-­‐‑adım (pre-­‐‑step) ve adım-­‐‑sonrası (post-­‐‑step)
•Adım parçacığın bir “delta” bilgisine de sahiptir:
‣ adımdaki enerji kaybı, adım için geçen uçuş süresi,...
•Her nokta hacim ve malzeme bilgisine sahiptir. Adımı bir hacmin sınırlaması durumunda son nokta fiziksel olarak sınır üzerinde durur ve mantıksal olarak bir sonraki hacime ait olur. ‣ Adımın iki hacimin malzemelerini bilmesinden dolayı geçiş ışıması ya da kırılma gibi süreçlerin benzetimi mümkün olmaktadır. •G4SteppingManager sınıfı adımın işlenmesinden sorumludur, adım ise G4Step sınıfı ile temsil edilir. •G4UserSteppingAction sınıfı ile kullanıcılar adım üzerinde işlemler yapabilirler.
Sınır
Ön-­‐‑adım
noktası
HPFBU Okulu, Tokat 2014
Adım-­‐‑sonrası
noktası
Geant4 İle Benzetim
Sayfa 29
G4Step
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 30
G4UserSteppingAction
G4UserSteppingAction.hh
/examples/extended/hadronic/Hadr03
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 31
/examples/extended/hadronic/Hadr03
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 32
Gezinge ve Gezinge Noktası
• İz kendisini takip etmez. İz nesneleri olay sonunda yok olur.
• G4Trajectory sınıfı G4Track sınıfının bazı bilgilerini kopyalar.
G4TrajectoryPoint sınıfı G4Step sınıfının bazı bilgilerini kopyalar. ‣ G4Trajectory sınıfı G4TrajectoryPoint sınıfının bir vektörüne sahiptir.
‣ Olay işlemenin sonunda, G4Event sınıfı G4Trajectory nesnelerinin bir topluluğuna sahiptir (bunun için ise) -­‐‑ /tracking/storeTrajectory must be set to 1. • Aradaki farka dikkat edilmelidir! ‣ G4Track ⇔ G4Trajectory, G4Step ⇔ G4TrajectoryPoint • G4Trajectory ve G4TrajectoryPoint nesneleri olay sonuna kadar var olduklarından öok fazla izi kaydetmemeye dikkat edilmelidir.
‣ örneğin yüksek enerjili EM sağanak izlerini saklamaktan kaçınılmalıdır.
• G4Trajectory ve G4TrajectoryPoint sadece minimum bilgi içerirler. ‣ Kullanıcılar bilgi tutmak için kendi gezinge ve gezinge noktası sınıflarını G4VTrajectory ve G4VTrajectoryPoint baz sınıflarından oluşturabilirler.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 33
Geant4’te Parçacık
• Geant4’te bir parçacık üç sınıf ile temsil edilir: G4Track, G4DynamicParticle, G4ParticleDefinition.
• G4Track
‣ Konum, geometrik bilgi, ...
‣ Bu sınıf izlenecek olan parçacığı temsil eder.
• G4DynamicParticle
‣ Parçacığın momentum, enerji gibi "ʺdinamik"ʺ fiziksel özelliklerini temsil eder.
‣ Her bir G4Track nesnesi kendisine ait ve biricik (unique) bir G4DynamicParticle nesnesine sahiptir. ‣ Bu sınıf özgün bir parçacığı temsil eder.
• G4ParticleDefinition ‣ Parçacığın spin, yük, kütlesi gibi "ʺstatik"ʺ özelliklerini temsil eder. G4ProcessManager parçacığın yer aldığı süreci tanımlayan sınıftır.
‣ Aynı bir parçacığın tüm G4DynamicParticle nesneleri aynı G4ParticleDefinition sınıfını paylaşırlar.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 34
İzleme ve Süreçler
Geant4 izlemesi geneldir. Yani
•Parçacık cinsinden •Parçacığı içeren fizik süreçlerinden
bağımsızdır.
Tanımlı olan tüm süreçlere şans (gerçekleşme olasılığı) verir, böylece her süreç
•adım uzunluğunu belirlemek için
•izin fiziksel özeliklerinde olası değişiklik yapmak için
•ikincil parçacıkları yaratmak için
•izin durumunda bazı değişiklikler önermek için (beklet, durdur, ötele, öldür)
katkıda bulunabilir.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 35
Geant4‘te Süreçler
•Geant4’te parçacık taşınması da bir süreçtir. Bu süreçte parçacık geometrik hacmin sınırları ile ve herhangi bir alan ile etkileşir. •Her parçacık kendisine uygulanabilir süreçlerin bir listesine sahiptir. Her adımda, listelenen süreçler önerilen fiziksel etkileşme uzunluğunu bulmak için çağırılır. •(Uzay-­‐‑zamanda) en kısa etkileşim uzunluğunu veren süreç adımı sınırlandırır. •Her süreç aşağıdaki durumların birisine ya da bunların karışımına sahiptir:
‣ AtRest
-­‐‑ örneğin durgun durumdaki muon’un bozunması ‣ AlongStep (b.d.a. sürekli süreç) -­‐‑ örneğin Cerenkov süreci ‣ PostStep (b.d.a. kesikli süreç) -­‐‑ örneğin uçuş sırasında bozunma HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 36
Kullanışlı Bilginin Elde Edilmesi
•Geometri, fizik ve birincil iz üretiminin verilmesi ile Geant4 “sessizce” fizik simülasyonu yapar.
‣ Sizin için kullanışlı bilgiyi elde etmek için biraz (!) kod yazmanız gerekir. •Bunun iki yolu vardır: ‣ Baz sınıflara verilmiş olan çengelleri kullanabilirsiniz (G4UserTrackingAction, G4UserSteppingAction, ...)
-­‐‑ Neredeyse tüm bilgiye ulaşabilirsiniz
-­‐‑ Dolambaçsızdır, ancak kendiniz yapmalısınız
‣ Geant4‘ün sayım (scoring) işlevselliğini kullanabilirsiniz
-­‐‑ Bir hacime G4VSensitiveDetector atayın -­‐‑ Vuru topluluğu G4Event’te otomatik olarak saklanır ve eğer kullanıcı tarafından tanımlanmış bir Run nesnesi kullanılmış ise otomatik olarak biriktirilir.
-­‐‑ Olay ve koşu özetini almal için yine çengelleri kullanabilirsiniz (G4UserEventAction, G4UserRunAction)
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 37
Birim Sistemi
•Geant4‘te kullanılan iç birim sistemi hem kullanıcıdan hem de Geant4‘ün kaynak kodundan tamamen gizlenmiştir. •Doğrıdan kodlanmış (hard-­‐‑coded) her sayı uygun birimi ile çarpılmalıdır. radius = 10.0 * cm;
kineticE = 1.0 * GeV; •Sayı elde etmek için uygun birimi ile bölünmelidir.
G4cout << eDep / MeV << “ [MeV]” << G4endl; •Sıklıkla kullanılan birimlerin çoğu tanımlanmıştır ve kullanıcı kendi birimini ekleyebilir. •Bu birim sistemi ile kaynak kodu daha okunaklı hale gelir ve fiziksel nicelikleri koda ekleyip çıkartmak daha basit olur. ‣ Özel bir uygulama için kullanıcı iç birimi, sonucu değiştirmeden, daha uygun bir alternatif birime çevirebilir.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 38
G4cout, G4cerr
•G4cout ve G4cerr (G4endl ile birlikte) Geant4 tarafından tanımlanmış ostream nesneleridir.
G4cout << ”Hello Geant4!” << G4endl; •Bazı GUI’ler çıktı karakter dizilerini arabelleğe yüklerler ve çıktıları başka pencerelerde gösterirler ya da saklama/değiştirme işlevselliği sunarlar ‣ Kullanıcı std::cout, std::cerr vb. kullanmamalıdır.
•Girdi için std::cin kullanılmamalıdır. Sağlanmış olan komutlar kullanılmalıdır
‣ Bir dosya için bilindik I/O yapabilirsiniz.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 39
Geant4 Kullanımı
•Geant4 bir parçalardan oluşmuş bir yazılımdır (toolkit). Bu parçalardan bir uygulama inşa etmelisiniz.
•Bir uygulama oluşturmak için ‣ Geometrik düzeni tanımlayın -­‐‑ Malzeme, hacim
‣ Gerekli olan fiziği tanımlayın
-­‐‑ Parçacıklar, fizik süreçleri/modeller -­‐‑ Üretim eşikleri ‣ Bir olayın nasıl başladığını tanımlayın
-­‐‑ Birincil izin üretimi ‣ İşinize yarayacak bilgileri çıkartın •Bunlarun yanı sıra, isterseniz ‣ Geometriyi, izleri ve fizik çıktılarını görselleştirin
‣ Kullanıcı arayüzeyini kullanın G(UI)
‣ Kendi UI komutlarınızı tanımlayın
‣ ... HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 40
Kullanıcı Sınıfları
•main()
‣ Geant4 main()’i sağlamaz, kullanıcı bu programı yazmalıdır.
•Başlatma durumuna getirme sınıfları
‣ Tanımlamak için G4RunManager::SetUserInitialization() kullanın. ‣ Başlatma durumuna getirilmede çağırılanlar
-­‐‑ G4VUserDetectorConstruction -­‐‑ G4VUserPhysicsList •Eylem sınıfları ‣ Tanımlamak için G4RunManager::SetUserAction() kullanın
‣ Bir olay çeviriminde çağrılanlar -­‐‑ G4VUserPrimaryGeneratorAction -­‐‑ G4UserRunAction
-­‐‑ G4UserEventAction
Not: Kırmızı ile yazılı -­‐‑ G4UserStackingAction olan sınıflar zorunlu -­‐‑ G4UserTrackingAction
olarak kullanılmalıdır.
-­‐‑ G4UserSteppingAction
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 41
main() Programı
•Geant4 main()’i sağlamaz, kullanıcı bu programı yazmalıdır.
•main() programında ‣ G4RunManager (ya da bundan türetmiş olduğunuz sınıfı) oluşturmalısınız
‣ Kullanıcının yazması zorunlu olan sınıfları RunManager’a ayarlamalısınız:
-­‐‑ G4VUserDetectorConstruction
-­‐‑ G4VUserPhysicsList
-­‐‑ G4VUserPrimaryGeneratorAction •main() programınızda VisManager, (G)UI oturmunu, tercih e1iğiniz sizin tanımlamış olduğunuz eylem sınıflarını tanımlayabilirsiniz.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 42
Algıç Tanımı
•Kendi somut (concrete) sınıfınızı G4VUserDetectorConstruction soyut baz sınıfından türetin. •Sanal Construct() metodunda, ‣ Tüm gerekli malzemeleri örnekleyin
‣ Algıç geometrisini oluşturan hacimleri örnekleyin
‣ hassas algıç sınıflarınızı örnekleyin ve bunları karşılık geldikleri mantıksal hacimlere atayın •Tercihen ‣ algıcınızın herhangi bir parçası için bölgeler (Regions)
‣ algıç elemanları için görüntüleme özellikleri (renk, görünürlük vb.)
tanımlayabilirsiniz.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 43
Fizik Süreçlerinin Seçimi
Geant4‘te varsayılan parçacıklar veya süreçler yoktur.
‣ Parçacık taşınması için bile bunu açıkça tanımlamak gerekir. Fizik süreçlerini içeren somut sınıfı soyut G4VUserPhysicsList baz sınıfından türetilir.
‣ Gerekli tüm parçacıkları tanımlayın.
‣ Gerekli tüm süreçleri tanımlayın ve bunları süreçlerin uygulanabileceği parçacıklara atayın.
‣ Hem düya geometrisine hem de tüm bölgelere uygulanacak olan kesme değer aralıklarını tanımlayın Geant4 pek çok işe yarar sınıf/metod ve örnek sağlamaktadır.
‣ Hadronik süreçler için, pek çok farklı kullanma durumu için, "ʺdeneyime dayanan tahmini"ʺ fizik listeleri vardır. HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 44
Birincil Olayın Üretilmesi
•Somut sınıfınızı soyut G4VUserPrimaryGeneratorAction baz sınıfından türetin. •Bir G4Event nesnesini bir ya da birden fazla birincil köşe ya da birincil parçacık üreten somut birinci üretme sınıfına gönderin. •Geant4, G4VPrimaryParticleGenerator baz sınıfının yanı sıra bazı üreteçleri de sağlar: ‣G4ParticleGun
‣G4HEPEvtInterface, G4HepMCInterface ‣HepMC sınıfı yada /hepevt/ ortak bloğu için arayüzey ‣G4GeneralParticleSource ‣Radyoaktiviteyi tanımlar HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 45
İsteğe Bağlı Kullanıcı Eylem Sınıfları
• All user action classes, methods of which are invoked during “Beam On”, must be constructed in the user’s main() and must be set to the RunManager.
• G4UserRunAction
‣ G4Run* GenerateRun()
-­‐‑ Kullanıcının özelleştirdiği koşu nesnesini örnekleme
‣ void BeginOfRunAction(const G4Run*)
-­‐‑ Histogram tanımlama
‣ void EndOfRunAction(const G4Run*)
-­‐‑ Koşuyu incelema
-­‐‑ Histogramları depolama
• G4UserEventAction
‣ void BeginOfEventAction(const G4Event*)
-­‐‑ Olayı seçimi
‣ void EndOfEventAction(const G4Event*) -­‐‑ Olay çıktı bilgisi oluşturma
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 46
Kullanıcı Dökümanları
h1p://geant4.cern.ch/support/userdocuments.shtml
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 47
Geant4 Cross Reference (LXR)
h1p://www-­‐‑geant4.kek.jp/LXR/
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 48
Geant4 Reference Guide (Doxygen)
h1p://www-­‐‑geant4.kek.jp/Reference/
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 49
İsteğe Bağlı Kullanıcı Eylem Sınıfları
• G4UserStackingAction
‣ void PrepareNewEvent()
- Öncelik kontrolünü yeniden ayarar
‣ G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track*)
- Yeni bir iz yığına itildiği her zaman çağrılır
- Yeni bir izi sınıflandırır -- önem kontrolü
➡Urgent, Waiting, PostponeToNextEvent, Kill
‣ void NewStage()
- Urgent yığını boşaldığında çağırılır
- Sınıflandırma kriterini değiştirir
- Olay filtrelemesi (Olay durdurması)
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 50
İsteğe Bağlı Kullanıcı Eylem Sınıfları
•G4UserTrackingAction
‣ void PreUserTrackingAction(const G4Track*)
-­‐‑ Gezingenin saklanıp saklanmayacağına karar verin
-­‐‑ Kullanıcı tarafından tanımlanmış gezingeyi yaratın
‣ void PostUserTrackingAction(const G4Track*)
-­‐‑ Gereksiz olan gezingeleri silin
•G4UserSteppingAction
‣ void UserSteppingAction(const G4Step*)
-­‐‑ İzi Öldür / Beklet / Ertele (kill/suspend/postpone)
-­‐‑ Adımı çizin (gezinge olarak saklanmayacak izler için)
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 51
Özetle:
Malzeme ve geometriyi tanımlayın
➡ G4VUserDetectorConstruction
Uygun parçacık ve süreçleri seçin, ve üretim eşiklerini tanımlayın
➡ G4VUserPhysicsList
Birincil parçacığın üretim biçimini tanımlayın
➡ G4VUserPrimaryGeneratorAction
Geant4‘ten işe yarar bilgiyi nasıl alacağınızı tanımlayın
➡ G4UserSteppingAction, G4UserTrackingAction, vb.
➡ G4VUserDetectorConstruction, G4UserEventAction, G4Run,
G4UserRunAction
➡ G4SensitiveDetector, G4VHit, G4VHitsCollection
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 52
Kurulum
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 53
Desteklenen Platformlar Ve Derleyiciler
h1p://geant4.web.cern.ch/geant4/support/ReleaseNotes4.10.0.html
•Linux
-­‐‑ Resmi olarak test edilen: 64 bit (Intel ya da AMD) Scientific Linux CERN SLC6, gcc-­‐‑4.4.7.
-­‐‑ Sadece teyit edilen: gcc-­‐‑4.7.2, gcc-­‐‑4.8.2 (64 bit)
•Mac OSX
-­‐‑ Resmi olarak test edilen: 0.8, gcc-­‐‑4.2.1 ve clang-­‐‑3.3
-­‐‑ Sadece teyit edilen: 10.9 with gcc-­‐‑4.2.1 and clang-­‐‑3.3
•Windows
-­‐‑ Resmi olarak test edilen: Windows7,Visual C++ 11.0 (Visual Studio 2012)
-­‐‑ Sadece teyit edilen: Windows7, Visual C++ 9.0, 10.0, 12.0
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 54
Gerekli Yazılımlar
•Bir UNIX kabuğu ve gerekli unix komutları
•Geant4 kaynak kodu
•CMake, 2.6.4 ya da daha yenisi
‣ Önerilen ise 2.8.X
•C++ Derleyicisi
‣ Linux: GNU Derleyici Toplamı
‣ Mac Os X: Clang (Xcode4)
-­‐‑Xcode4 için komut satırı araçları gereklidir (Xcode → Preferences → Downloads)
-­‐‑Xcode5 için eğer komut satırı araçları GUI’den yüklenemezse komut satırından xcode-select --install işlemini yapın.
•Windows: Visual Studio 2011 (Express ya da Higher Ed.)
•Geant4 veri dosyaları (eğer CMake otomatik olarak alamazsa)
Tercih edilen kurulum biçimi CMake iledir.
h1p://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/html/
ch01s02.html
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 55
Dış Yazılımlar-­‐‑1
Görüntüleme/GUI Araçları (tercihen):
•X11 OpenGL Visualization (Linux ve Mac OS X)
‣ Kurulması Gerekir: X11, OpenGL or MesaGL (üstlük ve kütüphaneler).
•Qt4 User Interface and Visualization (Tüm Platformlar)
‣ Kurulması Gerekir: Qt4, OpenGL or MesaGL (headers and libraries).
•Motif User Interface and Visualization (Linux ve Mac) ‣ Kurulması Gerekir: Motif and X11, OpenGL or MesaGL headers and libraries.
•Open Inventor Visualization (Tüm Platformlar)
•X11 RayTracer Visualization (Linux ve Mac OS X)
•GDML Desteği (Tüm Platformlar)
•DAWN postscript yorumlayıcısı
•HepRApp Browser
•VRMLbrowser
•WIRED4 JAS Plug-­‐‑In
kaynak: h1ps://agenda.infn.it/getFile.py/access?sessionId=5&resId=0&materialId=0&confId=5699
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 56
Dış Yazılımlar-­‐‑2 Analiz ve Histogramlar için Yazılımlar(tercihen):
•AIDA (Abstract Interfaces for Data Analysis)
‣ iAIDA (an implementation of AIDA’nın C++ uygulanması)
‣ JAS3 (Java Analysis Studio)
‣ Open Scientist (Interactive Analysis Environment)
‣ rAIDA (AIDA’nın Root’a uygulanması)
h1p:// aida.freehep.org
•ROOT (veri analizi yazılımı)
h1p://root.cern.ch
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 57
Nelere İhtiyacınız Var:
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 58
CMake ile Kurulum
•Geant4 kaynak paketini (geant4.10.00-­‐‑2.tar.gz) istediğiniz bir yere açın: ‣ örneğin: /path/to/geant4.10.00 (kaynak altdizini) •Kurulum ürünlerini yapılandıracak, çalıştıracak ve kuracak yeni bir altdizin yaratın (kaynak altdizininden farklı bir yer):
‣ örneğin: /path/to/geant4.10.00-­‐‑build (kurulum altdizini)
$ cd /path/to
$ mkdir geant4.10.00-build
$ ls
geant4.10.00 geant4.10.00-build
•Ayarları yapmak için kurulum altdizinine gidin ve CMake’i çalıştırın:
$ cd /path/to/geant4.10.00-build
$ cmake -DCMAKE_INSTALL_PREFIX= /path/to/geant4.10.00-install /path/to/geant4.10.00
Kurulum yapmayı tercih e1iğimiz altdizin
HPFBU Okulu, Tokat 2014
Geant4’ün kaynağının bulunduğu yer
Geant4 İle Benzetim
Sayfa 59
CMake ile İleri Kurulum
Ek argümanlar CMake’e verilerek Geant4‘ün tercihli olan paketleri de kurulabilir:
•-­‐‑DGEANT4_INSTALL_DATA=ON (önerilir)
ek olan veri kütüphaneleri otomatik olarak indirilir •-­‐‑DGEANT4_INSTALL_EXAMPLES=ON (önerilir) örnekler kurulur •-­‐‑DGEANT4_USE_OPENGL_X11=ON (önerilir)X11 OpenGL görüntüleme sürücüsünü kurar •-­‐‑DGEANT4_USE_QT=ON (tercihli) Qt görüntüleme sürücüsünü kurar
En başından bu seçenekler CMake’eklenebilir:
$ cmake -DCMAKE_INSTALL_PREFIX=/path/to/geant4.9.6-install -DGEANT4_INSTALL_DATA=ON \
-DGEANT4_USE_OPENGL_X11=ON -DGEANT4_INSTALL_EXAMPLES=ON /path/to/geant4.9.6
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 60
CMake ile Kurulum
CMake kurum için ayarlamaları yapar ve asıl kurumu başlatmak için Unix Makefile dosyalarını üretir:
$ cmake -DCMAKE_INSTALL_PREFIX=/path/to/geant4.10.00-install /path/to/geant4.10.00
-- The C compiler identification is GNU 4.2.1
-- The CXX compiler identification is GNU 4.2.1
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler: /Developer/usr/bin/cc
-- Check for working C compiler: /Developer/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Check for working CXX compiler: /Developer/usr/bin/c++
-- Check for working CXX compiler: /Developer/usr/bin/c++ -- works
Herşey yolunda giderse:
-- Configuring done
-- Generating done
-- Build files have been written to: /path/to/geant4.10.00-build
Bu mesajları görmezseniz CMake’in hata mesajlarını dikkatlice kontrol edin.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 61
CMake ile Kurulum
$ make -jN
(N: kaç tane paralel iş istiyoruz.)
$ make install (MAKE_INSTALL_PREFIX altdizinine kurulum)
Geant4’ün kurulumu platformunuzun hızına bağlı olarak bir süre alacaktır.
Eğer sorun yaşadıysanız, çözüm daha önce önerilmiş olabilir: h1p://hypernews.slac.stanford.edu/HyperNews/geant4/get/installconfig.html
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 62
Kurlum Bitince:
/path/to/geant4.10.00-­‐‑install
Derlenmiş kütüphanelere PATH değişkeninden ulaşmak ve veri kütüphanelerine ulaşmak için:
$ . geant4.sh
ya da $ . geant4.csh
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 63
CMake ile Bir Uygulamayı İnşa Etmek
Geant4’ün temel örneklerinden birisini inşa edelim:
geant4.10.00/examples/basic/B1/
$
$
$
$
cd $HOME
mkdir B1-build
cd B1-build
cmake -DGeant4_DIR=/path/to/geant4.10.00-install/lib(64)/Geant4-10.0.0 /path/to/geant4.10.00/examples/basic/B1
$ make -jN
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 64
Geant4 Örnekleri
../geant4.9.6-­‐‑install/share/Geant4-­‐‑9.6.0/examples altında:
•Temel (basic) örnekler
‣ Geant4 uygulamalarının en tipik örnekleri •Yeni başlayan (novice) örnekleri
‣ Etkileşmeyen parçacıklardan oldukça karmaşık algıç benzetimlerine kadar değişen uygulamalar
•Genişletilmiş (extended) örnekler (Geant4‘ün özel uygulamalarının gösterilmesi)
‣ Elektromanyetik
‣ Analiz
‣ Önyargılama ‣ Görüntüleme
‣ ......... •İleri (advanced) örnekler (gerçek deney düzeneklerinin ya da cihazların benzetimi)
‣ Brachytherapy ‣ Gammaray_telescope ‣ Medical_linac
‣ Hadrontherapy
h1p://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 65
Malzeme Tanımı
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 66
Malzeme Tanımı
•Üç tür malzeme tanımanabilir:
‣ isotop ➜ G4Isotope
‣ element ➜ G4Element
‣ molekül ➜ G4Material
‣ alaşım ve bileşim ➜ G4Material
•Bu malzemelerin özellikleri olabilir
‣ Sıcaklık, basınç, durum (katı, sıvı, gaz), yoğunluk
•G4Isotope ve G4Element atomların özelliğini betimler
‣ Atom sayısı, nükleon sayısı, molar kütle, kabuk enerjileri, atom başına tesir kesiti, ... •G4Material maddenin mikroskobik özelliklerini betimler:
‣ sıcaklık, basınç, durum, yoğunluk
‣ Radyasyon uzunluğu, soğurma uzunluğu, ...
G4Material izleme, geometri ve fizik sınıfları tarafından kullanılır.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 67
Elementler ve İzotoplar
Izotoplar elementlerden oluşturulabilir:
Elementler aşağıdaki gibi oluşturulup izotopa eklenir:
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 68
Bir Elemen1en ve Moleküllerden Oluşmuş Malzeme
Tek elementli malzeme:
Birden fazla elemen1en oluşmuş molekül (atom sayısı ile birleştirme):
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 69
Alaşım ve Karışımlar
Karışım: kesirli birleştirme
Alaşım malzemelerinin birleşimi
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 70
NIST Malzeme Veritabanı
h1p://physics.nist.gov/PhysRefData
Elemetleri ve malzemeleri ön tanımlamadan doğrudan NIST Manager ile veritabanından kullanabilirsiniz:
3000‘den fazla malzeme veritabanında bulunmaktadır:
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 71
Geometri Tanımı
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 72
Algıç Tanımı
•Algıç geometrisi bir kaç hacimden oluşur.
•Bu hacimlerin en büyüüğü World hacmi olarak isimlendirilir
‣ Diğer tüm hacimleri içine almalıdır.
•Algıcın somut sınıfı G4VUserDetectorConstruction soyut baz sınıfından türetilir.
•Construct() metodunun uygulanması:
•Modüler biçinde algıcın her alt parçacası için yazılır:
‣ Geometriyi tanımlamak için gerekli şekil ve katılar tanımlanır
‣ Gerekli tüm malzemeler oluşturulur
‣ Algıç geometisindeki hacimler oluşturulur ve yerlerine yerleştirilir
‣ Hassas algıçlar tanımlanır ve hangi algıç hacimlerinin bunlarla eşleştirileceğine karar verilir
‣ Manyetik alan olacak ise algıçın hangi bölgesine ekleneceğine karar verilir
‣ Algıç elemanları için görüntüleme özellikleri tanımlanır (renk, görünürlük vb.)
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 73
Algıç Geometrisinin Bileşenleri
Kavramsal olarak üç katmandan oluşur:
• G4VSolid: şekil, boyut
• G4VLogicalVolume: malzeme, manyetik alan, hassaslık, görüntüleme özellikleri, yavru hacimler
• G4VPhysicalVolume: konum, dönme, kopyalama
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 74
Algıç Geometrisi Tanımlama
En basit örnek: examples/basic/B1
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 75
/example/basic/B1
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 76
Katılar
Geant4‘te katılar farklı yollarla tanımlanabilir:
•CSG (Constructed Solid Geometry) katılar
‣ G4Box, G4Tubs, G4Cons, G4Trd, ... •Özel katılar (CSG tarzında)
‣ G4Polycone, G4Polyhedra, G4Hype, ...
‣ G4TwistedTubs, G4TwistedTrap, ...
•BREP (BoundaryREPresented) katılar
‣ G4BREPSolidPolycone, G4BSplineSurface, ...
•Boolean katılar
‣ G4UnionSolid, G4SubtractionSolid, ...
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 77
CSG: G4Tubs, G4Cons
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 78
Diğer CSG Katılar
G4Box
G4Trd
G4Sphere
G4Torus
Tüm ayrıntılar için:
Application Developers Guide Bölüm 4.1.2
G4Polycone
HPFBU Okulu, Tokat 2014
G4Polyhedra
G4ExtrudeSolid
Geant4 İle Benzetim
Sayfa 79
Birincil Parçacık Demeti Üretilmesi
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 80
Kullanıcının Birincil Parçacık Üretmesi
•Geant4‘te G4VPrimaryGenerator sınıfının üç somut sınıfı vardır:
‣ G4ParticleGun
‣ G4GeneralParticleSource
‣ G4HEPEvtInterface, G4HEPMCInterface •G4ParticleGun
‣ Tipil deneylerde kullanılan demet parçacıklarını benzetmek için kullanılabilir.
‣ Birincil köşe yüzeydeki ya da 3D nesnelerin hacimleri içinde bir yerde noktasal kaynaklardan gelişigüzel olarak seçilebilir. Birincil parçacığın momentum yönü ve kinetik enerjisi gelişigüzel halde olabilir. •G4GeneralParticleSource ‣ Genellikle uzay uygulamaları için kullanılır.
‣ Uygulanması basi1ir ve UI komutları ile koşu başında değerleri ayarlanabilir.
•G4HEPEvtInterface
‣ Deneylere özel birincil parçacık üretimi için kullanılabilir.
‣ Pek çok YEF (FORTRAN ) fizik üretecinin kullandığı /HEPEVT/ yaygın blok için uygundur
‣ ASCII dosyası girdisi kullanabilir.
•G4HEPMCInterface
‣ Deneylere özel birincil parçacık üretimi için kullanılabilir.
‣ Bazı (C++) YEF fizik üreteçlerinin kullandığı HepMC formatı için uygundur
‣ ASCII girdi dosyası ya da HepMC ile doğrudan bağlantılama yolu ile kullanılabilir.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 81
Örnek:G4ParticleGun
Kullanılabilecek Set Metodları:
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 82
Örnek:G4GeneralParticleSource
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 83
Öneriler
G4ParticleGun
• Basit ve sadedir
• Tane tane parçacık atar.
• Kullanması/kontrol etmesi kolaydır
‣ Herbir iz için ya da olay için değerşeri değiştirmek için Set() metodlarını kullanabilirsiniz.
G4GeneralParticleSource
• Güçlüdür
• UI komutları ile kontrol edilir
‣ Set()metodları ile kontrol etmek neredeyse mümkün değildir.
‣ Bir hacmin yüzeyinden parçacık gönderme imkanı verir.
‣ Kullanıcın verdiği bir dağılımla (histogram) parçacıkların kinetik enerjisini, konumunu ve/veya yönünü gelişigüzel olarak değiştirmek mümkündür.
• Bir hacmin yüzeyinden, içeri doğru ya da dışarı doğru, birincil parçacık gönderecekseniz G4GeneralParticleSource kullanın.
• Düz ya da basit bir Gaussian dağılım olmayan karmaşık bir birincil parçacık dağılımına ihtiyacınız varsa G4GeneralParticleSource kullanın.
• Diğer durumlarda G4ParticleGun kullanabilirsiniz.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 84
Parçacıklar ve Süreçler
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 85
Geant4’de Fizik Süreçleri
•Geant4 fizik süreçlerinin benzetiminde tek bir bütünleyici yaklaşım yerine tane tane (parça parça) olan bir yaklaşım kullanır
‣ birbiri ile (çoğu zaman) ilişkili olmayan fizik bileşenleri (süreçler) sunar ‣ kullanıcı algıcı parça parça inşa e1iği gibi bu fizik bileşenlerini de parça parça birleştirerek uyarladığı fizik listesine ekler •İstisnalar
‣ bazı elektromanyetik süreçler birlikte kullanılmalıdır
-­‐‑örneğin: ionizayson ve frenleme ışınımı: her ikisi de, yüklü parçacığın erimini belirleyen enerji kaybına katkıda bulunurlar.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 86
Geant4’ün Sağladığı Fizik Süreçleri
•EM Etkileşmeler ‣ ~103 eV’den ~1015 eV’e kadar geçerli olan “standart” süreçler
‣ ~250 eV’den ~1015 eV’e kadar geçerli olan “düşük enerji” süreçler
‣ optik fotonlar
•Zayıf Etkileşmeler
‣ atomaltı parçacıkların bozunumu
‣ çekirdeğin radyoaktif bozunumu
•Güçlü Etkileşmeler
‣ ~0 eV’den ~1012 eV’e kadar geçerli tüm güçlü etkileşmeler
‣ ~106 eV’den ~1012 eV’e kadar geçerli elektro-­‐‑ ve gamma-­‐‑nükleer etkileşmeler
•Parametrize edilmiş ya da hızlı benzetim fiziği
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 87
G4VUserPhysicsList
•Tüm fizik süreçleri bu sınıftan türetilmelidir
‣ ardından koşu yöneticisine (run manager) kaydedilmelidir
•Kullanıcı ConstructParticle(), ConstructProcess() and SetCuts() metodlarını kendisi yazmalıdır.
Örnek:
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 88
G4VUserPhysicsList:Gerekli Metdolar
•ConstructParticle() – benzetimde ihtiyaç duyacağınız tüm parçacıkları seçip burada tanımlayın.
•ConstructProcess() – her parçacık için, benzetiminizde önemli olduğunu düşündüğünüz tüm fizik süreçlerini atayın
•Fizik süreci nedir?
‣ bir parçacığın madde ile nasıl etkikeşeceğini tanımlayan bir sınıftır
•SetCuts() – ikincil parçacık üretimi için erim kesme değerlerini tanımlayın •Erim kesme nedir? ‣ parçacık üretiminde ne kadar düşük enerjilere gidileceğini belirleyen sınırdır
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 89
ConstructParticle()
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 90
ConstructProcess()
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 91
ConstructEM()
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 92
ConstructGeneral()
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 93
SetCuts()
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 94
Fizik Süreçleri: Kısa Özet
• Bir uygulama için gerekli olan tüm parçacıklar, fizik süreçleri ve üretim kesmeleri fizik listesine eklenmelidir.
• Kullanıcıların kendi fizik sınıflarını türetebilecekleri iki fizik listesi sınıfı vardır:
‣ G4VUserPhysicsList – görece basit fizik listeleri için
‣ G4VModularPhysicsList – daha ayrıntılı fizik listeleri için
• Geant4‘ün içinde önceden hazırlanmış fizik listeleri vardır:
‣ elektromanyetik fizik listesi
‣ elektromanyetik + hadronik fizik listeleri
Kullanıcı doğru fiziği seçme konusunda hassas olmalıdır.
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 95
Slayt: Sebastien Incerti
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 96
Slayt: Dennis Wright
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 97
Diğer Kaynaklar
Kullanılan Diğer Kaynaklar:
h1ps://agenda.infn.it/getFile.py/access?
sessionId=17&resId=0&materialId=0&confId=5699
h1ps://agenda.infn.it/getFile.py/access?
sessionId=5&resId=0&materialId=0&confId=5699
HPFBU Okulu, Tokat 2014
Geant4 İle Benzetim
Sayfa 98
Download

Kısa Bir Tanıtım - Indico