GEANT4: GiRiŞ ve ÖRNEKLER - Yüksek Enerji Fiziği

advertisement
GEANT4: GiRiŞ ve ÖRNEKLER
Ercan Piliçer - Uludağ Üniversitesi
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Tarihçe
Geant3 CERN' de geliştirildi (1982-1994)
Geant4 (C++) Geant3 (Fortran) ün gelişmiş halidir
Dec ’94
Apr ’97
Jul ’98
Dec ’98
Projenin başlangıcı
İlk alpha sürümü
İlk beta sürümü
İlk Geant4 halka açık sürüm 1.0
Geant4 SLAC' da BaBar deneyinde 2000 yılından itibaren kullanılmaktadır
Geant4 ATLAS, CMS, LHCb deney merkezlerinde 2004' den itibaren Monte Carlo
Simulasyon programı olarak kullanılmaktadır
Aralık 2006
Mayıs 2007
Haziran 2007
Aralık 2007
Mart 2009
Nisan 2010
Geant4 8.2 sürümü
Geant4 8.3 sürümü
Geant4 9.0 sürümü
Geant4 9.1 sürümü
Geant4 9.2 sürümü
Geant4.9.3 sürümü
Şubat 2011 → Geant4.9.4 sürümü
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geant4 Paketleri
Geant4 17 kategoriden oluşur
 Birbirinden bağımsız çalışma grupları
tarafından geliştirilir
 Kategorilerin birbirine arayüzü Global
çalışma gurubu ile ele alınır
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Uygulama Aşamaları
PreInit
initialize
Geant4 6 uygulama aşamasına sahiptir
Idle
 G4State_PreInit
Fizik süreçlerin başlatılması/tanımlanması gerekir
 G4State_Idle
Run
(event
loop)
Materyal, Geometri, Parçacık ve/veya
Simulasyonu başlatmaya hazır
 G4State_GeomClosed
beamOn
GeomClosed
Quit
EventProc
Geometri optimize edilir ve bir olayı simule etmek için hazırdır
 G4State_EventProc
Bir olay yürütülür
 G4State_Quit
(Normal) sonlandırma
 G4State_Abort
Kural dışı bir durum oluşması ve programın sonlandırılması
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
exit
Abort
Terminoloji
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geant4' de Çalıştırma
(Run)
 Çalıştırma “BeamOn” ile başlar
 Bir çalıştırma içerisinde kullanıcı aşağıdakileri değiştiremez
tanımlanan geometriyi
fiziksel süreçlerin ayarlarını
 Bir çalıştırma aynı geometriyi ve fiziksel şartları paylaşan olayların birleşimidir
ve bir olay çevrimini içerir
 Çalıştırmanın başlangıcında geometri optimize edilir ve tesir kesiti tabloları tanımlanan
materyallere göre hesaplanır
 G4RunManager sınıfı bir çalıştırmanın işleyişini yönetir, Bir çalıştırma G4Run sınıfı
veya G4Run dan türetilmiş kullanıcı tanımlı sınıfla temsil edilir
 G4UserRunAction bir çalıştırma için kullanıcı isteğine bağlı detayları verebilecek bir
sınıfdır
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geant4' de Olay
(Event)
 Olay Geant4 simulasyonun basit bir birimidir
 İşleme başlanmadan önce, birincil parçacıklar oluşturulup yığın (stack) içine atılır
 Birincil parçacıklar bu yığından alınıp geometri içerisinde takip edilir (tracked)
Bu sırada oluşan ikincil parçacıklar da yığın içerisine atılır
 Takip etme olayı yığın içerisinde parçacıklar olduğu sürece devam eder
 Yığın boş olduğu zaman bir olayın işlenmesi bitmiştir
 G4Event sınıfı bir olayı temsil eder. Bu sınıf
- Birincil parçacıklar ve konumları listesi
- Parçacık hit ve yörüngeleri
nesnelerine sahiptir
 G4EventManager sınıfı bir olayın işleyişini kontrol eder
 G4UserEventAction bir olay için kullanıcıya isteğe bağlı hesaplamalar
