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

Slides:



Advertisements
Benzer bir sunumlar
Gülsen Önengüt Çukurova Üniversitesi, Fizik Bölümü
Advertisements

CERN BİLİM GEZİSİ (15 ŞUBAT 2014).
BENZETİM Prof.Dr.Berna Dengiz 10. Ders.
PARÇACIK KİNEMATİĞİ-I
Medikal Lineer Hızlandırıcılarda Elektron Dozimetrisi
ERSİN ÇİÇEK*, PERVİN ARIKAN*
SINIFLAR Yılmaz Kılıçaslan.
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
LHC Çarpışmalarını Nasıl Görüyoruz?
Uludağ Üniversitesi Fizik Bölümü
1 2 HE in General …………… EM…………… EM Projects …………….. VenueVenue MEU KYK Info on EM in General Yüksek Lisans ve Doktora Programları İçin Hareketlilik.
GEANT4'ün HIZLANDIRICI FİZİĞİNE UYGULAMALARI
KnowTech3D 3 Nisan 2014.
RDA Resource Description and Access
TEKNOLOJİNİN BİLİMSEL İLKELERİ
AçIk ve Uzaktan Öğrenmede KalİTE Güvence
Öğr.Gör. Zafer Karagüler
Dr. Zeynep Yöntem Ekodenge
MONTE CARLO METODUNA GİRİŞ
CERN ve Büyük Hadron Çarpıştırıcısı
EGEE GRID UYGULAMALARI Dr. Burcu Akcan TÜBİTAK ULAKBİM Ankara, Şubat 2007.
SINIFLAR GİRİŞ Yılmaz Kılıçaslan.
Gün Kitabın Adı ve Yazarı Okuduğu sayfa sayısı
HIZLANDIRICI FİZİĞİNE GİRİŞ
Nükleer ve Parçacık Fiziği’nde Monte Carlo Uygulamaları Bahar Okulu
Member of Consortium This project is co-financed by the European Union and the Republic of Turkey Rolf Bracke International Geothermal Center Jeotermal.
Grid Hesaplaması Özgür Erbaş GRID Kullanıcı Eğitimi Boğaziçi Üniversitesi 2007, İstanbul.
Parçacık Fiziği Eğitim Semineri
Nesneye Yönelik Programlama
Member of Consortium This project is co-financed by the European Union and the Republic of Turkey Düşük Sıcaklık Güç Üretimi Section 14.
HALK KÜTÜPHANELERİ SOSYAL AĞLARDA HALK KÜTÜPHANELERİNE ERİŞİM.
Görelilik Teorisi 1905 yılında Einstein üç makale yayınladı.
CERN.
Parçacık-Olmayanların Fenomenolojisi K. O. Ozansoy Ankara Ankara Üniversitesi.
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Nesne.
Chapter 6: Using Arrays.
TAŞINIR KAYIT VE YÖNETİM SİSTEMİ Semineri Bayram KESER Mali Hizmetler Uzmanı 1 T.C MİLLÎ EĞİTİM BAKANLIĞI STRATEJİ GELİŞTİRME BAŞKANLIĞI.
Basit Bir Örnek π Sayısını Tahmin Karenin Alanı = 2r x 2r =4r2 Dairenin Alanı = π r2 r Dairenin Alanı Karenin Alanı = π r2 4r2 2r.
Filtrelemenin X-ışını Spektrumu Üzerindeki Etkileri ve Simülasyonu
This project is co-financed by the European Union and the Republic of Turkey REPUBLIC OF TURKEY MINISTRY OF SCIENCE, INDUSTRY AND TECHNOLOGY ORTAK İZLEME.
BLM619 Bilgisayar Ağları ve Uygulamaları
Rutherford Saçılması ve Simülasyonu
ATOM MODELLERİ.
YMT 222 SAYISAL ANALİZ (Bölüm 5)
Chapter 11: Exception Handling
Orçun Madran. Wikipedia Web 2.0 ve Sosyal Ağlar, İstanbul - 12 Aralık
LHeC*/QCD Explorer* : NASIL ve NİÇİN H. Aksakal, H. Aksakal, Katkıda bulunan : G. Ünel * Hadron electron Collider.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Amaçlar Bu derste öğrenilecekler: –Uygulamaları “method”
1.HAFTA 26 Ağustos 2009 ÇARŞAMBA 2.HAFTA 01 EYLÜL 2009 SALI 3.HAFTA 09 EYLÜL 2009 ÇARŞAMBA 4.HAFTA 15 EYLÜL 2009 SALI 5.HAFTA 23 EYLÜL 2009 ÇARŞAMBA 6.HAFTA.
Spin ve parite: Ders Çekirdek fizik I.
GİRİŞ DİNAMİK’İN TANIMI
AB Şubat 2002 Selçuk Üniversitesi1 IEEE/ACM Bilişim Ders Programı Önerisi ve Haliç Üniversitesi Deneyimi Doç. Dr. Atilla ELÇİ Bilgisayar Müh. Bölümü.
1 İki Kutuplu Doğrudan Dizili Ultra Geniş Bant İşaretlerin CM1-CM4 Kanal Modelleri Üzerindeki Başarımları Ergin YILMAZ, Ertan ÖZTÜRK Elektrik Elektronik.
ULUSAL VE ULUSLARARASI RADYASYON KORUMASI KURULUŞLARI Cumhur YÜCEL – RADYASYON GÜVENLİĞİ VE KORUNMA.
Fizik I.
Standart Model Basarisi (Z, W, gluon, top, charm tahminleri ve gozlemleri) Sorunlari Cozumler Cozumlerin ongordugu parcaciklari aramak.
RASTGELE SAYI ÜRETEÇLERİ İÇİN ZAMAN ANALİZİ(RNG).
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
(PAT Tutorial CERN July 2013) PAT (PHYSICS ANALYSIS TOOLKIT)
Atom Molekül Dersi (Kerem Cankoçak) Bu belgeler ders notları olarak değil, Atom Molekül Ders konularının bir kısmına yardımcı olacak materyeller olarak.
2 3 ‣ LHC Hızlandırıcılar DENEY 4 : Yüksek enerjilerde parçacıkları çarpıştırıyoruz. NEDEN?? yaklaşık 14 milyar yıl önce... Küçük hacimde, yüksek enerji!
Mahmut ÜSTÜN Suna FIRAT Haris DAPO İsmail BOZTOSUN
FIZ 121 FİZİK 1.
Department of Mechanical Engineering
Erkin Çilden Haluk Canberi
STANDART MODEL ÖTESİ YENİ FİZİK
HIGGS HIGGS FİZİK DÜNYASINI SARSAN KEŞİF Hazırlayan: Ayten İLHAN
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

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

