Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


... konulu sunumlar: "(Geometry And Tracking) Adnan Kılıç - Uludağ Üniversitesi"— Sunum transkripti:

1 (Geometry And Tracking) Adnan Kılıç - Uludağ Üniversitesi
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 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

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

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

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

14

15 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

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

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

18 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

19 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 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";

20 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

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

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

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

24 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

25 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

26 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

27 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

28 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

29 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

30 GDML ---> GraXML (Geometri ve Geometri Modelleyici
JAVA3D

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

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

33 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

34 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

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

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

37 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

38 G4GeneralParticleSource
Position distributions /gps/pos/… Point E.g. /gps/pos/type Point /gps/pos/type /gps/pos/centre /gps/pos/centre 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

39 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 cm /score/mesh/nBin /score/quantity/energyDeposit eDep /score/close /score/drawProjection boxMesh_1 eDep examples/extended/runAndEvent/RE03

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

41

42

43 BACKUP SLIDES

44 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; Analysis and Reconstruction (JAS3, LCIO) Detector Simulation (SLIC, LCDG4, Mokka) Event Generation (Herwig, GuineaPig)

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

46 EM Physics Category

47 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 MeV MeV GeV GeV GeV TeV … plus G4BinaryLightIonCascade, G4WilsonAbrasion, G4EmDissociation

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

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

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

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


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

Benzer bir sunumlar


Google Reklamları