yapmasını sağlar
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geant4' de İz
(Track)
 İz bir parçacığın anlık görüntüsüdür
- sadece o anki parçacığın fiziksel büyüklüklerine sahiptir
- parçacık hareket ettiğinde anlık görüntüdeki fiziksel
büyüklükler de değişir
- herhangi bir anda iz (track), konuma ve fiziksel büyüklüğe
sahiptir
- adımların toplamı değildir
 İz nesnesi silindiği zaman
- en dıştaki hacim dışarısına gider
- yok olur (bozunma, inelastik saçılma gibi olaylarla)
- sıfır kinetik enerjiye sahip olur
- veya kullanıcının kararı ile silinir
 G4TrackingManager bir izin işleyişini kontrol eder, bir iz
G4Track sınıfı ile temsil edilir
 G4UserTrackingAction kullanıcı isteğine bağlı bir sınıftır
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
TrackID=2
ParentID=1
TrackID=1
ParentID=0
Geant4' de Adım
(Step)
 Adım iki noktaya sahiptir ve bunlarda parçacık ile bilgiler vardır
(o adımdaki enerji kaybı, uçuş zamanı, kinetik enerjisi gibi)
 Her bir nokta içerisinde bulunduğu hacmin ve materyalin bilgisine sahiptir
 Hacim sınırlarında yansıma gibi olayların simulasyonu için adım bilgisinde
bir sonraki hacime ait bilgiler de bulunmaktadır
 G4SteppingManager sınıfı bir adımın işleyişini kontrol eder ve bir adım
G4Step sınıfı ile temsil edilir
 G4UserSteppingAction adım hakkındaki bilgilerin alınabileceği isteğe bağlı
bir sınıftır
Hacimlerin sınırı
Adım
Adım öncesi nokta
Adım sonrası nokta
(Pre-step point)
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
(Post-step point)
Geant4' de Parçacık
G4Track
Konumu, geometrik bilgisi, vb
Bu takip edilecek parçacığın temsil edildiği sınıftır
Geant4' de parçacık
3 sınıf düzeyi ile temsil edilir
G4DynamicParticle
Parçacığın momentumu, enerjisi, spini gibi Dinamik fiziksel özellikleri
hakkında bilgileri sağlar
Herbir G4Track nesnesi kendine ait ve tek G4DynamicParticle nesnesine sahiptir
Bu sınıf herbir parçacığın kendisini temsil eder
G4ParticleDefinition
Parçacığın yükü, kütlesi, yaşam süresi, bozunma kanalları gibi Statik özellikleri
hakkında bilgileri sağlar
Parçacık özelliklerinin listesi

PDG kodu

Kütlesi

Elektrik yükü

Spin, izospin, parite

Magnetik moment

Kuark içerikleri

Yaşam süresi, bozunma kanalları
Katogoriler
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Gluon / kuark / di-kuark
Leptonlar
Mezonlar
Baryonlar
İyonlar
Diğerler
Birim Sistemi
$CLHEP_BASE_DIR/include/CLHEP/Units/SystemOfUnits.h
millimeter
nanosecond
Mega electron Volt
positron charge
degree Kelvin
the amount of substance
luminous intensity
radian
steradian
Kullanılan değişkenlerin birim ataması aşağıdaki gibi yapılabilir
G4double Size = 15*km;
G4doubel KineticEnergy = 90.3*GeV;
G4double density = 11*mg/cm3;
Geant4 içcerisinde bazı aşağıdaki gibi interaktif komutlarda hazır olarak bulunmaktadır
/gun/energy 15.2 keV
/gun/position 3 2 -7 meter
Kullanılan kodun içerisinde de bilgi almak için girilen değerler “/” sembolü kullanılarak
görüntülenebilir.
G4cout << KineticEnergy/keV << " keV";
G4cout << density/(g/cm3) << " g/cm3";
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
(mm)
(ns)
(MeV)
(eplus)
(kelvin)
(mole)
(candela)
(radian)
(steradian)
Ne Yapmalıyım?
Geant4 ile bir uygulama yapmak icin:
 Simule edilecek geometrinin hazırlanması