GEANT4 TARİHSEL GELİŞİM İlk : CERN and KEK 1993 Fortran tabanlı Geant3'e modern hesaplama tekniğinin nasıl uygulanabilir? 1994 Sonbahar - resmi öneri – RD44 Nesne Yönelimli teknoloji-Cern Det. Araş. Geliş. Komitesi Avrupa, Japonya, Kanada and Birleşmiş milletlerde yüksek enerji fiziği deneylerindeki enstitüler ve üniversitelerden fizik programları ve yazılım mühendislerinden oluşan çok sayıda katılımcı Amaç, nükleer, hızlandırıcı, uzay and medikal fizik topluluğunun yararlanabileceği bir program

Her yıl 2 veya 3 sürüm sağlanmaktadır. Aralık ’94 – Proje başlama Nisan ’97 - ilk alpha Haziran ’98 - ilk beta Aralık ’98 - ilk Geant4 halka açık sürüm …........................................ …....................................... 17 Aralık ’04 - Geant4 versiyon 7.0 30 Haziran ’05 - Geant4 versiyon 7.1 16 Aralık ’05 - Geant4 versiyon 8.0 10 Şubat ’06 - Geant4 8.0-patch01 30 Haziran ’06 - Geant4 version 8.1 27 Temmuz ’06 - Geant4 8.1-patch01 Her yıl 2 veya 3 sürüm sağlanmaktadır. 17 Aralık 2010 Geant4 versiyon 9.4 Mevcut versiyon 2 Aralık 2011 Geant versiyon 9.5 27 Mart 2012 Geant4 versiyon 9.5-patch-01

Collaborators also from non-member institutions, including HARP PPARC Univ. Barcelona Lebedev Collaborators also from non-member institutions, including Budker Inst. of Physics IHEP Protvino MEPHI Moscow Pittsburg University Helsinki Inst. Ph.

