粒子物理及核物理实验中数据分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2020/4/21粒子物理与核物理实验中的数据分析杨振伟清华大学第六讲:Geant4的探测器模拟介绍(1)2020/4/22本讲要点Geant4简介一般介绍和历史基本概念和内核重要的用户类如何安装Geant4如何使用Geant4(探测器几何与材料)2020/4/23数据分析为什么需要模拟信息?探测器数据重建物理分析模拟Geant4发现n发现1刻度写成root或zbs等格式把电学量变为物理量并做各种刻度与修正。把分立测量联系起来给出四动量等问题在于我们如何知道所做的工作是正确的?2020/4/24模拟需要做的主要工作定义探测器几何(具有有限接受范围的探测器)指定探测器的物质(有用的/没用的各种材料)指定物理过程与粒子(什么东西在探测器中干了什么)产生原始事例(模拟重复实验n次)数据收集和分析(取出探测器可以获得的信息并处理分析)除了最后的分析,其它部分都可以由Geant4负责处理2020/4/25•其应用领域主要包括:高能物理、核物理、加速器物理以及医学和空间科学的研究等。什么是Geant4?•简单地说,Geant4是模拟粒子穿过物质的工具包。提供了探测器模拟的完整工具:几何,探测器响应,运行、事例以及径迹管理、图形显示、用户接口等。提供了极为丰富的可供选择的物理过程详见•参考资料1))NuclearInstrumentsandMethodsinPhysicsResearchA506(2003)250-303,andIEEETransactionsonNuclearScience53No.1(2006)270-278.最新版为9.1版,于2008年2月5日发布2020/4/26Geant4的特点?Geant4发展于Geant3,充分利用了C++语言中的优势,是粒子与核物理实验模拟最好的工具之一。免费下载,更新迅速Geant4是最早成功使用面向对象环境重新设计的粒子与核物理软件包,并应用于新一代实验。考虑了各个方面的需求,包括重离子物理、电荷与宇称破缺物理、宇宙线物理、天体物理、空间科学以及医学应用等。为了满足这些需求,提供了强大的功能和灵活性。Geant4的应用远不止于粒子与核物理。2020/4/27Geant4的基本概念与内核Geant4ReadoutVisualizationPersistencyRunEventInterfacesTrackingDigits+HitsProcessesTrackGeometryParticleGraphic_repsMaterialIntercomsGlobalGeant4包含17大类每一大类都有专门独立的研发工作小组负责。各大类之间的界面(例如顶层的设计)由整体结构工作小组来维护。Geant4的内核处理运行号,事例,迹,步,击中,运动轨迹。提供几何表示和物理过程的架构。2020/4/28Geant4软件包中的内容代码~1百万行语句网上可以自由下载还在不断的增加与更新相关文件说明6份使用工具书网上可以自由下载应用例子与软件包一起附送可以参照工具书自由运行例子程序包含了从简单到较复杂各种模拟程序平台Linux,MacOSX,SUNWindows/XP需要预安装的软件C++编译器如g++,VC++等CLHEP库GNUMake,shell图像与用户界面XWindowsOpenGL或MesaGLDAWN...至少需要其中的一个2020/4/29安装Geant4(概要)1)建议使用SLC3/4操作系统,支持和兼容性好,在SLC上安装非常简单。以下默认在SLC上工作。2)下载安装CLHEP程序包(这是唯一需要预安装的程序)3)下载Geant4软件包以及相应的数据文件(用于各种物理模型),按照安装手册进行编译安装如果系统版本相同(内核版本和g++版本),把已经编译好的程序直接复制到其它机器上即可使用。比如,对SLC3系统,直接复制training服务器/projects/soft/ext/clhep.tgz和g4.tgz到本地机器,解压缩到相应目录即可。2020/4/210设置Geant4环境变量由于Geant4练习过程中有大量图形显示,要求大家在本地机器上进行练习。本地机器Geant4安装在/projects/soft/ext/g4/geant4.9.0.p01/运行Geant4之前需要先设置Geant4的环境变量,即运行:source/projects/soft/ext/g4/geant4.9.0.p01/env.shGeant4环境变量都以G4开头。比如G4INSTALL:安装目录G4SYSTEM:操作系统及c++编译器名称,如Linux-g++G4WORKDIR:工作目录我们设定的工作目录为/projects/$USER/geant4所以大家需要在/projects/$USER目录下建立geant4子目录。以后所有的geant4工作都在G4WORKDIR下进行。2020/4/211Geant4自带很多例子,从新手入门、高级、专家级例子:$G4INSTALL/examples/novice目录为入门级7个例子首先看最简单的例子cd$G4WORKDIRcp-a$G4INSTALL/examples/novice.cdnovice/N01gmake(编译)exampleN01(执行)这是最简单的例子,只是告诉你Geant4如何工作,并且确认你安装的Geant4可以工作。例子中定义了径迹探测器和三明治式量能器,每个事例发射一个虚拟粒子geantino(没有真实的物理作用)。后面我们会具体介绍如何定义探测器几何与材料、如何定义入射粒子、如何添加需要的物理过程、如何记录需要的实验数据。例一:NoviceExampleN012020/4/212最基本的主函数(exN01)#includeG4RunManager.hh#includeG4UImanager.hh#includeExN01DetectorConstruction.hh#includeExN01PhysicsList.hh#includeExN01PrimaryGeneratorAction.hhintmain(){//构造默认的运行管理器(强制)G4RunManager*runManager=newG4RunManager;//用探测器以及物理过程初始化运行管理器(强制)G4VUserDetectorConstruction*detector=newExN01DetectorConstruction;runManager-SetUserInitialization(detector);G4VUserPhysicsList*physics=newExN01PhysicsList;runManager-SetUserInitialization(physics);//设置用户行为(强制)G4VUserPrimaryGeneratorAction*gen_action=newExN01PrimaryGeneratorAction;runManager-SetUserAction(gen_action);//.....接下页探测器、物理过程以及用户行为的定义随模拟的问题而变,在相应类中指定。2020/4/213//接上页...//初始化G4内核runManager-Initialize();//获取UI管理器的指针,并设置verbosities。G4UImanager*UI=G4UImanager::GetUIpointer();UI-ApplyCommand(/run/verbose1);UI-ApplyCommand(/event/verbose1);UI-ApplyCommand(/tracking/verbose1);//开始一次运行G4intnumberOfEvent=3;runManager-BeamOn(numberOfEvent);//结束作业//释放内存:用户行为、物理过程以及探测器描述属于运行管理器,//将被运行管理器自动删除,所以不应该在主函数中删除之。//只需要删除运行管理器和其它动态指针即可。deleterunManager;return0;}最基本的主函数(exN01)如果想图形显示探测器以及物理过程的信息,需要在main函数中用到G4VisManager2020/4/214添加如下代码进行图形显示G4VisManager*visManager=newG4VisExecutive;visManager-Initialize();UI-ApplyCommand(/control/executevis.mac);//vis.mac文件中定义了跟图形显示有关的一些命令,比如观看角度、缩放比例等。为了让事例显示在程序运行后仍然驻留,需要开启一个G4界面(G4UIsession)G4UIsession*session=0;session=newG4UIterminal();session-SessionStart();注1:确保已经include了头文件G4VisManager.hh注2:确保已定义了G4VIS_USE环境变量注3:程序结束前,不要忘记删除session和visManager两个动态指针。2020/4/215如何定义探测器几何和材料Geant4模拟首先要考虑的是模拟的物理问题主要包括哪些物理过程以及想采用的探测器构造。例N01的探测器是在ExN01DetectorConstruction类中定义的,该类继承于G4VUserDetectorConstruction。探测器构造主要包括:几何、材料、敏感区域、敏感区域的读出机制,本讲只涉及几何与材料。详见该类的定义以及实现,即ExN01DetectorConstruction.hh(cc)关键:在Construct()函数中构造必要的物质、必要的几何形状,以及如何将基本单元放置(架构)成探测器。还可能包括磁场、敏感区域定义等。2020/4/216如何定义探测器材料(1)物质定义:isotopes-G4Isotopeelements-G4Elementmolecules,compounds,mixtures-G4MaterialG4Material属性包括温度、压强、状态、密度等,定义时有时需要明显指出属性。doubledensity=1.390*g/cm3;//密度doublea=39.95*g/mole;//原子量doublez=18.;//原子序数G4Material*lAr=newG4Material(“liquidArgon”,z,a,dentsity);G4Element*H=newG4Element(name=Hydrogen,symbol=H,z=1.,a);G4Element*O=newG4Element(name=Oxygen,symbol=O,z=8.,a);density=1.000*g/cm3;G4Material*H2O=newG4Material(name=Water,density,ncomponents=2);H2O-AddElement(H,natoms=2);H2O-AddElement(O,natoms=1);//定义水,给定密度、元素种类数目、添加元素注:Geant4中的数据如果有单位都要明显给出单位。比如doublelength=1.0*cm=10.0*mm二者效果是一样的。方便程序中使用合适的单位,而且看代码的时候比较直观。2020/4/217//空气的定义G4Element*N=newG4Element(Nitrogen,N,z=7.,a=14.01*g/mole);G4Element*O=newG4Element(Oxygen,O,z=8.,a=16.00*g

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功