(materyaller, hacimler ve konumları gibi)
 İlgili fiziğin tanımlanması
(parçacıklar, fiziksel süreçler ve modeller, üretim eşik enerjisi)
 Bir olayın nasıl başlayacağı
(birincil parçacıkların oluşum mekanizması)
Bunların yanında:
– Hazırlanan geometrinin ve parçacık izlerinin görüntülenmesi
– Kullanılan fizik ile ilgili ekran çıktıların alınması
– Kendinize ait UI (User Interface) komutların eklenmesi
– Simulasyon sırasında faydalı bilgilerin toplanması
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Kullanıcı Sınıfları
main()
Geant4 varsayılan bir main() metodu tanımlamaz
 Başlangıç sınıfları
G4RunManager::SetUserInitialization() metodu başlangıçta
G4VUserDetectorConstruction
G4VUserPhysicsList
sınıflarının tanımlanması ve çağırılmasında kullanılır
 Eylem sınıfları
G4RunManager::SetUserAction() metodu başlangıçta
G4VUserPrimaryGeneratorAction
G4UserRunAction
G4UserEventAction
G4UserStackingAction
G4UserTrackingAction
G4UserSteppingAction
sınıflarının tanımlanması ve çağırılmasında kullanılır
Yeşil renkteki sınıflar zorunlu sınıflardır
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri
G4VUserDetectorConstruction temel sınıfından kullanıcıya ait
MyDetectorConstruction sınıfı türetilir
Bu sınıfın Construct() metodunda
Gerekli tüm materyaller tanımlanır
Kullanılacak hacimler tanımlanır
Duyarlı detektörleriniz başlatılır ve mantıksal hacimlere atanır
İsteğe bağlı olarak da Optionally you can define
Geometrinizin herhangi bir yeri için bölgeler tanımlanabilir
Kullanıcak hacimlerin görüntüleme özellikleri tanımlanır
(renk, görünürlük biçimleri gibi)
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri
Temel strateji;
G4VSolid* pBoxSolid =
new G4Box(“aBoxSolid”, 1.*m, 2.*m, 3.*m);
Üç kavram vardır;
G4VSolid
şekli, boyutları
G4LogicalVolume
materyal, duyarlılık, kullanıcı limitleri
Magnetik alan, vb
G4VPhysicalVolume
konumu, dönüşü
G4VSolid
G4Box
G4Tubs
G4LogicalVolume* pBoxLog =
new G4LogicalVolume( pBoxSolid, pBoxMaterial,
“aBoxLog”, 0, 0, 0);
G4VPhysicalVolume* aBoxPhys =
new G4PVPlacement( pRotation,
G4ThreeVector(posX, posY, posZ), pBoxLog,
“aBoxPhys”, pMotherLog, 0, copyNo);
G4LogicalVolume
G4Material
G4VPhysicalVolume
G4VisAttributes G4PVPlacement
G4VSensitiveDetector
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
G4PVParameterised
Geometri
(Katı Hacimler – Solid Volumes)
CSG
(Constructed Solid Geometries)
G4Box(const G4String &pname, // name
G4Tubs(const G4String &pname, // name
G4double pRmin,
// inner radius
G4double pRmax,
// outer radius
G4double pDz,
// Z half length
G4double half_x,
// X half size
G4double pSphi,
// starting Phi
G4double half_y,
// Y half size
G4double pDphi);
// segment angle
G4double half_z);
// Z half size
G4Cons
G4Trd
G4Trap
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
G4Para
(parallelepiped)
G4Sphere
Geometri
(Katı Hacimler – Solid Volumes)
Katı hacimler bir araya getirilebilir (boolean operations)
G4UnionSolid, G4SubtractionSolid, G4IntersectionSolid
Ne Gerekir?
2 katı hacme, 1 mantıksal işleme, ve isteğe bağlı olarak 2. hacim için döndürülmesi
(2. hacim 1. hacimin koordinat sistemine göre yerleştirilmiştir)
Sonuçta yeni katı hacim oluşur bu da tekrardan yeni mantıksal işlemlerle
yeni katı hacimlere dönüştürülebilir.
Bu tür bir hacimde parçacık takibi hacimlerin sayısına bağlı olarak artar
G4UnionSolid
G4SubtractionSolid
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
G4IntersectionSolid
Geometri
(Mantıksal Hacim – Logical Volume)
G4LogicalVolume(G4VSolid *pSolid,
G4Material *pMaterial,
const G4String &name,
G4FieldManager *pFieldMgr=0,
G4VSensitiveDetector *pSDetector=0,
G4UserLimits *pULimits=0);
Hacimin konumu ve döndürülmesi dışında bütün bilgilerini içerir
– Şekli ve boyutlarını (G4VSolid)
– Materyal, duyarlılık, görüntüleme özelliklerini
– İçerisinde bulunan diğer hacimlerin konumlarını
– Magnetik alan
– Kullanıcı limitleri
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri
(Fiziksel Hacimler – Physical Volumes)
Yerleştirilmiş hacim (placement volume)
Bir hacim içerisine yerleştirien hacim elemanıdır. Bir fiziksel
hacim nesnesi bir tane gerçek hacmi temsil eder
Tekrar eden hacim (repeated volume)
Bir hacmin birden fazla tekrar edilmesidir. Bir fiziksel hacim
nesnesi birden fazla gerçek hacmi temsil eder.
placement
Bilgisayar hafızasında az yer kullanır
Parametreleştirilmiş tekrar eden hacimler (Parameterised)
Bir eksende tekrar eden hacimler (Replica, Division)
Ana hacim ya birçok yerleştirilmiş hacmi ya da bir tekrar eden
hacmi içerebilir
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
repeated
Geometri
<?xml version="1.0" encoding="UTF-8"?>
<gdml xsi:noNamespaceSchemaLocation="GDMLSchema/gdml.xsd">
<define>
...
<position name="TrkrinWorldpos" unit="mm" x="0" y="0" z="100"/>
</define>
Geometry Desciption Markup Language
<materials>
...
<element name="Nitrogen" formula="N" Z="7.">
Build-in Geant4
<atom value="14.01"/>
</element>
export G4LIB_BUILD_GDML=1
<material formula=" " name="Air" >
<D value="1.290" unit="mg/cm3"/>
<fraction n="0.7" ref="Nitrogen" />
$G4INSTALL/source/persistency/gdml/schema/
<fraction n="0.3" ref="Oxygen" />
gdml_core.xsd
</material>
</materials>
gdml_define.xsd
<solids>
gdml_extensions.xsd
...
<box lunit="mm" name="Tracker" x="50" y="50" z="50"/>
gdml_materials.xsd
</solids>
gdml_parameterised.xsd
<structure>
...
gdml_replicas.xsd
<volume name="World" >
gdml_solids.xsd
<materialref ref="Air" />
<solidref ref="world" />
gdml.xsd
<physvol>
<volumeref ref="Tracker" />
<positionref ref="TrkrinWorldpos"/>
5 bloktan oluşur
<rotationref ref="TrkinWorldrot"/>
Define
</physvol>
</volume>
Material
</structure>
Solids
<setup name="Default" version="1.0" >
<world ref="World" />
Structure
</setup>
Setup
</gdml>
(GDML)
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri
(ROOT)
ATLAS
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Fizik
 Geant4 de başlangıçta varsayılan herhangi bir fizik veya parçacık yoktur
 Parçacık iletimi (transportation) bile tanımlanmalıdır
 G4VUserPhysicsList temel sınıfından kullanıcı MyPhysicsList türetilmiş sınıfını