Uygulama Alanları (HEP) BaBar Use of Geant4 in the Babar Detector Simulation ATLAS (LHC) Use of Geant4 in the ATLAS Detector Simulation CMS and OSCAR (LHC) Use of Geant4 in the CMS experiment GAUSS (LHCb) 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ı (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

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

NEDEN BENZETİŞİME İHTİYAÇ DUYULUR ? Nükleer ve yüksek enerji fiziğinde benzetişime sıklıkla aşağıdaki nedenlerle gerek duyurlur: Deneysel kurulumun belirlenmesi Deneyde doğru sonuçlar alabilmek için detektör/zırhlama konumlarını optimize etmek Beklenen background ve radyasyon seviyelerini incelemek Analizde veya benzetişimde bir hata olup olmadığından emin olmak için benzetişim sonuçlarını deneyle karşılaştırmak Deneysel sonuçları benzetişim sonuçlarıyla ve teoriden gelen girdilerle düzeltmek

Bir fizik deneyinin benzetişimini yapabilmek için : Demet Hedef Detektör E&M alanlar Fizik Etkileşmeleri (hedef ve detektörde) ve tesir kesitleri

GEANT4'TE NELERE İHTİYAÇ DUYULUR ? Geant4 programında kullanıcıdan istenen minimum listesi: Malzeme ve Geometrileri tanımlamak (hedef ve detektör.....) E&M alanları eklemek (isteğe bağlı) Parçacıkları ve fizik etkileşmelerini tanımlamak Birincil olayın nasıl üretileceğine karar vermek G4VUserDetectorConstruction Sınıfı G4VUserPhysicsList Sınıfı G4VUserPrimaryGeneratorAction Sınıfı

GEANT4 BİZİM İÇİN NE YAPAR ? Parçacık, world hacmin dışına çıkıncaya kadar kinetik enerjisi sıfıra düşünceye kadar bir etkileşme veya bozunmayla yok oluncaya kadar malzeme içerisinde adım adım taşınır. Kullanıcı benzetişim sonuçlarını almak için taşınım sürecine erişebilir: taşınımın başında veya sonunda herbir taşınıma ait adımın (step) sonunda parçacık detektörün duyar hacmi içerisine girdiği zaman

GEANT4'ÜN DEZAVANTAJLARI GEANT4'ÜN AVANTAJLARI Detaylı Geometri tanımlama Doğru manyetik / elektrik alan tanımlama Malzeme tanımlama Fizik süreçlerinin çeşitliliği Hızlı ve doğru görüntüleme Analiz programları Geliştirilebilir olması OPEN SOURCE GEANT4'ÜN DEZAVANTAJLARI Eğer yeniyseniz C++ ve Unix çevresini öğrenme Eğer bir C veya C++ programcısıysanız bu bir avantaj Diğer Monte Carlo Kodları kadar kompleks

GEANT4 Dili Geant4'te sıklıkla kullanılan anahtar kelimeler: Run, Event, Track, Step.............. Geant4'te Run: Aynı detektör ve fiziksel koşulları paylaşan olaylar topluluğudur. Run öncesinde, geometride kullanılan malzemeye ve tanımlanan cut değerlerine göre tesir kesiti tabloları hesaplanır. Event: Geant4'te benzetişimin en temel birimidir. Track: Bir parçacığın fotoğrafıdır. Step: Etkileşme oluncaya kadar alınan yol. TrackID=1 ParentID=0 TrackID=2 ParentID=1 Uzaysal konum, enerji, hacmin ismi vb.

Geant4' de Parçacık Geant4' de parçacık 3 sınıf düzeyi ile temsil edilir G4Track Konumu, geometrik bilgisi, vb Bu takip edilecek parçacığın temsil edildiği sınıftır 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 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ı Gluon / kuark / di-kuark Leptonlar (e, mu, tau...) Mezonlar (pi, K, D, B, psi .) Baryonlar (p,n...) İyonlar Diğerler Katogoriler

Fizik Listesi : Cut Cut değeri, bir parçacığın track edilme boyutunu belirler. Cut bir uzunluk olarak tanımlanır. Malzemeye dayanarak enerjiye dönüştürülür.

Geant4 Çekirdeği Geant4 17 kategoriden oluşur Herbir katagori birbirinden bağımsız çalışma grupları tarafından geliştirilir Katagoriler arasındaki arayüzler, global yapısı tarafından sağlanır.

Uygulama Aşamaları PreInit Idle Run (event loop) GeomClosed Quit initialize Geant4 6 uygulama aşamasına sahiptir G4State_PreInit Materyal, Geometri, Parçacık ve/veya Fizik süreçlerin başlatılması/tanımlanması gerekir G4State_Idle Simulasyonu başlatmaya hazır G4State_GeomClosed 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ı Idle beamOn Run (event loop) exit GeomClosed Quit EventProc Abort

Birim Sistemi CLHEP (A Class Library for High Energy Physics) millimeter (mm) nanosecond (ns) Mega electron Volt (MeV) positron charge (eplus) degree Kelvin (kelvin) the amount of substance (mole) luminous intensity (candela) radian (radian) steradian (steradian) CLHEP (A Class Library for High Energy Physics) $CLHEP_BASE_DIR/include/CLHEP/Units/SystemOfUnits.h 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";

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 Mavi renkteki sınıflar zorunlu sınıflardır

İ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*) Histogramların tanımlanması void EndOfRunAction(const G4Run*) Histogramların kayıt edilmesi Çalıştırma sonuçlarının analizi G4UserEventAction void BeginOfEventAction(const G4Event*) Bir olayın seçilmesi Olay ile ilgili değişkenlerin sıfırlanması 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*) Bir adım için gerekli bilgilerin alınması G4UserStackingAction void PrepareNewEvent() (Öncelik kontrolü resetlenir) void ClassifyNewTrack(const G4Track*) (Urgent, Waiting, PostponeToNextEvent, Kill) void NewStage()

