GEANT4: GiRiŞ ve ÖRNEKLER

Benzer belgeler
GEANT4: GiRiŞ ve ÖRNEKLER

(Geometry And Tracking) Adnan Kılıç Uludağ Üniversitesi

Geant4. Kısa Bir Tanıtım

Ercan Piliçer Uludağ Üniversitesi (Araş.Gör.Dr.) INFN-Perugia (Post-Doc)

HPFBU 2014 TOKAT KIŞ OKULU GEANT4 ÇALIŞMASI

ALGIÇ BENZETİMİ. V. ERKCAN ÖZCAN, University College London

Bölüm 5. Tıbbi Görüntüleme Yöntemlerinin Temel İlkeleri. Prof. Dr. Bahadır BOYACIOĞLU

Alüminyum Hedefte Depolanan Enerjinin Elektron Enerjisi ile Değişimi. Variation of Deposition Energy with Electron Energy in Aluminum Target

Operator Aşırı Yükleme (Operator OverLoading)

CERN Bağlamında İleri Fizik Uygulamaları

1 BEÜ./ÖĞR.İŞL FEN-EDEBİYAT FAKÜLTESİ FİZİK BÖLÜMÜ BÖLÜM KODU : 3111 HAZIRLIK SINIFI

Elektromanyetik ve Hadron Kalorimetrelerinin Farklı Açılardaki Verimleri

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

--AccTR-- Hızlandırıcı Fiziği Tartışma Takımı.

UBT Foton Algılayıcıları Ara Sınav Cevap Anahtarı Tarih: 22 Nisan 2015 Süre: 90 dk. İsim:

Problem B. Beton duvar (perde) Beton. E = ksi, Poisson oranı = 0.2. Yapılacaklar

BİL-142 Bilgisayar Programlama II

FİZ314 Fizikte Güncel Konular

Nötronlar kinetik enerjilerine göre aşağıdaki gibi sınıflandırılırlar

All documents should be presented with an official English or Turkish translation (if the original language is not English or Turkish).

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Nesneye Yönelmek. veya sadece formülleri bilgisayarın anlayacağı dile çevirmeyi bilen birinin C++ kullanma yöntemleri. Gökhan Ünel

OTR Sistemlerinde Silikon Görüntüleme Ekranın Geant4 Simülasyonu. Geant4 Simulation of Silicon Screen in OTR Systems

Temel Sabitler ve Birimler

ALIfiTIRMALARIN ÇÖZÜMÜ

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

HSancak Nesne Tabanlı Programlama I Ders Notları

Unlike analytical solutions, numerical methods have an error range. In addition to this

MAK4061 BİLGİSAYAR DESTEKLİ TASARIM

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN

PROGRAMLAMAYA GİRİŞ DERS 2

CAIN ile Işınlık Hesabı

Teknoloji Servisleri; (Technology Services)

CERN'deki Büyük Hadron Çarpıştırıcısı ve LCG (LHC Computing Grid) Projesi

Örnek 1 (Virtüel iş çözümü için; Bakınız : Ders Notu Sayfa 23 - Örnek 4)

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

Öğr. Gör. Dr. Demet SARIYER

Determinants of Education-Job Mismatch among University Graduates

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

<<<<<HABER VE DUYURU<<<<<

CMS DENEYİNDEKİ HADRONİK KALORİMETREDE KAYIP DİK ENERJİNİN ÖLÇÜMÜ. Missing Transverse Energy Measurement in Hadronic Calorimeter of CMS

Kalıtım (Inheritance)

Hızlandırıcılar ve Çarpıştırıcılar

Öğr. Gör. Demet SARIYER

Virtualmin'e Yeni Web Sitesi Host Etmek - Domain Eklemek

Inventory of LCPs in Turkey LCP Database explained and explored

Parmela Proje Soruları Çözümleri. 9 Nisan Esin Çavlan & Ece Aşılar

Öğr. Gör. Demet SARIYER

Gamma Bozunumu

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

D-Link DSL 500G için ayarları

BMH-303 Nesneye Yönelik Programlama

STRAIGHT. Correct address for linear lighting: STRAIGHT

Parçacık Fiziği. Dr. Bora Akgün / Rice Üniversitesi CERN Türkiye Öğretmenleri Programı Temmuz 2015

Kozmik ışınların kaynağı: Cosmic rays are charced energetic, i.e. very high speed, particles originating from deep space objects such as supernova

