slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
GEANT4 (Geometry And Tracking) Adnan Kılıç - Uludağ Üniversitesi PowerPoint Presentation
Download Presentation
GEANT4 (Geometry And Tracking) Adnan Kılıç - Uludağ Üniversitesi

Loading in 2 Seconds...

play fullscreen
1 / 51

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


  • 581 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

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


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
  1. GEANT4 (Geometry And Tracking) Adnan Kılıç - Uludağ Üniversitesi

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

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

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

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

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

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

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

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

  10. 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ı

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

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

  13. TrackID=2 ParentID=1 TrackID=1 ParentID=0 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. Uzaysal konum, enerji, hacmin ismi vb.

  14. 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 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ı Gluon / kuark / di-kuark Leptonlar (e, mu, tau...) Mezonlar (pi, K, D, B, psi .) Baryonlar (p,n...) İyonlar Diğerler Katogoriler

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

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

  17. Uygulama Aşamaları PreInit 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

  18. Birim Sistemi 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";

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

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

  21. MAIN FONKSİYONU ! Geant4main()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.

  22. Geometri G4VUserDetectorConstruction temel sınıfından kullanıcıya ait MyDetectorConstructionsı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)

  23. G4VSolid G4LogicalVolume G4VPhysicalVolume G4Material G4Box G4VisAttributes G4PVPlacement G4VSensitiveDetector G4Tubs G4PVParameterised 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üşü

  24. 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 G4Para(parallelepiped) G4Cons G4Trd G4Trap G4Sphere

  25. 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 G4SubtractionSolid G4UnionSolid G4IntersectionSolid

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

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

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

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

  30. Geometri (ROOT) 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

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

  32. Gamma particle process 1 process 2 Comptonscattering Pairproduction model 1 model 2 … cross section set 1 cross section set 2 cross section set 3 … 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

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

  34. 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 }; mainmetodunda Geant4 e bu fiziğin kayıt edilmesi runManager->SetUserInitialization(new MyPhysicsList);

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

  36. 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- particleGun->SetParticleEnergy(Ekin); ( ) G4double angle = (G4UniformRand()-0.5)*sigmaAngle; (G4UniformRand()- particleGun- particleGun->SetParticleMomentumDirection ( (G4ThreeVector(sin(angle),0.,cos(angle))); ( ( g ), , ( g ))); particleGun- 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

  37. 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/type /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/type /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/type /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; (G4UniformRand()- c = (G4UniformRand()-0.5)/0.5; (G4UniformRand()- 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

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

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

  40. BACKUP SLIDES

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

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

  43. EM Physics Category

  44. 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 Hadronic Physics Category … plus G4BinaryLightIonCascade, G4WilsonAbrasion, G4EmDissociation

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

  46. 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; … }

  47. ConstructProcess() void MyPhysicsList::ConstructProcess() { AddTransportation(); //MethodprovidedbyG4VUserPhysicsList //It assignes thetransportationprocesstoall // particles, with non-zero lifetime, defined //inConstructParticle() ConstructEM(); //Methodmaybedefinedbyuser(forconvenience) //Instantiateelectromagneticprocesseshere ConstructGeneral(); //Methodmaybedefinedbyuser(forconvenience) }