MAIN FONKSİYONU ! Geant4 main() sağlamaz! main()'de G4RunManager'ı yapılandırılmalı -----------------------------------> Geant4'teki tek yönetici sınıftır. Zorunlu sınıflar RunManager'a atanmalı VisManager, UI kısımları, isteğe bağlı kullanıcı eylem sınıfları tanımlanabilir.

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 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); G4LogicalVolume* pBoxLog = new G4LogicalVolume( pBoxSolid, pBoxMaterial, “aBoxLog”, 0, 0, 0); G4VPhysicalVolume* aBoxPhys = new G4PVPlacement( pRotation, G4ThreeVector(posX, posY, posZ), pBoxLog, “aBoxPhys”, pMotherLog, 0, copyNo); Üç kavram vardır; G4VSolid şekli, boyutları G4LogicalVolume materyal, duyarlılık, kullanıcı limitleri Magnetik alan, vb G4VPhysicalVolume konumu, dönüşü G4Box G4Tubs G4VSolid G4VPhysicalVolume G4Material G4VSensitiveDetector G4PVPlacement G4PVParameterised G4VisAttributes G4LogicalVolume

Geometri (Katı Hacimler – Solid Volumes) CSG (Constructed Solid Geometries) G4Tubs(const G4String &pname, // name G4double pRmin, // inner radius G4double pRmax, // outer radius G4double pDz, // Z half length G4double pSphi, // starting Phi G4double pDphi); // segment angle G4Box(const G4String &pname, // name G4double half_x, // X half size G4double half_y, // Y half size G4double half_z); // Z half size G4Cons G4Para (parallelepiped) G4Trd G4Trap 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. 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 placement repeated

Geometri (GDML) Generic and Geometric Model <?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> <materials> <element name="Nitrogen" formula="N" Z="7."> <atom value="14.01"/> </element> <material formula=" " name="Air" > <D value="1.290" unit="mg/cm3"/> <fraction n="0.7" ref="Nitrogen" /> <fraction n="0.3" ref="Oxygen" /> </material> </materials> <solids> <box lunit="mm" name="Tracker" x="50" y="50" z="50"/> </solids> <structure> <volume name="World" > <materialref ref="Air" /> <solidref ref="world" /> <physvol> <volumeref ref="Tracker" /> <positionref ref="TrkrinWorldpos"/> <rotationref ref="TrkinWorldrot"/> </physvol> </volume> </structure> <setup name="Default" version="1.0" > <world ref="World" /> </setup> </gdml> Geometry Desciption Markup Language Build-in Geant4 export G4LIB_BUILD_GDML=1 $G4INSTALL/source/persistency/gdml/schema/ gdml_core.xsd gdml_define.xsd gdml_extensions.xsd gdml_materials.xsd gdml_parameterised.xsd gdml_replicas.xsd gdml_solids.xsd gdml.xsd 5 bloktan oluşur Define Material Solids Structure Setup

GDML ---> GraXML (Geometri ve Geometri Modelleyici JAVA3D http://hrivnac.home.cern.ch/hrivnac/Activities/Packages/GraXML/

Geometri (ROOT) C++ dili kullanılır. ATLAS TgeoManager ROOT geometri paketi, bir detektör geometrisini oluşturmak, parçacık izleme ve görüntülemek için tasarlanmıştır. C++ dili kullanılır. http://root.cern.ch/root/html/TGeoManager.html ATLAS

GÖRÜNTÜLEME OpenGL OpenInventor HepRepFile HepRepXML DAWN VRML RayTracer ASCIITree GAGTree XMLTree

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 Compton scattering Pair production Gamma process 1 process 2 particle 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);

Birincil Parçacıkların Üretilmesi Geant4 G4VPrimaryGenerator aracılığıyla iki birincil parçacık üreteci sağlayabilir: G4ParticleGun Birincil parçacığı, belirli bir zamanda, belirli bir noktadan, belirli enerjide bir doğrultuya fırlatmak mümkündür. G4GeneralParticleSource G4VPrimaryGenerator'ın ileri düzeydeki bir uygulamasıdır. Konum, açısal dağılım ve enerji dağılımları İstenilen ağırlıklı çok sayıda kaynak tanımlama.

GeneratePrimaries(G4Event* anEvent) G4ParticleGun void T01PrimaryGeneratorAction:: GeneratePrimaries(G4Event* anEvent) { G4ParticleDefinition* particle; G4int i = (int)(5.*G4UniformRand()); switch(i) { case 0: particle = positron; break; ... } particleGun- particleGun->SetParticleDefinition(particle); G4double pp = momentum+(G4UniformRand()- momentum+(G4UniformRand()-0.5)*sigmaMomentum; G4double mass = particle->GetPDGMass(); particle- G4double Ekin = sqrt(pp*pp+mass*mass)-mass; sqrt(pp*pp+mass*mass)- particleGun->SetParticleEnergy(Ekin); ( ) G4double angle = (G4UniformRand()-0.5)*sigmaAngle; (G4UniformRand()- particleGun->SetParticleMomentumDirection ( (G4ThreeVector(sin(angle),0.,cos(angle))); ( ( g ), , ( g ))); particleGun->GeneratePrimaryVertex(anEvent); } Başlangıç değerlerini kurmak için komutlar: /gun/List List available particles /gun/particle Set particle to be generated /gun/direction Set momentum direction /gun/energy Set kinetic energygy /gun/momentum Set momentum /gun/momentumAmp Set absolute value of momentum /gun/position Set starting position of the particle /gun/time Set initial time of the particle /gun/polarization Set polarization /gun/number Set number of particles to be generated /gun/ion Z A Q

G4GeneralParticleSource Position distributions /gps/pos/… Point E.g. /gps/pos/type Point /gps/pos/type /gps/pos/centre /gps/pos/centre 0. 0. 0. cm Beam E.g. /gps/pos/type Beam /gps/pos/shape Circle /gps/pos/radius 1. mm gp p /gps/pos/sigma_r 2. mm Plane Shape: Circle, Annulus, Ellipsoid, Square or Rectangle E.g. /gps/pos/type Plane /gps/pos/shape Rectangle /gps/pos/halfx /gps/pos/halfx 50 cm /gps/pos/halfy /gps/pos/halfy 70 cm Surface or Volume Shape: Sphere, Ellipsoid, Cylinder or Para Surface: zenith automatically oriented as normal to surface at point E.g. /gps/pos/type Surface /gps/pos/shape Sphere /gps/pos/radius 1. m G4double a,b,c; G4double n; do { a = (G4UniformRand()-0.5)/0.5; (G4UniformRand()- b = (G4UniformRand()-0.5)/0.5; c = (G4UniformRand()-0.5)/0.5; n = a*a+b*b+c*c; } while (n > 1 || n == 0.0); n = std::sqrt(n); a /= n; b /= n; c /= n; G4ThreeVector direction(a,b,c); particleGun- particleGun->SetParticleMomentumDirection(direction); Equivalent GPS (script) /gps/ang/type iso

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 G4PSEnergyDeposit.cc G4PSNofSecondary.cc G4PSTrackLength.cc G4PSDoseDeposit3D.cc G4PSDoseDeposit.cc G4PSNofCollision.cc G4PSMinKinEAtGeneration.cc /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 examples/extended/runAndEvent/RE03

Ö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,..)

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 (JAS3, LCIO) Detector Simulation (SLIC, LCDG4, Mokka) Event Generation (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 Pre- compound FTF String (up to 20 TeV) Fermi breakup Multifragment QG String (up to 100 TeV) Photon Evap 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(); }

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