oluşturur
Tüm gerekli parçacıklar tanımlanır
Gerekli fizik süreçleri tanımlanır ve uygun parçacıklara atanır
Tüm hacim (world) veya belirli bir bölge içn parçacık oluşum enerjileri tanımlanır
 Geant4 içerisinde bunlar için bir çok örnek bulunmaktadır
 Fiziksel süreç farklı enerji aralıklarında değişik model, tesir kesitleri vb içerebilir
Gamma
Compton
scattering
Pair
production
particle
process 1
process 2
model 1
model 2
…
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
cross section set 1
cross section set 2
cross section set 3
…
Fizik




(Sağlanan)
ElektroManyetik fizik

Standard fizik, ~ PeV

Düşük enerji limiti, 250 eV ~ PeV (Livermore & Penelope)

Optik fotonlar

DNA seviyesindeki modeller, 7 eV ~ 100 MeV
Zayıf fizik

Atomaltı parçacık bozunması

Çekirdeklerin radyoaktif bozunması
Hadronik fizik

0 eV ~ 100 TeV

Muon ve gamma çekirdek etkileşmeleri,10 MeV ~ TeV
Parametrize edilmiş or hızlı simulation fiziği
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Fizik
 Kullanıcı tanımlı fizik listesi (kısmen basitleştirilmiş)