DERS ÖĞRETİM PLANI. (Bölümden Bağımsız hazırlanmıştır

Nasıl Analiz Yapılır? Üzerine bir çeşitleme

Güray Erkol Özyeğin Üniversitesi

Theory Tajik (Tajikistan)

CAIN PROGRAMI ile DEMET-DEMET SĐMÜLASYONU

YEN FZE DORU. Yüksek Enerji Fizii ndeki son gelimeler Fizik Bilimi nin gelecei

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

Temel Sabitler ve Birimler

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

BAR. Linear and functional: BAR

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN

Bhabha Saçılması (Çift yokoluş ve Çift oluşumu. Moller Saçılması (Coulomb Saçılması) OMÜ_FEN

3-D. İzometrik snap/grid ayarı. İzometrik çizim. İzometrik çizim. Geometrik Modeller. 3-D ye başlangıç. İzometrik çemberler. İzometrik ölçülendirme

Fizik Bölümü Öğretim Planı

1 BEÜ./ÖĞR.İŞL. FEN-EDEBİYAT FAKÜLTESİ FİZİK BÖLÜMÜ BÖLÜM KODU : 307 (TÜRKÇE PROGRAMI) HAZIRLIK SINIFI 01.Yarıyıl Dersleri

1 BEÜ./ÖĞR.İŞL FEN-EDEBİYAT FAKÜLTESİ FİZİK BÖLÜMÜ BÖLÜM KODU : 307 (TÜRKÇE PROGRAMI) HAZIRLIK SINIFI 01.

1 PROGRAMLAMAYA GİRİŞ

Bugün Evreni oluşturan tüm enerji toplu iğne ucu büyüklüğünden LHC. Zaman, uzay ve madde Büyük Patlama sırasında ortaya çıktı.

BİL-142 Bilgisayar Programlama II

WEEK 11 CME323 NUMERIC ANALYSIS. Lect. Yasin ORTAKCI.

Yüz Tanımaya Dayalı Uygulamalar. (Özet)

CALYPSO. İlkay TÜRK ÇAKIR Türkiye Atom Enerjisi Kurumu. Sarayköy Nükleer Araştırma ve Eğitim Merkezi V. UPHDYO

Yazılım Kodlama ve İ simlendirme Standartları v1.0

STANDART MODEL VE ÖTESİ. : Özge Biltekin

Command: zoom [All/Center/Dynamic/Extents/Previous/Scale/Window] <real time>: a

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET

Parçacık Fiziği Söyleşisi

Öğrencilere bilgisayar destekli titreşim analizi yeteğinin kazandırılması

Ders Kodu Ders Adı Grup Gün Ders Saatleri Başlangıç Ders Saati Bitiş Ders No Sınıf 1 ADL102 HUKUK USULÜ BİLGİSİ GR01 Perşembe

SİSTEM SİMÜLASYONU BENZETIM 1 SİMÜLASYON MODEL TÜRLERİ 1. STATİK VEYA DİNAMİK. Simülasyon Modelleri

NESNEYE YÖNELİK PROGRAMLAMA

Üç Boyutlu Çerçeve Yapıların Statik Analizi için Geliştirilen Bir Bilgisayar Programı: YapAn05

Higgs ve Higgs Buluşu. Sezen Sekmen CERN Türk Öğretmenler Çalıştayı Ocak 2015

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

SPECT/BT MAYIS 2015 XV ULUSAL MEDİKAL FİZİK KONGRESİ TRABZON

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

SBR331 Egzersiz Biyomekaniği

İçindekiler: CERN Globe Binası ve Micro Cosmos Müzesi

Maddenin Yapısı ve Higgs Bozonu

Mezon Molekülleri ve X(3872)

NÜKLEER REAKSİYONLAR II

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Üst Düzey Programlama

Transkript:

GEANT4: GiRiŞ ve ÖRNEKLER Ercan Piliçer - Uludağ Üniversitesi

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ü

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

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ı exit Abort

Terminoloji

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

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

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 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) (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 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"; (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ı

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

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)

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 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 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 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

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 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)

Geometri (ROOT) ATLAS

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 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

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);

Ü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

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

İ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()

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

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

Araçlar (Geometri)

Araçlar (MOMO)

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

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

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

Geant4 Collaboration PPARC Lebedev 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,..)

Uygulama Geant4 yüklenmesi ve ortam değişkenleri Silikon detektöre gelen foton demet Sınıfların açıklaması Analizlerin yapılması

BACKUP SLIDES

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)

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)

EM Physics Category

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

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(); }

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; }

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) }

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()); } } }