Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector Nghiên cứu ảnh hưởng độ phân giải năng lượng lên bờ compton của gamma 1063 kev cho detector
ĐẠI HỌC QUỐC GIA TP.HCM TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN HUỲNH THỊ HƢƠNG NGHIÊN CỨU ẢNH HƢỞNG ĐỘ PHÂN GIẢI NĂNG LƢỢNG LÊN BỜ COMPTON CỦA GAMMA 1063 keV CHO DETECTOR NHẤP NHÁY PLASTIC SỬ DỤNG PHẦN MỀM GEANT4 LUẬN VĂN THẠC SĨ VẬT LÝ TP Hồ Chí Minh – 2013 ĐẠI HỌC QUỐC GIA TP.HCM TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN HUỲNH THỊ HƢƠNG NGHIÊN CỨU ẢNH HƢỞNG ĐỘ PHÂN GIẢI NĂNG LƢỢNG LÊN BỜ COMPTON CỦA GAMMA 1063 keV CHO DETECTOR NHẤP NHÁY PLASTIC SỬ DỤNG PHẦN MỀM GEANT4 Chuyên ngành: VẬT LÝ NGUYÊN TỬ, HẠT NHÂN VÀ NĂNG LƢỢNG CAO Mã số chuyên ngành: 60 44 05 LUẬN VĂN THẠC SĨ VẬT LÝ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS VÕ HỒNG HẢI TP Hồ Chí Minh – 2013 LỜI CẢM ƠN Để hoàn thành tốt luận văn này, bên cạnh nỗ lực thân thầy bạn bè người hướng dẫn giúp đỡ nhiều suốt trình thực đề tài Tôi xin gởi lời cảm ơn chân thành sâu sắc đến thầy Võ Hồng Hải, người nhiệt tình hướng dẫn tơi suốt q trình nghiên cứu đề tài giúp tơi hồn chỉnh luận văn Xin gởi lời cảm ơn đến thầy Châu Văn Tạo thầy cô môn vật lý hạt nhân tạo điều kiện, môi trường làm việc thuận lợi để tơi hồn thành luận văn Xin gởi lời tri ân đến thầy cô truyền đạt kiến thức cho tơi suốt khóa học 2011-2013 Chân thành cảm ơn thầy cô hội đồng đọc, nhận xét đóng góp ý kiến quý báo cho luận văn Cuối xin gửi lời cảm ơn đến gia đình bạn bè, người ln động viên giúp đỡ thời gian học tập, nghiên cứu hoàn thành luận văn TP.HCM, tháng năm 2013 Học viên Huỳnh Thị Hương MỤC LỤC DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ .4 MỞ ĐẦU .7 CHƢƠNG : LÝ THUYẾT TỔNG QUAN 10 1.1 Tương tác xạ gamma vật chất .10 1.1.1 Các chế tương tác gamma với vật chất 10 1.1.1.1 Hiệu ứng quang điện 10 1.1.1.2 Tán xạ Compton 13 1.1.1.3 Hiệu ứng tạo cặp 19 1.1.1.4 Tán xạ Rayleigh 20 1.1.2 1.2 Tổng hợp hiệu ứng gamma tương tác với vật chất .21 Detector nhấp nháy plastic .22 1.2.1 Vật liệu nhấp nháy 23 1.2.1.1 Cơ chế phát sáng chất nhấp nháy 23 1.2.1.2 Các đặc tính chất nhấp nháy plastic 27 1.2.2 1.3 Ống nhân quang 27 Độ phân giải lượng 28 CHƢƠNG : TỔNG QUAN VỀ GEANT4 VÀ THÍ NGHIỆM MÔ PHỎNG .31 2.1 Tổng quan Geant4 31 2.1.1 Giới thiệu chương trình mơ Geant4 .31 2.1.2 Quá trình hoạt động 32 2.1.3 Phương pháp Monte Carlo sử dụng Geant4 33 2.1.4 Tổng quan chức Geant4 34 2.1.5 Cấu trúc chương trình mơ Geant4 36 2.1.5.1 Lớp G4RunManager 36 2.1.5.2 Lớp G4UImanager .36 2.1.5.3 Các lớp khởi tạo hoạt động .37 2.1.5.4 Các lớp G4cout G4cerr 38 2.2 Thí nghiệm mơ .38 2.2.1 Bố trí thí nghiệm mơ 38 2.2.2 Cách thức mô phổ lượng gamma tới 1063 keV để lại detector nhấp nháy plastic .40 2.2.3 Xác định công thức độ phân giải theo lượng gamma tới .45 2.2.4 Cách thức mô ảnh hưởng độ phân giải lượng lên phổ gamma .49 CHƢƠNG : KẾT QUẢ 53 3.1 Phổ lượng gamma để lại vật liệu nhấp nháy plastic .53 3.2 Phổ lượng gamma sau tính tốn đến ảnh hưởng độ phân giải lượng 54 3.3 Khảo sát ảnh hưởng độ phân giải lượng khác lên bờ Compton gamma 1063 keV .55 3.4 Khảo sát ảnh hưởng độ phân giải lượng lên bờ Compton với gamma tới có lượng khác 56 3.5 Chuẩn lượng cho detector nhấp nháy plastic 59 3.5.1 Chuẩn lượng cho detector nhấp nháy plastic dựa vào đỉnh bờ Compton 59 3.5.2 Chuẩn lượng dựa vào vị trí lượng gamma .64 KẾT LUẬN VÀ KIẾN NGHỊ 73 DANH MỤC CÁC CƠNG TRÌNH CỦA TÁC GIẢ 76 TÀI LIỆU THAM KHẢO 77 PHỤ LỤC 80 DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT Các kí hiệu Ee Động electron hiệu ứng quang điện h Hằng số Planck 6,626.10-34 J.s c Vận tốc ánh sáng chân không 3.108 m/s me Khối lượng nghỉ electron 9,1.10-31 kg Eb Năng lượng liên kết electron h Năng lượng gamma trước tán xạ h’ Năng lượng gamma sau tán xạ ρ Khối lượng riêng môi trường vật chất Z Số hiệu nguyên tử A Nguyên tử khối Ek Động electron sau tán xạ Compton Góc tán xạ tia gamma Góc bay electron sau tán xạ Compton Gia số tăng bước sóng r0 Bán kính electron cổ điển Ek Động trung bình mà electron positron nhận hiệu ứng tạo cặp κ Hệ số suy giảm tuyến tính sinh cặp σR Hệ số suy giảm tuyến tính tán xạ Rayleigh τ Hệ số suy giảm quang điện tuyến tính σC Hệ số suy giảm Compton tuyến tính R Độ phân giải lượng (%) σ Độ lệch chuẩn phân bố Gauss E Năng lượng gamma tới EH Năng lượng độ cao nửa đỉnh bờ Compton EC Năng lượng đỉnh bờ Compton chH Số kênh tương ứng độ cao nửa đỉnh bờ Compton ch Số kênh tương ứng với vị trí lượng gamma chC Số kênh tương ứng với đỉnh bờ Compton Sexp(i) Số đếm kênh thứ i phổ thực nghiệm Ssim(i) Số đếm kênh thứ i phổ mô Các chữ viết tắt CERN Conseil Européen pour la Recherche Nucléaire (European Particle Physics Laboratory) FORTRAN Formula Translation FWHM Full Width at Half Maximum GEANT4 Geometry AND Tracking HEP High Energy Physics KEK Korporata Energjetike e Kosovës (The High Energy Accelerator Research Organization) R&D Research and Development ROOT Rapid Object Oriented Technology (Data analysis software) DANH MỤC CÁC BẢNG STT Chỉ số Nội dung bảng Độ phân giải lượng tương ứng với giá trị Trang 46 2.1 2.2 Bảng giá trị làm khớp R theo công thức (3.4) 46 2.3 Bảng giá trị làm khớp R theo công thức (3.5) 47 2.4 Bảng giá trị làm khớp R theo công thức (3.6) 48 3.1 Các giá trị tương ứng với số giá trị R số kênh 62 3.2 3.3 3.4 3.5 10 3.6 11 3.7 12 3.8 lượng electron đến thực nghiệm [29] Bảng giá trị DHC với gamma tới lượng 1063 keV (207Bi) Bảng giá trị DPC với gamma tới lượng 1063 keV (207Bi) Bảng giá trị DHC với gamma tới lượng 662 keV (137Cs) Bảng giá trị DPC với gamma tới lượng 662 keV (137Cs) Bảng giá trị DPC với gamma tới có lượng 835 keV (54Mn) Bảng giá trị DPC với gamma tới có lượng 1275 keV (22Na) Bảng giá trị DPC với gamma tới có lượng 1332 keV (60Co) 66 67 70 70 71 71 71 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ STT Chỉ số Nội dung hình Hiệu ứng quang điện Trang 11 1.1 1.2 1.3 Quá trình phát tia X electron Auger 13 1.4 Cơ chế tán xạ Compton 14 1.5 Vùng tán xạ Compton phổ gamma 16 1.6 1.7 1.8 1.9 Hiệu ứng tạo cặp 19 10 1.10 Tán xạ Rayleigh 20 11 1.11 Hệ số suy giảm khối gamma môi trường plastic 22 12 1.12 Minh họa cấu trúc detector nhấp nháy plastic 22 13 1.13 Sơ đồ mức lượng chất nhấp nháy hữu 23 14 1.14 Sơ đồ mức lượng singlet S chất nhấp nháy hữu 24 15 1.15 Phổ hấp thụ phát xạ loại chất nhấp nháy hữu 25 16 1.16 Sơ đồ mức lượng triplet T chất nhấp nháy hữu 26 17 1.17 Nguyên tắc hoạt động ống nhân quang điện 28 18 1.18 Phân bố Gauss đỉnh phổ 29 19 2.1 Các lớp Geant4 35 20 2.2 Bố trí mơ 38 21 2.3 Detector dạng hình hộp chữ nhật hệ tọa độ Oxyz 39 Sự phụ thuộc hệ số hấp thụ quang điện khối vào lượng gamma chì Sự phụ thuộc hệ số tán xạ khối Compton C/ vào lượng Eγ môi trường plasctic Góc tán xạ gamma ứng với vài giá trị lượng tiêu biểu Phân bố số electron theo lượng theo lượng gamma tới 11 17 18 18 Kích thước chắn chì 39 22 2.4 23 2.5 24 2.6 Quá trình tương tác gamma vật liệu nhấp nháy 44 25 2.7 Đường cong làm khớp R theo công thức (3.4) 47 26 2.8 Đường cong làm khớp R theo công thức (3.5) 47 27 2.9 Đường cong làm khớp R theo công thức (3.6) 48 28 2.10 29 2.11 Sơ đồ trình mơ 50 30 2.12 Minh họa ảnh hưởng độ phân giải lượng lên phổ 51 31 3.1 Tiến trình mơ cấu trúc hình học khối nhấp nháy plastic So sánh phổ lượng gamma có tác động độ phân giải R theo cơng thức (3.4), (3.5) (3.6) Phổ lượng gamma để lại vật liệu nhấp nháy plastic 42 49 53 Phổ lượng gamma theo lý thuyết phổ lượng 32 3.2 gamma tính tốn đến ảnh hưởng độ phân giải 55 lượng 33 3.3 Phổ lượng ứng với giá trị P 0, 5%, 10%, 15%, 25%, 35 % 207Bi (1063 keV) 56 Phổ lượng gamma từ nguồn 137Cs (662 keV) với ảnh 34 3.4 hưởng độ phân giải lượng có P 0, 57 5%, 10%, 15%, 25%, 35 % Phổ lượng gamma từ nguồn 54Mn (835 keV) với ảnh 35 3.5 hưởng độ phân giải lượng có P 0, 57 5%, 10%, 15%, 25%, 35 % Phổ lượng gamma từ nguồn 22Na(511 keV 1275 36 3.6 keV) với ảnh hưởng độ phân giải lượng có P 58 0,5%, 10%, 15%, 25%,35 % 37 3.7 Phổ lượng gamma từ nguồn 60Co (1173 keV 1332 keV) với ảnh hưởng độ phân giải lượng có P 58 [10] Interactions of Photons with Matter, http://ocw.mit.edu/courses/nuclearengineering/22-01-introduction-to-ionizing-radiation-fall-2006/lecturenotes/energy_dep_photo.pdf [11] Laboratory Practical Course: Scintillation Detectors, 2009, [12] Marek Moszynski (2006), Non-proportionality and energy resolution of scintillation detectors, Soltan Institue for Nuclear Studies, PL 05-400, OtwockSwierk, Poland [13] N Kudomi (1999), Energy calibration of plastic scintillators for low energy electrons by using Compton scatterings of gamma rays, Nucl Instrum Meth., vol.A430, pp 96–99 [14] N Tsoulfanidis (1983), Measurement and Detection of Radiation, McGrawHill, New York [15] NIST Physics Laboratory, http://physics.nist.gov/cgi-bin/Star [16] Plastic scintillator material, http://www.detectors.saint-gobain.com/PlasticScintillator.aspx [17] Plastic scintillators and fast pulse techniques, http://www.pma.caltech.edu/~ph77/labs/exp13.pdf [18] Podgorsak (2005), Radiation Oncology Physics: A handbook for Teachers and Students, IAEA, pp 26 - 41 [19] Radioisotopes and Radiation Methodology, http://www.science.mcmaster.ca/medphys/images/files/courses/4R06/note4.pdf [20] R Casanovas , J.J Morant, M Salvado (2012), Energy and resolution calibration of NaI(Tl) and LaBr3(Ce) scintillators and validation of an EGS5 Monte Carlo user code for efficiency calculations, Nuclear Instruments and Methods in Physics Research A 675, pp 78-83 [21] ROOT, http://root.cern.ch 78 [22] S Ashrafi, M Ghahremani Gol (2011), Energy calibration of thin plastic scintillators using Compton scattered gamma rays, Nuclear Instruments and Methods in Physics Research A 675, pp 78-83 [23] S Ashrafi, S Anvarian, S Sobhanian (2006), Journal of Radioanalytical and Nuclear Chemistry 269, pp 95–98 [24] Scintillation detectors, http://nsspi.tamu.edu/nsep/courses/basic-radiationdetection/gamma-ray-spectroscopy/scintillation-detectors/scintillation-detectors [25] S Hohara, F Saiho, J Tanaka, S Aoki, Y Uozumi, and M Matoba (2001), A simple method of energy calibraton for thin plastic scintillator, IEEE Transactions on Nuclear Science, Vol 48, No.4 [26] Syed Naeem Ahmed (2007), Physics & engineering of radiation detection, Elserier [27] The basic Monte Carlo technique, http://omlc.ogi.edu/news/sep98/montecarlosampling/montecarlo1.html [28] The ROOT team (2009), ROOT Users Guide, version 5.26 [29] Vo Hong Hai (2008), Energy resolution of plastic scintillation detector for neutrinoless double beta decay experiment, Doctor dissertation, Osaka University, Japan [30] William R Leo (1994), Techniques for Nuclear and Particle Physics Experiments, Spinger-Verlag Press [31] X-Ray Fluorescence Spectroscopy, http://www.amptek.com/xrf.html 79 PHỤ LỤC Phụ lục 1: Code mô Geant4 Lớp DetectorConstruction #include "RE03DetectorConstruction.hh" #include "G4Material.hh" #include "G4Box.hh" #include "G4Tubs.hh" #include "G4LogicalVolume.hh" #include "G4PVPlacement.hh" #include "G4VisAttributes.hh" #include "G4Colour.hh" RE03DetectorConstruction::RE03DetectorConstruction() :constructed(false) {;} RE03DetectorConstruction::~RE03DetectorConstruction() {;} G4VPhysicalVolume* RE03DetectorConstruction::Construct() { if(!constructed) { constructed = true; DefineMaterials(); SetupGeometry(); } return worldPhys; } void RE03DetectorConstruction::DefineMaterials() { G4String name, symbol; //a=mass of a mole; G4double a, z, density; //z=mean number of protons; G4int ncomponents, natoms; G4double fractionmass; //~~~~~~~~~~~~~~~~~~~~~~~~ Elements Definition~~~~~~~~~~~~~~~~~~~// // N: Nitrogen a = 14.01*g/mole; G4Element* N = new G4Element(name="Nitrogen",symbol="N" , z= 7., a); // O: Oxygen a = 16.00*g/mole; G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a); // H: Hydrogen 80 a = 1.01*g/mole; G4Element* H = new G4Element(name="Hydrogen", symbol="H", z=1., a); // C: Carbon a = 12.01*g/mole; G4Element* C = new G4Element(name="Carbon", symbol="C", z=6., a); // Pb: Lead a = 207.19*g/mole; G4Element* Pb = new G4Element(name="Lead", symbol="Pb", z=82., a); //~~~~~~~~~~~~~~~~~~~~~Materials Definition ~~~~~~~~~~~~~~~~~~~~~// // Air density = 1.290*mg/cm3; air = new G4Material(name="Air", density, ncomponents=2); air->AddElement(N, fractionmass=0.7); air->AddElement(O, fractionmass=0.3); //Sci density = 1.032*g/cm3; Sci = new G4Material("Sci", density, ncomponents=2); Sci->AddElement(C, natoms=10); Sci->AddElement(H, natoms=11); //Col density = 11.35*g/cm3; Col = new G4Material("Col", density, ncomponents=1); Col->AddElement(Pb, natoms=1); } void RE03DetectorConstruction::SetupGeometry() { //~~~~~~~~~~~~~~~~~~~~~~~~ World Definition ~~~~~~~~~~~~~~~~~~~~~// G4VSolid* worldSolid = new G4Box("World",40.*cm,40.*cm,40.*cm); G4LogicalVolume* worldLogical = new G4LogicalVolume(worldSolid,air,"World"); worldPhys = new G4PVPlacement(0,G4ThreeVector(),worldLogical,"World", 0,false,0); //~~~~~~~~~~~~~~~~~~~~~~~~ Collimater Definition~~~~~~~~~~~~~~~~~~// G4Tubs* Coltube = new G4Tubs("Collimater",0*cm,1.*cm,0.05*cm,0,twopi); G4LogicalVolume* Collog = new G4LogicalVolume(Coltube,Col,"Col Logical"); // Colphys = new G4PVPlacement(0, G4ThreeVector(0.,0.,0.55*cm), Collog,"Col Physical",worldLogical,false,0); //~~~~~~~~~~~~~~~~~~~~~~~~ Sci Definition ~~~~~~~~~~~~~~~~~~~~~~~~// G4Box* Scibox 81 = new G4Box("Sci detector",3.*cm,3.*cm,0.5*cm); G4LogicalVolume* Scilog = new G4LogicalVolume(Scibox,Sci,"Sci Logical"); // Sciphys = new G4PVPlacement(0, G4ThreeVector(), Scilog,"Sci Physical",worldLogical,false,0); // // Visualization attributes // G4Colour red (1.0,0.0,0.0); // red G4Colour green (0.0,1.0,0.0); // green G4Colour yellow (1.0,1.0,0.0); // yellow G4Colour blue (0.0,0.0,1.0); // blue G4Colour magenta (1.0,0.0,1.0) ; // magenta G4Colour cyan (0.0,1.0,1.0) ; // cyan // Make the World volume visible or invisible worldLogical->SetVisAttributes(G4VisAttributes::Invisible); //Scilog->SetVisAttributes(G4VisAttributes::Invisible); // Set colour for NaI detector: Scilog->SetVisAttributes(G4VisAttributes(G4Colour(yellow))); Collog->SetVisAttributes(G4VisAttributes(G4Colour(magenta))); } Lớp PhysicsList #include "RE03PhysicsList.hh" #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" #include "G4ParticleTypes.hh" #include "G4Region.hh" #include "G4EmProcessOptions.hh" RE03PhysicsList::RE03PhysicsList(): G4VUserPhysicsList() { SetVerboseLevel(1); } RE03PhysicsList::~RE03PhysicsList() { } 82 void RE03PhysicsList::ConstructParticle() { // gamma G4Gamma::GammaDefinition(); // e+/G4Electron::ElectronDefinition(); G4Positron::PositronDefinition(); } void RE03PhysicsList::ConstructProcess() { AddTransportation(); ConstructEM(); } #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" #include "G4RayleighScattering.hh" // gamma from Lowenergy #include "G4PenelopePhotoElectricModel.hh" #include "G4PenelopeComptonModel.hh" #include "G4PenelopeGammaConversionModel.hh" #include "G4PenelopeRayleighModel.hh" #include "G4LivermorePolarizedPhotoElectricModel.hh" #include "G4LivermorePolarizedComptonModel.hh" #include "G4LivermorePolarizedRayleighModel.hh" #include "G4LivermorePolarizedGammaConversionModel.hh" // e+ - e- from standard #include "G4eMultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" #include "G4UniversalFluctuation.hh" #include "G4eplusAnnihilation.hh" // e+ - e- from Lowenergy #include "G4PenelopeIonisationModel.hh" #include "G4PenelopeBremsstrahlungModel.hh" 83 #include "G4PenelopeAnnihilationModel.hh" // options #include "G4LossTableManager.hh" #include "G4EmProcessOptions.hh" #include "G4hIonisation.hh" void RE03PhysicsList::ConstructEM() { theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); if (particleName == "gamma") { // gamma G4ComptonScattering* theComptonScattering = new G4ComptonScattering(); G4PenelopeComptonModel* thePenelopeComptonModel = new G4PenelopeComptonModel(); thePenelopeComptonModel->ActivateAuger(true); G4LivermorePolarizedComptonModel* theLivermorePolarizedComptonModel = new G4LivermorePolarizedComptonModel(); theComptonScattering->SetModel(theLivermorePolarizedComptonModel); theComptonScattering->SetModel(thePenelopeComptonModel); pmanager->AddDiscreteProcess(theComptonScattering); G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect(); G4PenelopePhotoElectricModel* thePenelopePhotoElectricModel = new G4PenelopePhotoElectricModel(); thePenelopePhotoElectricModel->ActivateAuger(true); G4LivermorePolarizedPhotoElectricModel* theLivermorePolarizedPhotoElectricModel = new G4LivermorePolarizedPhotoElectricModel(); thePhotoElectricEffect->SetModel(theLivermorePolarizedPhotoElectricModel); thePhotoElectricEffect->SetModel(thePenelopePhotoElectricModel); pmanager->AddDiscreteProcess(thePhotoElectricEffect); 84 G4GammaConversion* theGammaConversion = new G4GammaConversion(); G4PenelopeGammaConversionModel* thePenelopeGammaConversionModel = new G4PenelopeGammaConversionModel(); G4LivermorePolarizedGammaConversionModel* theLivermorePolarizedGammaConversionModel = new G4LivermorePolarizedGammaConversionModel(); theGammaConversion->SetModel(thePenelopeGammaConversionModel); theGammaConversion>SetModel(theLivermorePolarizedGammaConversionModel); pmanager->AddDiscreteProcess(theGammaConversion); G4RayleighScattering* theRayleigh = new G4RayleighScattering(); G4PenelopeRayleighModel* theRayleighModel = new G4PenelopeRayleighModel(); G4LivermorePolarizedRayleighModel* theLivermorePolarizedRayleighModel = new G4LivermorePolarizedRayleighModel(); theRayleigh->SetModel(theLivermorePolarizedRayleighModel); theRayleigh->SetModel(theRayleighModel); pmanager->AddDiscreteProcess(theRayleigh); } else if (particleName == "e-") { //electron G4eMultipleScattering* msc = new G4eMultipleScattering(); pmanager->AddProcess(msc, -1, 1, 1); G4eIonisation* eIoni = new G4eIonisation(); G4PenelopeIonisationModel* thePenelopeIonisationModel = new G4PenelopeIonisationModel(); thePenelopeIonisationModel->ActivateAuger(true); eIoni->SetEmModel(thePenelopeIonisationModel); pmanager->AddProcess(eIoni, -1, 2, 2); G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); eBrem->SetEmModel(new G4PenelopeBremsstrahlungModel()); pmanager->AddProcess(eBrem, -1,-3, 3); // Ionisation } else if (particleName == "e+") { //positron 85 G4eMultipleScattering* msc = new G4eMultipleScattering(); pmanager->AddProcess(msc, -1, 1, 1); pmanager->AddProcess(new G4eIonisation(), -1, 2, 2); pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); G4eplusAnnihilation* eplus = new G4eplusAnnihilation(); G4PenelopeAnnihilationModel* thePenelopeAnnihilationModel = new G4PenelopeAnnihilationModel(); eplus->SetModel(thePenelopeAnnihilationModel); pmanager->AddProcess(eplus, 0,-1,4); } } //############################### X-rays Creation in GEANT4 4.9.4 G4EmProcessOptions emOptions; emOptions.SetDeexcitationActive(true); } void RE03PhysicsList::SetCuts() { defaultCutValue = 1.*mm; const G4double cutForGamma = 10e-6*mm; const G4double cutForElectron = defaultCutValue; const G4double cutForPositron = defaultCutValue; SetCutValue(cutForGamma, "gamma"); SetCutValue(cutForElectron, "e-"); SetCutValue(cutForPositron, "e+"); G4double lowLimit = 250 * eV; G4double highLimit = 100 * GeV; G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(lowLimit, highLimit); if (verboseLevel>0) DumpCutValuesTable(); } 86 Lớp PrimaryGeneratorAction #include "RE03PrimaryGeneratorAction.hh" #include "G4Event.hh" #include "G4ParticleGun.hh" #include "G4ParticleTable.hh" #include "Randomize.hh" #include "G4ParticleDefinition.hh" #include "G4UImanager.hh" #include "G4RunManager.hh" RE03PrimaryGeneratorAction::RE03PrimaryGeneratorAction() { G4int n_particle = 1; particleGun = new G4ParticleGun(n_particle); G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); G4String particleName; G4ParticleDefinition* particle = particleTable->FindParticle(particleName="gamma"); // name of particle particleGun->SetParticleDefinition(particle); } RE03PrimaryGeneratorAction::~RE03PrimaryGeneratorAction() { delete particleGun; } void RE03PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { G4double a,b,c; G4double n; do{ a = (G4UniformRand()-0.5)/0.5; b = (G4UniformRand()-0.5)/0.5; c = (G4UniformRand()-0.5)/0.5; n = a*a+b*b+c*c; }while(n > || n == 0.0); n = std::sqrt(n); a /= n; b /= n; c /= n; 87 G4ThreeVector direction(a,b,c); particleGun -> SetParticleMomentumDirection(direction); particleGun->SetParticlePosition(G4ThreeVector(0.,0.,0.6*cm)); // position of the particle gun (source) particleGun->SetParticleEnergy(1063*keV); // energy of the particle gun (source) particleGun->GeneratePrimaryVertex(anEvent); } 88 Phụ lục 2: Code tính tốn ảnh hƣởng độ phân giải lƣợng lên phổ gamma #include #include #include #include #include using namespace std; #define Pi 3.14159265358979323846 #define Nevent 1255810 //Khai bao ham float generate_standard_gauss(void); float E_resolution(float &Edep,float &standard_gauss); int main () { float Edep; float standard_gauss,E_energy_resolution; ofstream luufile; ifstream mofile("data.txt");//Mofile Edep luufile.open("data_reso9.txt");//Luu ket qua /*initialize random seed:*/ srand (time(NULL)); //Doc gia tri tu file-Nang luong for (int n=0;n>Edep; } else coutDraw("same"); in.close(); in.open(Form("data_reso35.txt")); // Tao File.root; tao histogram; tao ntuple TFile *f=new TFile("data_threshold4.root","RECREATE"); TH1F *h4=new TH1F("h4",";Energy(MeV);Counts",2000,0.,2.); // Copy du lieu vao histogram h1; vao ntuple while (1) { in>>x4>>y4; if (!in.good()) break; h4->Fill(y4); } // Ve histogram h4->Draw("same"); in.close(); } 92 ... Phổ lượng gamma sau tính tốn đến ảnh hưởng độ phân giải lượng 54 3.3 Khảo sát ảnh hưởng độ phân giải lượng khác lên bờ Compton gamma 1063 keV .55 3.4 Khảo sát ảnh hưởng độ phân. .. việc mô ảnh hưởng độ phân giải lượng lên bờ Compton gamma 1063 keV (207Bi), tiến hành mô ảnh hưởng độ phân giải lượng với gamma tới có lượng 662 keV (137Cs), 835 keV (54Mn), 511 keV 1275 keV (22Na),... thức độ phân giải theo lƣợng gamma tới Để mô ảnh hưởng độ phân giải lượng lên bờ Compton gamma, cần phải đưa vào chương trình mơ hàm phân giải lượng Hàm phân giải lượng có dạng phụ thuộc vào lượng