G4VUserPhysicsList temel sınıfından MyPhysicsList sınıfın türetilmesi
 Modular fizik listes (biraz daha karmaşık)
G4VModularPhysicsList temel sınıfından MyPhysicsList daha detaylı sınıfın türetilmesi
 Referans fizik listesi → $G4INSTALL/source/physics/lists
Uygulanacak metot
class MyPhysicsList: public G4VUserPhysicsList
{
public:
MyPhysicsList();
~MyPhysicsList();
void ConstructParticle();
// simulasyonda gerekli olan parçacıkların seçimi
void ConstructProcess();
// ilgili fiziğin herbir parçacığa atanması
void SetCuts();
// ikincil parçacıkların üretim eşik enerjisi
};
main metodunda Geant4 e bu fiziğin kayıt edilmesi
runManager->SetUserInitialization(new MyPhysicsList);
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Üretim Eşik Enerjisi
(Production Cuts)
 Bu eşik enerjisi bir uzaklıktır, enerji değildir
 Birincil parçacıklar enerjilerini kaybederek ikincil parçacıklar oluşturur (elektron, gama)
 Bu kesilim (cut-off) ikincil parçacıkların menzilini temsil eder, bu parçacığın izinin
karşılık gelen enerjide yok edildiği anlamına gelmez
 Bir parçacık izi sıfır kinetik enerjiye kadar takip edilir
 İkincil parçacıkların üretim eşiği mesafesi demektense kesilim (cut) denilir
 Geant4 de varsayılan kesilim değeri 1 mm
 Kullanıcı hassas sonuçlar ve CPU performansı için kendine gereken
kesilim değerini atayabilir
 Kesilim değeri MyPhysicsList sınıfının SetCuts() metodunda atanır
 Çok küçük kesilim değeri kullanmak gereksiz olabilir
Silikonda 10 keV' lik gama menzili ~ birkaç cm
Silikonda 10 keV' like elektron menzili ~ birkaç mikron
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Birincil Parçacıklar
 G4VUserPrimaryGeneratorAction temel sınıfından MyPrimaryGeneratorAction
sınıfının türetilmesi
 G4Event nesnesi birincil parçacıkları ve başlangıç konumlarını oluşturan birincil
parçacık oluşum sınıfı nesnesine gönderilir
Geant4 provides several generators in addition to the G4VPrimaryParticleGenerator
base class
 G4ParticleGun
 G4HEPEvtInterface, G4HepMCInterface

Interface to /hepevt/ common block or HepMC class
 G4GeneralParticleSource (GPS)

Define radioactivity
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
İsteğe Bağlı Kullanıcı Sınıflar
Kullanıcı eylem sınıflarının hepsi main() metodu içerisinde çağırılmalıdır ve
RunManager a atanmalıdır
G4UserRunAction
 G4Run* GenerateRun()
Fizik tabloları etkileyecek değişken tanımlaması
 void BeginOfRunAction(const G4Run*)
G4UserEventAction
Histogramların tanımlanması
 void BeginOfEventAction(const G4Event*)
 void EndOfRunAction(const G4Run*)
Bir olayın seçilmesi
Histogramların kayıt edilmesi
Olay ile ilgili değişkenlerin sıfırlanması
Çalıştırma sonuçlarının analizi
 void EndOfEventAction(const G4Event*)
