Adnan KILIÇ - Hızlandırıcı Tasarımı / Benzetimi – GEANT4

Transkript

Adnan KILIÇ - Hızlandırıcı Tasarımı / Benzetimi – GEANT4
(Geometry And Tracking)
http://geant4.cern.ch
Adnan Kılıç
Uludağ Üniversitesi
1
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
TARİHTE GEANT4 -­‐1 Ø Geant3’e modern hesaplama tekniği nasıl uygulanabilir ( CERN ve KEK (1993) )? Ø RD44 Nesne Yönelimli teknoloji proje önerisi (1994)-­‐Cern Det. Araş. Geliş. Projesi Proje, Avrupa, Japonya, Kanada and Birleşmiş milletlerde yüksek enerji fiziği deneylerine kaTlan, çok sayıda ensVtü ve üniversitelerden fizikçiler ve yazılım mühendislerinden oluşan çok sayıda kaTlımcıyla ortaya çıkT. Ø Amaç, nükleer fizik, hızlandırıcı fiziği, uzay and medikal fizik topluluğunun yararlanabileceği bir program gelişVrmekV. 2
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
TARİHTE GEANT4 -­‐2 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 17 Aralık 2010 Geant4 versiyon 9.4 2 Aralık 2011 Geant versiyon 9.5 –  27 Mart 2012 Geant4 versiyon 9.5-­‐patch-­‐01 Her yıl ortalama 2 veya 3 versiyon sağlanmaktadır. En son versiyon: 28 Haziran 2013-­‐Geant4 10.0-­‐beta 10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
3
DÜNYADA GEANT4 HARP
PPARC
Univ. Barcelona
Lebedev
Helsinki Inst. Ph.
Collaborators also from
non-member institutions,
including
Budker Inst. of Physics
IHEP Protvino
MEPHI Moscow
Pittsburg University
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
4
Uygulama Alanları (HEP) BaBar Use of Geant4 in the Babar Detector SimulaVon ATLAS (LHC) Use of Geant4 in the ATLAS Detector SimulaVon CMS and OSCAR (LHC) Use of Geant4 in the CMS experiment GAUSS (LHCb) Use of Geant4 in the GAUSS simulaVon program of the LHCb experiment ALICE (LHC) Use of Geant4 in the ALICE Geant4 SimulaVon Fermilab Use of Geant4 at Fermilab for different applicaVons ILC Use of Geant4 for the InternaVonal Linear Collider project BDSIM
Toolkit based on Geant4 for accelerator beamline simulaVon 10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
5
Uygulama Alanları (
Medikal) Harald Paganetti)
GAMOS Tıbba Yönelik Benzetişimler için Geant4-tabanlı program
(PET, Dosimetry, Radiotherapy, Hadrotherapy) .
GATE (PET ve SPECT, CT ve Radiotherapy için Geant4-­‐tabanlı program) G4EMU
Geant4 European Medical User Organization
(Hadrotherapy demet hamnın benzeVşimi için Geant4-­‐tabanlı program) G4MED (Japonya)
Geant4 Medical Physics in Japan
G4NAMU Geant4 North American Medical User Organization
(Beam Therapy, demet ham tasarımı, Dozimetri, Radyasyondan Korunma, Detektör tasarımı vb.) Geant4 Medical North America
J. Perl, D.
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
6
Uygulama Alanları (Space & RadiaXon) European Space Agency (ESA) Ø  Geant4 SimulaVon of XMM-­‐Newton RadiaVon Environment (X-­‐Ray Mirrors) Ø  Space Environment InformaVon System (SPENVIS) (a web-­‐based interface for assessing the space environment and its effects on spacecraq systems and crews.) v  MULASSIS integrated SPENVIS SYSTEM v  Sector Shielding Analysis Tool (SSAT) integrated SPENVIS SYSTEM
v  Geant4-­‐based Microdosimetry Analysis Tool (GEMAT) Ø  Geant4 SimulaVon of Dose EsVmaVon by SimulaVon of the ISS RadiaVon Environment (DESIRE) QineXQ Ø  Space EnergeVc ParVcle Transport and InteracVon Modeling studies for ESA Science Studies (SEPTIMESS) Ø  RadiaVon Effects and Analysis Tools (REAT): MUlV-­‐LAyered Shielding SimulaVon Soqware (MULASSIS) and Geant4 Microdosimetry Analysis Tool (GEMAT) Ø  General ParVcle Source (GPS, G4 class name: G4GeneralParVcleSource) 7
Kompleks Geometriler etkin şekilde tanımlanabilir ManyeVk / elektrik alan tanımlama Malzeme tanımlama Uygulama alanına göre çeşitli fizik süreçleri tanımlanabilir Hızlı ve hassas görüntüleme Analiz programları GelişVrilebilir olması OPEN SOURCE (Ücretsiz olarak indirilebilir)
GEANT4'ÜN AVANTAJLARI h`p://geant4.cern.ch 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 8
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
GEANT4’TE Ø 
Parçacık, v 
World hacmin dışına çıkıncaya kadar v 
kineVk enerjisi sıvra düşünceye kadar bir etkileşme veya bozunmayla yok oluncaya kadar malzeme içerisinde adım adım taşınır. v 
Ø 
Kullanıcı benzeVşim sonuçlarını almak için taşınım sürecine erişebilir: v 
başında veya sonunda v 
herbir taşınıma ait adımın (step) sonunda v 
parçacık detektörün duyar hacmi içerisine girdiği zaman 9
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
GEANT4 DİLİ Geant4'te sıklıkla kullanılan kelimeler: Run, Event, Track, Step..............
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 kesiV tabloları hesaplanır. Event: Geant4'te benzeVşimin en temel birimidir. Track: Bir parçacığın fotoğravdır. Step: Etkileşme oluncaya kadar alınan yol. TrackID=2
ParentID=1
TrackID=1
ParentID=0
Uzaysal konum, enerji, hacmin ismi vb. 10
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
GEANT4’ Te PARÇACIK G4Track Geant4' de parçacık 3 sınıf düzeyi ile temsil edilir Konumu, geometrik bilgisi, vb G4DynamicParXcle Parçacığın momentumu, enerjisi, spini gibi Dinamik fiziksel özellikleri hakkında bilgileri sağlar Herbir G4Track nesnesi kendine ait ve tek G4DynamicParVcle nesnesine sahipVr G4ParXcleDefiniXon Parçacığın yükü, kütlesi, yaşam süresi, bozunma kanalları gibi StaVk özellikleri hakkında bilgileri sağlar Parçacık özelliklerinin listesi
l  PDG kodu
l  Kütlesi
l  Elektrik yükü
l  Spin, izospin, parite
l  Magnetik moment
l  Kuark içerikleri
l  Yaşam süresi, bozunma kanalları
Katogoriler
Gluon / kuark / di-kuark
Leptonlar (e, mu, tau...)
Mezonlar (pi, K, D, B, psi .)
Baryonlar (p,n...)
İyonlar
Diğerler
11
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Uygulama Aşamaları PreInit
initialize
Ø  G4State_PreInit
fizik süreçlerin başlaTlması/tanımlanması Ø  G4State_Idle
Simulasyonu başlatmaya hazır Run
(event
loop)
Materyal, Geometri, Parçacık ve/veya Idle
beamOn
exit
GeomClosed
Ø  G4State_GeomClosed
Quit
EventProc
Geometri opVmize edilir ve bir olayı simule etmek için hazırdır Ø  G4State_EventProc
Bir olay yürütülür Abort
Ø  G4State_Quit
(Normal) sonlandırma Ø  G4State_Abort
Kural dışı bir durum oluşması ve programın sonlandırılması 12
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
GEANT4’TE Parçacık Takibi 13
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Cut -­‐1 Ø 
Ø 
Ø 
Ø 
Cut, bir parçacığın takip edilme menzilini belirler. Cut, uzunluk olarak tanımlanır ve malzemeye dayanarak enerjiye dönüştürülür. Cut’lar sadece gamma, elektron ve pozitronlar için tanımlanabilir. Birincil parçacıklar ikincil elektron veya gamma üreterek enerji kaybederler. Eğer birincil parçacık, ikincil üretmek (cut değeri kadar yol alabilecek) için gerekli enerjiye sahip değilse: v 
v 
Ø 
Ø 
Ø 
Kesikli enerji kaybı sona erer ( arTk ikincil üreVlmez) Parçacık sürekli enerji kaybıyla enerji kaybederek sıvr enerjiye kadar takip edilir. Geant4 varsayılan cut değerini 1 mm olarak önerir. Kullanıcının en iyi değeri belirlemesi gerekir. Bu detektörün duyar elemanlarının boyutuna ve bilgisayarınızın CPU zamanına bağlı olacakTr. Fizik listesinde SetCuts() fonksiyonuyla kurulur. 10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
14
Cut ""#$%&'()*%+",-$./-%0&"1/2"3+.$45"6')
-­‐2 <=="9.:"A"*+
BC$D#E"/?@A0*+4
(?0%$*@.).$"
6')"7"8"9.:
6')"7";<=">.:
"#$%&'()*%+"$?+4."7!2<"@@
!
15
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Main Programı Ø Geant4 main() sağlamaz. Ø Kullanıcının main() içerisinde v  G4RunManager (veya kendi türeVlmiş sınıvnı) yapılandırması v Zorunlu kullanıcı sınıflarını G4RunManager’a bildirilmesi gerekir: G4VUserDetectorConstruc/on G4VUserPhysicsList G4VUserPrimaryGeneratorAc/on Ø Kullanıcı kendi main()’I içerisinde, v VisManager, (G)UI seanslarını, seçmeli kullanıcı eylem sınıflarını, kendi AnalysisManager’ını tanımlamalıdır. 16
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Kullanıcı Sınıfları Başlangıç sınıfları
Eylem Sınıfları
Başlangıçta çağırılırlar
•  G4VUserDetectorConstruc/on •  G4VUserPhysicsList Çalışma çevrimi süresince çağırılırlar
•  G4VUserPrimaryGeneratorAc/on •  G4UserRunAcVon •  G4UserEventAcVon •  G4UserStackingAcVon •  G4UserTrackingAcVon •  G4UserSteppingAcVon Zorunlu Sınıflar:
" G4VUserDetectorConstruction
Deneysel kurulum tanımlanır
" G4VUserPhysicsList
Kullanılmak istenen fizik seçilir
" G4VUserPrimaryGeneratorAction
Birincil olaylar üretilir.
17
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
İsteğe Bağlı Kullanıcı Sınıflar 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()
18
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Bir main() Örneği (batch program): #include “G4RunManager.hh” // Geant4’ten run manager’ın deklerasyonu #include “G4UImanager.hh” // Geant4’ten User interface manager’ın deklerasyonu #include “MyDetectorConstrucXon.hh” //Kullanıcıdan; detektör geometrisinin tanımı #include “MyPhysicsList.hh” // Kullanıcıdan, fizik süreçleri listesinin eklenmesi #include “MyPrimaryGenerator.hh” // Kullanıcıdan, event kinemaVğinin eklenmesi int main () { G4RunManager* runManager=new G4RunManager; // run manager runManager-­‐>SetUserIniValizaVon(new MyDetectorConstrucVon); // geometri runManager-­‐>SetUserIniValizaVon(new MyPhysicsList);
// fizik runManager-­‐>SetUserAcVon(new MyPrimaryGenerator); // kinemaVk runManager-­‐>IniValize();
// run başlatma G4UImanager* UI=G4UImanager::GetUIpointer();
UI-­‐>ApplyCommand(“run/verbose 1”); int numberOfEvent=3; } // “print” düzeyi // run yapılacak event’ların sayısı runManager-­‐>BeamOn(numberOfEvent);
delete runManager;
// run sonu // UI’ye işaretçi // event’ları üreVlmesi return 0; 10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
19
Bir makro dosyalı batch mod için main() -­‐1 int main (int argc, char** argv) { // varsayılan run manager’ı yapılandır G4RunManager* runManager = new G4RunManager; runManager-­‐>SetUserIniValizaVon(new MyDetectorConstrucVon); runManager-­‐>SetUserIniValizaVon(new MyPhysicsList) runManager-­‐>SetUserAcVon(new MyPrimaryGeneratorAcVon); runManager-­‐>IniValize(); //makro dosyayı oku G4UIManager* UI = G4UImanager::GetUIpointer(); G4String command = “/control/execute “; G4String fileName = argv[1]; UI-­‐>ApplyCommand(command+fileName); delete runManager; return 0; } 20
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Bir makro dosyalı batch mod için main() -­‐2 Ø  İlk olarak Geant4 programını çalışTrılmalı, Konsolda yalnızca main() fonksiyonunun tanımlandığı source dosyanın ismi ve yanına Komutların yazılı olduğu makronun ismi yazılarak >detector run.macro Burada detector executable nesnenin adıdır, run.macro bir komut dosyasıdır: # set verbose level for this run /run/verbose 2 /event/verbose 0 /tracking/verbose 2 # 100 electrons of 1GeV Energy /gun/parVcle e-­‐ /gun/energy 1 GeV /run/beamOn 100 21
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
İnterakXf mod için main() -­‐1 int main(int argc, char** argv) { G4RunManager* runManager = new G4RunManager; runManager-­‐>SetUserIniValizaVon(new MyDetectorConstrucVon); runManager-­‐>SetUserIniValizaVon(new MyPhysicsList); G4VisManager* visManager = new MyVisManager; visManager-­‐>iniValize(); runManager-­‐>SetUserAcVon(new MyPrimaryGeneratorAcVon); runManager-­‐>IniValize(); G4UIsession* session = new G4UIterminal; session-­‐>SessionStart(); delete session; delete visManager; delete runManager; return 0; } 22
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
İnterakXf mod için main() -­‐2 Ø  İlk olarak Geant4 programını çalışTrılmalı, Konsolda yalnızca main() fonksiyonunun tanımlandığı source dosyanın ismi yazılarak >detector Burada detector executable nesnenin adıdır Ø  IniValizaVon’dan sonra konsol’da Idle> Ø  Bu aşamada interakVf kısım başlamış durumdadır: Idle> /vis~/create_view/new_graphics_system DAWN Idle> /vis/draw/current Idle> /run/verbose 1 Idle> /event/verbose 1 Idle> /tracking/verbose 1 Idle> /gun/parVcle mu+ Idle> /gun/energy 10 GeV Idle> /run/beamOn 1 Idle> /vis/show/view Vb……. 23
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Materyal Tanımlama -­‐1 Basit materyal tanımlama #include “G4Material.hh” … G4double density=1.390*g/cm3; G4double a=39.95*g/mole; G4double z=18.; G4String name; … G4Material* LAr = new G4Material(name=“Liquid Argon”, z, a, density); #include “G4Element.hh” #include “G4Material.hh” ... G4double a=1.01*g/mole; G4double z; G4String name,symbol; Molekül G4Element* H = new G4Element(name=“Hydrogen”, symbol=“H”,z=1.,a); tanımlama a=16.0*g/mole; G4Element* O = new G4Element(name=“Oxygen”, symbol=“O”,z=8.,a); G4double density=1.000*g/cm3; G4int ncomponent,natoms; G4Material* H2O = new G4Material(name=“Water”,density,ncomponents=2); H2O-­‐>AddElement(H,natoms=2); H2O-­‐>AddElement(O,natoms=1); 10-15 Eylül 2013 TFD IX. Uluslararası
Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
24
Materyal Tanımlama -­‐2 Bir materyal ve element karışımını tanımlama #include “G4Element.hh” #include “G4Material.hh” ... G4double a,z,fracVonmass,density; G4String name,symbol; G4int ncomponents,natoms; G4Element* Ar = new G4Element(name=“Argon”, symbol=“Ar”,z=18.,a=39.95*g/mole); G4Element* C = new G4Element(name=“Carbon”, symbol=“C”, z=6., a=12.00*g/mole); G4Element* O = new G4Element(name=“Oxygen”, symbol=“O”,z=8.,a=16.00*g/mole); G4Material* CO2 = new G4Material(name=“CO2”,density=1.977*mg/cm3,ncomponents=2); CO2-­‐>AddElement(C,natoms=1); CO2-­‐>AddElement(O,natoms=2); G4Material* ArCO2=new G4Material(name=“ArCO2”,density=1.8*mg/
cm3,ncomponents=2); ArCO2-­‐> AddElement(Ar,fracVonmass=93*percent); ArCO2-­‐> AddMaterial(CO2,fracVonmass=7*percent); 25
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Materyal Tanımlama -­‐3 NIST Database #include "globals.hh" #include "G4Material.hh" #include "G4NistManager.hh" int main() { G4NistManager* man = G4NistManager::Instance(); man-­‐>SetVerbose(1); // elementleri tanımlama G4Element* C = man-­‐>FindOrBuildElement("C"); G4Element* Pb = man-­‐>FindOrBuildMaterial("Pb"); // saf NIST materyallerini tanımlama G4Material* Al = man-­‐>FindOrBuildMaterial("G4_Al"); G4Material* Cu = man-­‐>FindOrBuildMaterial("G4_Cu"); // NIST materyallerini tanımlama G4Material* H2O = man-­‐>FindOrBuildMaterial("G4_WATER"); G4Material* Sci = man-­‐>FindOrBuildMaterial("G4_PLASTIC_SC_VINYLTOLUENE"); G4Material* SiO2 = man-­‐>FindOrBuildMaterial("G4_SILICON_DIOXIDE"); G4Material* Air = man-­‐>FindOrBuildMaterial("G4_AIR"); 26
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri -­‐1 Ø Kullanıcı temel G4VUserDetectorConstrucVon sınıvndan kendi sınıvnı türetmelidir. Ø Construct() fonksiyonu kur. v İhVyaç duyulan tüm materyalleri tanımlama v Geometriyi tanımlamak için gerekli biçimleri/kaTları tanımlama v Detektör geometrisinin hacimlerini yapılandırma v Duyar detektörleri tanımlama v  Elektrik/manyaVk alanları detektör bölgelerine atama v Detektör elemanları için görüntüleme özelliklerini tanımlama 27
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri -­‐2 Ø Geant4’te bir detektör geometrisi çok sayıda hacimden oluşur. Ø En büyük hacim World hacmidir. Detektör geometrisindeki diğer tüm hacimleri içermesi gerekir. Ø Herbir hacim, şekilleri ve fiziksel karakterisVkleriyle üreVlir ve onu içerecek hacim içerisine yerleşVrilir. Ø Bir daughter hacmin yerleşVrildiği yeri belirlemek için kullanılacak koordinat sistemi, mother hacmin koordinat sistemidir. 28
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri -­‐3 Üç 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
G4Material
G4VisAttributes
G4VSensitiveDetector
G4VPhysicalVolume
G4PVPlacement
G4PVParameterised
29
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri -­‐4 Bir Solid hacim tanımı Ø Geant4’te bir Box (kutu)’ın tanımı $G4INSTALL/source/geometry/solids/CSG/include/G4Box.hh bulunabilir. Ø Bir box üretmek için: v G4Box(const G4String& pName, G4double pX, G4double pY, G4double pZ) Burada pX: X ekseni boyunva yarı uzunluk pY: Y ekseni boyunva yarı uzunluk pZ: Z ekseni boyunva yarı uzunluk v  G4Box* a_box=new G4Box(“Det”,12*cm,1*mm,26*cm); 30
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri -­‐5 Bir Logic hacim tanımı Ø Bir logic hacim tanımına, bir solid ve malzeme’den başlanması gerekir: #include “G4LogicalVolume.hh” #include “G4Box.hh” #include “G4Material.hh” …. G4Box* Det = new G4Box(“det”,12*cm,1*mm,26*cm); G4double a=39.95*g/mole; G4double density=1.390*g/cm3; G4Material* LAr = new G4Material(name=“Liquid Argon”,z=18.,a,density); G4LogicalVolume* Det_log = new G4LogicalVolume(Det,LAr,“basit kutu”); 31
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri -­‐6 Bir Fiziksel hacim tanımı Ø Bir hacmi konumlandırmak için, bir logical hacimle başlanması, onun hangi hacim içerisine yerleşVrileceğine, o hacim içerisindeki konumunun ne olacağına ve döndürüleceksek nasıl döndürüleceğine karar verilmesi gerekir. #include “G4VPhysicalVolume.hh” #include “G4PVPlacement.hh” … G4RotaVonMatrix *rm=new G4RotaVonMatrix; rm-­‐>rotateX(30*deg); G4Double DetPosX=-­‐1.0*m; G4VPhysicalVolume* Det_phys= new G4PVPlacement(rm,
// G4RotMatrix’e işaretçi G4ThreeVector(DetPosX,0,0), // konum Det_log, // onun logical hacmi “Det”, // İsmi experimentalHall_log, // mother’ı false,
// boolean ops. yok 1); // kopya numarası. 32
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri -­‐7 YerleşXrilmiş hacim (placement volume) Ø  Bir hacim içerisine yerleşVrien hacim elemanıdır. Ø  Bir fiziksel hacim nesnesi bir tane gerçek hacmi temsil eder Tekrar eden hacim (repeated volume) placement
Ø  Bir hacmin birden fazla tekrar edilmesidir. Ø  Bir fiziksel hacim nesnesi, birden fazla gerçek hacmi temsil eder. Ø  Bilgisayar havzasında az yer kullanır Ø  ParametreleşVrilmiş tekrar eden hacimler (Parameterised) Ø  Bir eksende tekrar eden hacimler (Replica, Division) Ø  Mother hacim ya birçok yerleşVrilmiş hacmi ya da bir tekrar eden repeated
hacmi içerebilir 33
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri -­‐8 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
G4Polycone( G4String name,
const G4double start_angle, // starVng angle const G4double opening_angle,
// opening angle G4double pDphi);
const int num_z_planes, // nr. of planes const G4double z_start, // starVng value of z const G4double z_values[], // z coordinate of each plane const G4double RMIN[], // inner radius of the cone at each plane , const G4double RMAX[]) // outer radius of the cone at each plane e,
// segment angle
ds: G4Polycone
space
G4Polycone G4Trap G4Cons Bu şekiller için ek bilgi için, $G4INSTALL/source/geometry/solids/GSG/include 34
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri -­‐9 Boolean Operasyonlar Ø KaT hacimler bir araya geVrilebilir (boolean operaVons) Ø 2 kaT hacim, 1 manTksal işlem uygulanır, ve isteğe bağlı olarak 2. hacime rotasyon uygulanır (2. hacim 1. hacimin koordinat sistemine göre yerleşVrilmişVr) Ø Sonuçta yeni kaT hacim oluşur bu da tekrardan yeni manTksal 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
35
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri (GDML) Generic and Geometric Model Geometry Desciption Markup Language
Build-in Geant4
export G4LIB_BUILD_GDML=1
<?xml version="1.0" encoding="UTF-­‐8"?> <gdml xsi:noNamespaceSchemaLocaVon="GDMLSchema/gdml.xsd"> <define> ... <posiVon 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"/> <fracVon n="0.7" ref="Nitrogen" /> <fracVon 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" /> <posiVonref ref="TrkrinWorldpos"/> <rotaVonref ref="TrkinWorldrot"/> </physvol> </volume> </structure> <setup name="Default" version="1.0" > <world ref="World" /> </setup> </gdml> $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
36
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
GDML -­‐-­‐-­‐> GraXML (Geometri ve Geometri Modelleyicisi) JAVA3D
h`p://hrivnac.home.cern.ch/hrivnac/AcXviXes/Packages/GraXML/ 37
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Geometri (ROOT) TgeoManager ROOT geometri pakeX, bir detektör geometrisini oluşturmak, parçacık izleme ve görüntülemek için tasarlanmışTr. C++ dili kullanılır. http://root.cern.ch/root/html/TGeoManager.html
ATLAS 10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
38
Fizik Süreçlerinin Seçimi -­‐1 Ø Geant4 kendisi herhangi bir parçacık veya süreçlere sahip değildir. Ø Kullanıcı temel G4VUserPhysicsList sınıvndan kendi sınıvnı türetmelidir. v Tüm gerekli parçacıkları tanımla v Tüm gerekli süreçleri tanımla ve onları uygun parçacıklara ata v ÜreVm eşik değerlerini tanımla (menzil cinsinden) 39
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Fizik Süreçlerinin Seçimi -­‐2 Ø Geant4 içerisinde fizik tanımlamaları 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
particle
process 1
Compton
scattering
process 2
Pair
production
model 1
model 2
…
cross section set 1
cross section set 2
cross section set 3
…
40
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Fizik Süreçlerinin Seçimi -­‐3 Ø  ElektroManyeXk 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 n  Atomaltı parçacık bozunması
n  Çekirdeklerin radyoaktif bozunması
Ø  Hadronik fizik n  0 eV ~ 100 TeV
n  Muon ve gamma çekirdek etkileşmeleri,10 MeV ~ TeV
Ø  Parametrize edilmiş veya hızlı simulaXon fiziği 41
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Fizik Süreçlerinin Seçimi -­‐4 Ø  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 listesi (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() içinde Geant4 e bu fiziğin kayıt edilmesi
runManager->SetUserInitialization(new MyPhysicsList);
42
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Birincil Parçacıkların ÜreXmi Ø Olay Üreteçlerine arayüz
v HEPEVT ve HEPMC (G4HEPEvtInterface, G4HEPMCInterface).
Ø Geant4 içinde sağlanan çeşitli olanaklar
v ParVcle Gun u  Parçacık demeVnin Vpi, enerjisi, açısal dağılımı vb özellikler v GeneralParVcleSource u Bir parçacık kaynağının modellenmesinde kolaylıklar sağlar u Uzay radyasyon çevrelerini ve radyoakVf kaynakları modellemek için kullanılır. 43
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
G4ParXcleGun Void ExamPrimaryGeneratorAcXon::GeneratePrimaries(G4Event* anEvent) { G4ParVcleDefiniVon* parVcle; G4int i = (int)(5.*G4UniformRand()); switch(i) { case 0: parVcle = positron; break; ... } parVcleGun-­‐>SetParVcleDefiniVon(parVcle); G4double pp = momentum+(G4UniformRand()-­‐0.5)*sigmaMomentum; G4double mass = parVcle-­‐>GetPDGMass(); G4double Ekin = sqrt(pp*pp+mass*mass)-­‐mass; parVcleGun-­‐>SetParVcleEnergy(Ekin); G4double angle = (G4UniformRand()-­‐0.5)*sigmaAngle; parVcleGun-­‐>SetParVcleMomentumDirecVon(G4ThreeVector(sin(angle),0.,cos(angle))); parVcleGun-­‐>GeneratePrimaryVertex(anEvent); } /gun/List //Mevcut parçacık listesi /gun/parVcle //ÜreVlecek parçacık ismi /gun/direcVon //Momentum doğrultusu /gun/energy //KineVk enerjisi /gun/momentum //Momentumu /gun/posiVon //Parçacığın başlayacağı konum /gun/number //ÜreVlecek parçacık sayısı /gun/ion Z A Q //İyonun atom numı, kütle num. ve yükü 44
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
G4GeneralParXcleSource –1 MyPrimaryGeneratorAcVon:: MyPrimaryGeneratorAcVon() { generator = new G4GeneralParVcleSource; } void MyPrimaryGeneratorAcVon::GeneratePrimaries(G4Event* anEvent) { generator-­‐>GeneratePrimaryVertex(anEvent); } PosiXon distribuXons /gps/pos/… Point /gps/pos/type Point /gps/pos/type /gps/pos/centre /gps/pos/centre 0. 0. 0. cm Beam /gps/pos/type Beam /gps/pos/type /gps/pos/shape Circle /gps/pos/radius 1. mm /gps/pos/sigma_r 2. mm Plane Shape:Circle, Annulus, Ellipsoid, Square or Rectangle /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 automaVcally oriented as normal to surface at point /gps/pos/type Surface /gps/pos/type /gps/pos/shape Sphere /gps/pos/radius 1. m 45
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
G4GeneralParXcleSource –2 46
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Birim Sistemi -­‐1 Data’ya birim ataması aşağıdaki gibi yapılabilir: G4double Size = 15*km; G4doubel KineVcEnergy = 90.3*GeV; G4double density = 11*mg/cm3; millimeter nanosecond Mega electron Volt
positron charge degree Kelvin
the amount of substance luminous intensity radian
steradian (mm) (ns) (MeV) (eplus) (kelvin) (mole) (candela) (radian) (steradian) Data’ya Geant4’ün uygun birimi ataması istendiği durumda: cout << G4BestUnit(StepSize, “Length”) <<endl; cout << G4BestUnit(Edep, “Energy”) <<endl; Data’nın istenilen birimde yazdırılmak isteniyorsa, bunun için / sembolu kullanılır: G4cout << KineticEnergy/keV << " keV”;
G4cout << density/(g/cm3) << " g/cm3";
Geant4 içerisinde bazı birimler aşağıdaki gibi interakVf komutlarda hazır olarak bulunmaktadır /gun/energy 15.2 keV /gun/posiVon 3 2 -­‐7 meter Bu birimler CLHEP (A Class Library for High Energy Physics)’in bir parçasıdır.
47
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
Birim Sistemi -­‐2 Ø İstenilen yeni birimler üreVlebilir: v SystemOfUnits.hh dosyasına bakarak. Ø G4UnitDefiniVon sınıv kullanılarak ve onun yeni bir nesnesi oluşturularak: G4UnitDefiniVon (name, symbol, category, value) G4UnitDefiniXon (“km/hour”,”km/h”,”Speed”,km/(3600*s)); G4UnitDefiniXon (“meter/ns”,”m/ns”,”Speed”,m/ns); 48
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
GÖRÜNTÜLEME -­‐1 Ø Görüntüleme özellikleri G4VisA`ributes nesnesinde tutulur Ø  Görüntüleme;
G4VisA`ributes::SetVisibility(G4bool visibility); Ile kurulur. Ø Deneysel alanın görüntülenmemesi için: experimentalHall_log-­‐>SetVisA`ributes(G4VisA`ributes::Invisible); Ø Hacmin rengi: G4VisA`ributes::G4VisA`ributes(const G4Colour& color); G4Colour white ()
G4Colour white (1.,1.,1.)
G4Colour gray
(.5,.5,.5)
G4Colour black (0.,0.,0.)
G4Colour red
(1.,0.,0.)
G4Colour green (0.,1.,0.)
G4Colour blue
(0.,0.,1.)
G4Colour cyan
(0.,1.,1.)
G4Colour magenta (1.,0.,1.)
G4Colour yellow (1.,1.,0.)
; // white ; // white ;
// gray ;
// black ;
// red ;
// green ;
// blue ;
// cyan ;
// magenta ;
// yellow ExpHall_log=new G4LogicalVolume(ExpHall_box,Air,”exp_hall”); ….. G4VisA•ributes *expHallVisA•=new G4VisA•ributes(G4Colour(0.,1.,1.)); expHallVisA•-­‐>SetForceWireframe(true); ExpHall_log-­‐>SetVisA•ributes(expHallVisA•); G4VisA`ributes::G4VisA`ributes(const G4Colour& color); 10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
49
GÖRÜNTÜLEME -­‐2 GÖRÜNTÜLEME SÜRÜCÜLERİ OpenGL
OpenInventor
Derleme öncesinde, export G4VIS_USE_DAWN=1 export G4VIS_USE_OPENGLX=1
export G4VIS_USE_VRML=1
görüntüleme sürücüsü kullanılabilir. HepRepFile
HepRepXML
DAWN
VRML
RayTracer
ASCIITree
GAGTree
XMLTree
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
50
ANALİZ •  Java Analysis Studio: JAS (all files) h•p://jas.freehep.org/jas3 •  The Root of Everything: ROOT (root files) h•p://root.cern.ch/ •  Physics Analysis WorkstaVon: PAW (hbook files) (cernlib) •  OpenScienVst (all files) ROOT için export G4ANALYSIS_USE_ROOT=1 Analiz örnekleri için : $G4INSTALL/examples/extented/electromagneVc/ $G4INSTALL/examples/advanced/hadrontherapy 10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
51
GEANT4 Ö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 tesV ve doğrulanması Geant4 araçlarının gösterimi Ø  İleri düzey (examples/advanced) 20 adet örnek PraVk uygulamalar HEP dışı uygulamalardan örnekler (Space,Medical,..) 10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
52
İLETİŞİM Uludağ Üniversitesi-­‐Fizik Bölümü Ercan PİLİÇER -­‐ [email protected] Fatma KOÇAK -­‐ ‘[email protected] Adnan KILIÇ – [email protected] 53
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
KATILIMINIZ İÇİN
TEŞEKKÜRLER…
54
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
BACKUP SLIDES
55
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
GEANT4 KURULUM -­‐1 http://geant4.web.cern.ch/geant4/support/download.shtml
56
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
GEANT4 KURULUM -­‐2 57
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
GEANT4 KURULUM REHBERİ h•p://geant4.web.cern.ch/geant4/UserDocumentaVon/UsersGuides/InstallaVonGuide/fo/
BookInstalGuide.pdf CLHEP Geant4 source kod dağılımıyla berarbe default olarak gelir. Önceki Geant4 sürümlerindeki gibi önceden external olarak kurmaya ihVyaç yoktur. External olarak ta kurulabilir: Geant4 var olan CLHEP kurulumuna configure edilir. (Cmake’ e extra configure opVon’ları eklenerek) GEANT4_USE_SYSTEM_CLHEP (DEFAULT : OFF | ON if CLHEP_ROOT_DIR set) CLHEP_ROOT_DIR (include ve lib directory’lerinin bulunduğu yer) Extra: CLHEP_INCLUDE_DIR (include directory’si) CLHEP_LIBRARY (lib directory’si) Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
10-15
58
59
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
60
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
CLHEP KURULUMU mkdir clhep
cd clhep
wget http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/tarFiles/
clhep-2.1.3.1.tgz
tar -zxvf clhep-2.1.3.1.tgz
mkdir clhep-2.1.3.1
cd 2.1.3.1/CLHEP/
./bootstrap
./configure --prefix=$HOME/softwares/clhep/clhep-2.1.3.1
make -j4
make install
cd ..
rm -rfv 2.1.3.1 clhep-2.1.3.1.tgz
61
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
XERCESC mkdir xercesc
cd xercesc
wget http://ftp.itu.edu.tr/Mirror/Apache//xerces/c/3/
sources/xerces-c-3.1.1.tar.gz
tar -zxvf xerces-c-3.1.1.tar.gz
mv xerces-c-3.1.1 xerces-c-3.1.1-src
mkdir xerces-c-3.1.1
cd xerces-c-3.1.1-src
./configure --prefix=/home/epilicer/softwares/xercesc/
xerces-c-3.1.1
make -j4
make install
cd ..
rm -rfv xerces-c-3.1.1-src xerces-c-3.1.1.tar.gz
62
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
GEANT4’ÜN UNIX PLATFORMLARINA KURULUM mkdir geant4data
cd geant4data
wget http://geant4.cern.ch/support/source/G4EMLOW.6.32.tar.gz
wget http://geant4.cern.ch/support/source/G4NDL4.2.TS.tar.gz
wget http://geant4.cern.ch/support/source/G4PII.1.3.tar.gz
wget http://geant4.cern.ch/support/source/G4RadioactiveDecay.3.6.tar.gz
wget http://geant4.cern.ch/support/source/RealSurface.1.0.tar.gz
wget http://geant4.cern.ch/support/source/G4NDL.4.2.tar.gz
wget http://geant4.cern.ch/support/source/G4NEUTRONXS.1.2.tar.gz
wget http://geant4.cern.ch/support/source/G4PhotonEvaporation.2.3.tar.gz
wget http://geant4.cern.ch/support/source/G4SAIDDATA.1.1.tar.gz
for f in $(find . -iname "*tar.gz"); do tar -xzvf $f ; done
rm -fv *tar.gz
63
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
cmake build options:
http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/
InstallationGuide/html/ch02s03.html
cd geant4.9.6.p01
cmake -Wno-dev \
-DCMAKE_INSTALL_PREFIX=$HOME/softwares/geant4/
geant4.9.6.p01 \
-DGEANT4_USE_SYSTEM_CLHEP=ON \
-DCLHEP_ROOT_DIR=$HOME/softwares/clhep/clhep-2.1.3.1 \
-DGEANT4_USE_OPENGL_X11=ON \
-DGEANT4_USE_XM==ON\
-DGEANT4_USE_GDML=ON \
-DXERCESC_ROOT_DIR=$HOME/softwares/xercesc/xerces-c-3.1.1 \
-DGEANT4_USE_G3TOG4=ON \
$HOME/softwares/geant4/geant4.9.6.p01-src
make -j4
make install
64
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu
edit /geant4make.sh to set proper paths for data libraries
source $HOME/softwares/geant4/geant4.9.6.1.p01/geant4make/geant4make.sh
65
10-15 Eylül 2013 TFD IX. Uluslararası Katılımlı Parçacık Hızlandırıcıları ve Detektörleri Yaz Okulu

Benzer belgeler