Bir olay için analizlerin yapılması
G4UserTrackingAction
 void PreUserTrackingAction(const G4Track*)
Parçacık izinin depolanması/depolanmaması
 void PostUserTrackingAction(const G4Track*)
Gereksiz parçacık izlerinin silinmesi
G4UserSteppingAction
 void UserSteppingAction(const G4Step*)
G4UserStackingAction
Bir adım için gerekli bilgilerin alınması
 void ClassifyNewTrack(const G4Track*)
 void NewStage()
 void PrepareNewEvent()
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Görüntüleme
Geant4 ün faklı grafik sürücülerine arayüzeyi vardır
DAWN
WIRED
RayTracer
OpenGL
OpenInventor
VRML
HepRApp
gMocren
gMocren
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Analiz
Kod içerisinde
ROOT
$G4ANALYSIS_USE_ROOT
AIDA
$G4ANALYSIS_USE
Örneğin MySteppingAction, MyEventAction, MySensitiveDetector sınıflarında kullanımı
Geant4 içerisinde hazır bulunan hesaplayıcılar (Primitive scorers)
$G4INSTALL/source/digits_hits/scorer
G4PSEnergyDeposit3D.cc
G4PSTrackLength.cc
G4PSNofCollision.cc
G4PSEnergyDeposit.cc
G4PSNofSecondary.cc
G4PSDoseDeposit3D.cc
G4PSDoseDeposit.cc
G4PSMinKinEAtGeneration.cc
examples/extended/runAndEvent/RE03
/score/create/boxMesh boxMesh_1
/score/mesh/boxSize 100. 100. 50. cm
/score/mesh/nBin 30 30 30
/score/quantity/energyDeposit eDep
/score/close
/score/drawProjection boxMesh_1 eDep
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Araçlar
(Geometri)
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Araçlar
(MOMO)
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Uygulama Alanları
(HEP)
BaBar
Use of Geant4 in the ATLAS Detector Simulation
ATLAS (LHC)
Use of Geant4 in the ATLAS Detector Simulation
CMSSW and OSCAR (LHC)
Use of Geant4 in the CMS experiment
GAUSS (LHC)
Use of Geant4 in the GAUSS simulation program of the LHCb experiment
ALICE (LHC)
Use of Geant4 in the ALICE Geant4 Simulation
Fermilab
Use of Geant4 at Fermilab for different applications
ILC
Use of Geant4 for the International Linear Collider project
BDSIM
Toolkit based on Geant4 for accelerator beamline simulation
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Uygulama Alanları
(Space & Radiation)
European Space Agency
Geant4 Space Users' Home Page
ESA Project Support
XMM-Newton Radiation Environment.
Space Environment Information System (SPENVIS)
Dose Estimation by Simulation of the ISS Radiation Environment (DESIRE)
Physics Models for Biological Effects of Radiation and Shielding
QinetiQ
Space Energetic Particle Transport and Interaction Modeling studies (SEPTIMESS)
Radiation Effects Analysis Tools (REAT)
MUlti-LAyered Shielding SImulation Software (MULASSIS)
GLAST
Gamma Ray Large Area Space Telescope
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Uygulama Alanları
(Medical)
GAMOS
Geant4-based Architecture for Medicine-Oriented Simulations
GATE
Geant4 Application for Tomographic Emission
G4EMU
Geant4 European Medical User Organization
G4MED (in Japanese)
Geant4 Medical Physics in Japan
G4NAMU
Geant4 North American Medical User Organization
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geant4 Collaboration
PPARC
Lebedev
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Collaborators also from
non-member institutions,
including
Budker Inst. of Physics
IHEP Protvino
MEPHI Moscow
Pittsburg University
Örnekler
3 katogoride toplanır (G4INSTALL/examples)
 Yeni başlayanlar (examples/novice)
7 adet örnek
 Kapsamlı (examples/extended)
19 adet örnek
Fiziksel süreçlerin testi ve doğrulanması
Geant4 araçlarının gösterimi
 İleri düzey (examples/advanced)
20 adet örnek
Pratik uygulamalar
HEP dışı uygulamalardan örnekler (Space,Medical,..)
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Uygulama
 Geant4 yüklenmesi ve ortam değişkenleri
 Silikon detektöre gelen foton demet
 Sınıfların açıklaması
 Analizlerin yapılması
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
BACKUP SLIDES
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
How to participate in?
Depending your interest & capabilities,
Choose your way in Computer Aided Methods
 Learn advanced programming (C++)
 CAD Tools
 XML language
 Physics Models
 Analyze Tools (RooT, OpenScientist, JAS, Paw)
Have a look at;
http://www.lcsim.org/software/
Analysis and Reconstruction
Detector Simulation
Event Generation
(JAS3, LCIO)
(SLIC, LCDG4, Mokka)
(Herwig, GuineaPig)
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Tracking & Processes
Geant4 Tracking is general
 It is independent to
the particle type
the physics processes assigned to a particle
 It gives the chance to all processes to
contribute to determining the step length
contribute any possible changes in physical quantities of the track
generate secondary particles
suggest changes in the state of the track (e.g. to suspend, postpone or kill it)
Processes;
 Particle transportation is a process as well;
the particle interacts with geometrical volume boundaries and field of any kind
 Each particle has its own list of applicable processes. At each step, all processes listed
are invoked to get proposed physical interaction lengths
 The process which requires the shortest interaction length (in space-time)
is the one that occurs.
 Each process has one or combination of the following natures.
AtRest (e.g. muon decay at rest)
AlongStep (continuous process, e.g. Cerenkov process)
PostStep (discrete process, e.g. decay on the fly)
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
EM Physics Category
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Hadronic Physics Category
CHIPS
At rest
Absorption
µ, π, K, anti-p
CHIPS (gamma)
Photo-nuclear, electro-nuclear
High precision neutron
Evaporation
Fermi breakup
Multifragment
Photon Evap
Precompound
FTF String (up to 20 TeV)
QG String (up to 100 TeV)
Binary cascade
Rad. Decay
Bertini cascade
Fission
LE pp, pn
HEP ( up to 15 TeV)
LEP
1 MeV
10 MeV
100 MeV
1 GeV
10 GeV
100 GeV
1 TeV
… plus G4BinaryLightIonCascade, G4WilsonAbrasion,
G4EmDissociation
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
ConstructParticle() [1]
Basic construction method:
By manually invoking the particle definition methods
#include “G4Electron.hh”
#include “G4Proton.hh”
…
void MyPhysicsList::ConstructParticle()
{
G4Electron::ElectronDefinition();
G4Proton::ProtonDefinition();
G4Neutron::NeutronDefinition();
G4Gamma::GammaDefinition();
…
}
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
ConstructParticle() [2]
By using utility classes:
That make the individual calls for you:
void MyPhysicsList::ConstructParticle()
{
G4BaryonConstructor* baryonConstructor =
new G4BaryonConstructor();
baryonConstructor->ConstructParticle();
delete baryonConstructor;
G4BosonConstructor* bosonConstructor =
new G4BosonConstructor();
bosonConstructor->ConstructParticle();
delete bosonConstructor;
…
}
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
ConstructProcess()
void MyPhysicsList::ConstructProcess()
{
AddTransportation();
// Method provided by G4VUserPhysicsList
// It assignes the transportation process to all
// particles, with non-zero lifetime, defined
// in ConstructParticle()
ConstructEM();
// Method may be defined by user (for
convenience)
// Instantiate electromagnetic processes here
ConstructGeneral();
// Method may be defined by user (for
convenience)
}
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
ConstructEM()
void MyPhysicsList::ConstructEM()
{
theParticleIterator->reset();
while( (*theParticleIterator)() ) {
G4ParticleDefinition*
particle = theParticleIterator->value();
G4ProcessManager*
pmanager = particle->GetProcessManager();
G4String
particleName = particle->GetParticleName();
if (particleName == “gamma”){
pmanager->AddDiscreteProcess(new G4GammaConversion());
…
}
…
}
}
7th Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Download